Saturday, December 25, 2010

binder req

1.any process should be able to transfer control and data to any other process in the system
2.device driver is equally visible to all processes in the system
3.a mechanism that can uniquely package data and control from one process to another
4.process A wants to send data and control,it sends ioctl to b-driver,telling which process to send,which function to call,which data to process.
5.b-driver has a mechanism where it can find from the given information the target process where its target entry points are present,it invokes the target process,passes control to the entry point with data.
6.passing control to the entry point-- at initialization in source and target, an ioctl, a thread is kept waiting for a notification or even APC is defined in the process.Once b-driver determines its target it calls the process through returning the ioctl,waking thread,or calling apc with the
entry points control code.it also passes data to the target.

android opencore

1.platform-->MIO-->encoder(-->hwaccelerator)-->controller
-->decoder(-->hwaccelerator)-->MIO-->platform
2.application-->player-->parser-->controller

catergories in sw-hw development

1.pure s/w - cost a pc ~ ~20kR --- ibm
2.firmware - cost a development kit with single DSP~ 20kR to 30kR - TI
3.verilog/systemC - cost a FPGA - 2LkR - Xilinx
4.verilog/systemC - cost a SDR FPGA with multi-DSP - 4LkR - Lyrtech + TI

1.FPGA - an arrangement of various IP cores
product will be one single component
for eg: LTE on fpga,
phy will be from X
i2c/spi from Y
pcie from Z
only NAS to MAC will be developed by current company

sometimes the vendor may give some of the above or it needs to be bought from 3rd party

Tuesday, December 7, 2010

way to align for big projects

1.think of framework,maintanace and module teams
2.framework team can be 3 to 10
3.maintenance can be 3-5
4.module can be around 5
5.all 3 working parallely from day 1
6.Main issues is development branching and merging
7.it can also be that during initial stages people are aligned for framework and later moved into others
8.highest indicators of the resources are interfaces and the number of entry points,independent libraries and overall framework
9.critical design components are innate scheduling and memory ownership
10.a library if having the property of changing , there should be 2 teams following it.core and maintanace,
11.the fundamental principle being even if 1 line of code is chaged per day , if its known what is to be changed, the goal will be achieved
12.the framework team has to be ahead than others all time, first deliverable from them
13.maintanance team goal is to achieve uniformity,symmetry everywhere also to bring up gaps
14.module teams have to follow the framework team close

Monday, December 6, 2010

ofbiz cont.

1.its a web app containing inside multiple apps
2.each is called a component.
3.each component can be accessed independently by different users logging from different locations by an account
4.primary handle to a login session is based on user name and password.
5.a handle will be obtained for the session.
6.this handle typically identifies an entry in static login table in the database.
7.Now there can be different operations like create smthg,delete,modify etc based on the handle
8.a user ui session calls on the component with the handle,the event handler identifies the current
context with the handle.
9.the context will be a row with n coloumns,each coloumn containing separate sql formula (pointers)
10.the entry point of the event will update this context and refresh,after that every successive operation with the context should refresh before using it.
11.this makes the context in nnn(context,request)
12.the event handler can be a separate java lib,scripts etc(binary mapping,inplace loading)
13.prefer scripts over lib
14.how to load two batch files in an application and call a function in one batch file from other in the context of application.
15.event handler ultimately gathers some other contexts into its workspace , manipulates and writes something back to contexts or updates some data base tables, or passes on to next call.

event1:
get context from handle1, and data
do something
get handle for event2 in another module
call event 2 pass handle, and data
get context2
16.some context row can reserve a column for unknown handle
17.when this context is passed to another module it can access the unknown modules handle which is a depenent db

sw desig and devel

1.sw desig and devel are entirely different things
2.A sw design that can be explained within a day or two will need atleast 6 months development with novices to implement
3.Most effective design is one where after design none of the developers need to communicate with each other.Absolute reduction of h2h interactions.
4.Still if the design does not understand leaves even single gap in requirement analysis the development can fail
3.development has many weak points because of multi human interfaces, code typing with io devices.logic error correction h2h,integration h2h,testing h2h/h2sw,debugging h2sw etc
4.a good design will have a solid framework
5.a good framework is reusable and extensible
6.It gives a clear demarcation at directory-file level,binary module level,absract module level(interface,context,token,framework,drv1,drv2,lib1 etc),class etc.

not related: ssl encrypts tcpip payload

ofbiz

on a webserv there can be multiple portal,offbiz is an web application that contains other applications.since offbiz binds to port its portal.

simple pluggable ftl to display a dialog on web page
simple beanshell script to make and transfer a we between two wq
simple groovy script to print the contents of wq's

ftl and bsh example
http://www.opensourcestrategies.com/ofbiz/hello_world2.php

General working of offbiz
when starting it looks for file X
if it finds, parses file X
file X contains many paths
It checks for the UI component path
In the UI component path it looks for file A
It loads A and executes
It checks for business logic part
It checks for data base part

Basic idea is, most functionalities are prescribed in configuration files and implemented in std
libraries.A user can reuse the configuration files and hence the libraries to get most of the
work done.If extensions are required, framework allows to add more configuration files and
associate it with libraries and thus to achieve more functions

Http requests are captured by http server,converted to system events,mapped by (remote ip,incoming url,session).
webserver forwards to it client(index page).Any events on the index page is forwarded to handler java libraries.
This can be chained.A webserver has a url parser,a directory serach logic and html transfer logic.After the
html transfer the event handler java classes get loaded.http requests come for events with data,its routed to
a process/thread having the incoming session id.when it reaches the thread it already contains the loaded java
lib hence delegates the call to handler.
or each time a http request comes ws spawn thread loads libs and calls a handler with context.May be ws will
store only store the context mapped to session id,threads are not kept alive.

look and feel of offbiz freemarker, screen widgets and form widgets can be changed by using style sheets

offbiz used work flow engine shark before but now does it using EDA/SOA/SOAP/SECA/EECA
offbiz can export a components functions directly over web.This feature is used
to test,measure,debug.A special service needs to be created.It uses axis2.refer to
http://www.mail-archive.com/user@ofbiz.apache.org/msg16286.html.

In offbiz lang loading seed data means filling the data base with worable data.
adding new names,orders,accounts etc.complex database tables are created based
on the seed data.

ftl,screen widg,form widg
-------------------------------
| |
entity engine<==============service engine (BL)
| |
bsh script bsh script
--------------------------
groovy
db interface

The service engine will use the entity engines functions to do the business logic


ftl,screen widg,form widg
---------------------------------------------
| |q1 |q2 |q3 |q4
entity engine<==============service engine (BL)
| |
bsh script bsh script
--------------------------
groovy
db interface


|frm1 |frm2 |frm3 |frm4

|null |wq2 |wq3 |wq4

|dbt1 |dbt2 |dbt3 |dbt4

seed data will be single category dbt.More coloumns will be added in seed if and
only if has atomic relation between prim key.

there are dynamic dbts and static dbts.seed data always is static
wq comprises dynamic dbt.its size can vary from 0 to N.

at data model,relational dbt's will come into picture.items will be picked from
seed dbt's and grouped here.


For a SOAP example,ExampleServices.xml

Offbiz services tutorial
http://www.packtpub.com/article/ofbiz-services-apache
Offbiz tut
http://www.hotwaxmedia.com/ofbiz-tutorials.html
Buy Apache offbiz cook book
http://docs.google.com/viewer?a=v&q=cache:sqMDVClJIW8J:docs.huihoo.com/apache/ofbiz/The-Hitchhiker-Guide-to-OFBiz.pdf+download+offbiz.pdf&hl=en&gl=in&pid=bl&srcid=ADGEESjrpP2nZyqmuFanSz_GEvUF52XIZyiG4wSVqXY0-mcQugEsUdX5qPHBIiBXxaJgMBZSGFP0tWQHRCEXJ3A2fpQfS6UOGqokVgVfwmYOaToUg2uYTCoOqzznmJ1_bbnZIU2cOtgB&sig=AHIEtbTnzDMl3Fuc4BGj-s60qyVyg--G4Q
Buy Apache offbiz development beginners tutorial
Offbiz architecture view
http://webcache.googleusercontent.com/search?q=cache:YuejplShHfIJ:docs.huihoo.com/apache/ofbiz/OFBiz-An-Insider-View.pdf+ofbiz+widgets,database&cd=21&hl=en&ct=clnk&gl=in&client=firefox-a

wondering what erp involves

main players
1.hr
2.procurement
3.production
4.finance
5.inventry
6.scm
7.asset

A cycle is the activities happening from the time a customer order enters into erp system and its
closed

it goes through lot of token forwarding and feedback between the modules of course and maintaing data and states.

parts of sw puzzle

1.ability to create replicas
2.loadable modules
3.single module multi interface and contexts
4.discontinuous control flow
5.notion of data movement, src:dst local and remote. local uses virtual addresses direct by reference, remote by value

Sunday, December 5, 2010

brain vs pc

1.trying to replace one string in a c file
2.this replacement may have an impact on dependent calls
3.for simplest effort its better to replace this string all together in the single file and then check the dependencies
4.if tried to make one change and then trace dependency, at dept of atleast 2 mostly chances are there to forget the start unless its recorded outside

approaches to learn

1.begines by picking data thrown at you
2.many people thinks this is the only way ahead
3.next it can be sought by going looking for it
4.methods may involve throwing correlated data back and checking feedback
5.preparing mental model of the same is required if a self ,incremental,progressive learning is desirable
6.every thrown data should be plugged into the model
7.if all the pieces start to make sense together , conclude to be the right track

Friday, December 3, 2010

collective progress

1.every medium of entertainment is a mix of talent and business
2.what is talent, its a blend of technique accrued over a time by minisicule advances and desire to push oneself
3.what is popularity, a mixture of timing(luck), right associations(politics), talent (as above) and again desire to push oneself
4.popularity is also a result of layman's inability to understand the reason behind it, the ingredients of success
5.Once someone understands it , the perception changes.Rather than considering the popularity as just blind admiration , it becomes a respect for someone who figured out or got the right mixture.
6.so can talents be cultivated yes because if something can happen once it can happen twice also
7.for this to happen knowledge of the process should sink deep into the community, rather than viewing everything in awe, people should look at themselves and the process and prepare a timebased plan.
8.what is failure, it is the reason of not understanding the process completely.hence when that understanding is made things will be on track
9.if still progress cannot be made, the environment is also a factor.
10.a high talent in a particular field at the time of recession will do no good
11.the best way to progress is to follow a path of collective progress
12.discussing,helping without hidden agenda but with open agenda can create positive vibes
13.Knowledge that everything that has evolved big has a smaller version to it
14.try to figure out how to setup this smaller version and then make a steady incremental progress
15.focuss doesnt mean 24x7 working on the thing,but the will to work on it consistantly
16.its 100% true that in sw, if 1 person can do a job in 10 days, 10 equally knowledgeble guys can make it happen in one day,proper planning and assesment needed
17.practically, people who takes risks can only realise their dreams(risk mostly means money)
18.people who can motivate can only realise their dreams(motivation means money)
19.people who can clearly show their vision to others can realise their dreams
20.if this process can rise standard of living for a community(every type of member) it will be acceptable
21.faltering can happen if living situations doesnt improve over a period of time and comparisons come into picture
if two persons put varying amount of money in getting the same goal high probability in getting by high spender to goal first, may not be sustainable

windows security

1.Any process(hence thread) running in windows is under a "logon session","user account" or
"group account"
2.lets talk about a client application and a server service in windows
the above applies to client
3.for server service, when this service application is written, the programmer can specify
security details of all obects it creates and accesses.for he can associate a security info with a directory he creates and another he acceses.before accessing a directory he can also impersonate before the access
4.the service application will have a data structure called DACL,SACL in which he stores the information of all objects
5.client also have access to SID that represent accounts
6.while doing remote access, first a logon session is established, this inturn will give client attributes to each access done by that session.

Wednesday, December 1, 2010

oop and binary modules - 1

1. use case - a class implemented in static library
use case - a class implemented in shared library


2. when a eclient uses this , it will first instantiate the class directly, or derive a class
from the above and then instantiate, or it will derive a class and store it in static/dyn lib

3. there is a module boundry between static and dynamic library

4. internal symbol infos are stored per module.c++ name mangling is global per string.same compiler
will give same mangle for the same string across

5. when a class is stored in static or dyn, its mangled symbol info is stored in a stub inside the module

6.when a client uses this class, step one is loading the binary into its space, second resolving names.A memory block is created for the object, then it needs to patch up the function references
in the memory object.for that it consults the stub and fills its load addresses into function table.it means object memory can be global among the loaded address space.though the main class
and subclass implementations belong to different modules, the global unique object of base class
and subclass will contain references to method addresses in differnt modules.

it also implies that the data is stored in global store.global means the process space.

if RTTI is enabled it can identify any objects type in process space.

client(binary) uses class 1

class1(static) class2 der class1(dyn) class3(dyn)

here when client instantiates class1, it has to load class 2 module and its methods will
be resolved auto.the class1 obect will have its base class method in static lib and
derived class methods in dll

when access to virtual method of class 1 is done it will call into either staic module or dll

class 1 gives a uniform interface to methods behind it.client doesnt know whether the implementation is in staic or dynamic lib.

if at the time of instantiation, class 1 could specify from where the dll is loaded then
clients main code becomes decoupled from the static and dynamic

so it becomes
class A-1 classA-2 ..... (binaries)
=================================================
client object selection (selects based on string) (different binaries)
client main logic(will not change ever)


4.if base class is a binary dyn,derived is also binary dyn can it happen
yes if the client loads the base class and derived class into its space before using them
at lazy binding.the created object will resolve to dyn1 for base class and dyn2 for derived class

5.At compilation time there can be a problem, there will not be base class addresses available when compiling derived binaries.how will compiler provide support for this

same applies to client, at compile time client doesnt have symbol access to base and derived

6.a game app can be viewed as

module layers ... all dlls are present in this layer,they may be base classes or derived classes
base and derived can be in separate dlls

client layer interface - a layer that loads members of module layer

client logic - a layer that makes use of base type object to do all the complicated work,here
its assumed that all the classes in thae module layer is somehow derived from base type obect

module layers are separate binaries,client lay intf can be separate binaries,client logic can be separate binaries

7.what if 2 dlls contain same function same prototype ,both expost this function.a client loads the dll and tries to import the function.will compiler give warning or its runtime

oop and binary modules

1.how can interfaces be registered with the operating system
a binary module implements the generic interface,and adds its basic info into registry/config file

system wide parser reads the registry/config file and locates the binary and calls the exported
interface.based on the response its loaded.once its loaded other interfaces can be registered from it



2.can 2 binaries , upper and lower extend dynamically
ie suppose lower is not loaded we get the functionality of only upper,once lower is loaded
it shadows the functionality in upper

requirement, the upper should have exported functions,an object of lower should have exported functions that a third entity can access

a third entity should control the master interface of upper and lower,it needs to keep track of where upper is loaded and where lower is loaded

the third entity should be able to access v table of lower that it can write to
3.the system has 2 dlls that implement addition in 2 different ways
the 2 dlls have same interface
whenever a client instantiates a type of that interface,what we need is that
the objects method pointers should be mapped to dll1 or dll2

4.http://stackoverflow.com/questions/1114115/undefined-symbol-error-for-base-class-in-c-shared-library

5.good pluging tutorial http://willperone.net/Code/codedll.php

Tuesday, November 30, 2010

work sketches

1.a diagramatic representation of activities for next 1 hr with goal
the diagram should have each component numbered
2.placeholder programming,abstract progra..
when the idea is not concrete building a framework
it would involve functions and statics and visitors
a use case is when rearranging an existing code anticipating changes to incorporate
in next version.the existing code is supposed to fit in the current framework

3.refactoring code may be crude,rigid
issues, if layered code then
will have to shift one function from one layer to anoter,this means moving all dependendent functions in other layer.
this will break layer opaqueness, lower layer becomes visible in upper.

mostly happens when loop nuller(progressers) one is in top layer antother is in bottom

4.another way for a quick solution to above problem is ,
reduntant state and data structures, it will mirror the state in either layers and hence
can be used explicitly in a layer

sometimes to get a quick work around, we may have to shift processing of 1 layer to another
this would involve movement of 1 .c file and only implementing guest layer functions in it

Monday, November 29, 2010

insight:

1.adaptive hardware
with powerful web os's, it should be possible to create wearable ose's.
ie at command the working os should upload to web and download to device.
the os has to be sleek,rootfs independent of kernel
powerful boot time http support
overlay http task between boot and normal running.
call it amoeba
the hardware has to act like a mobo at one time , and as a modem,disk,display at other

2.solar robots
flying solar accessor
according to suns movement this bot is supposed to turn or fly
it should carry an adapter with it to store charges
if packet power is present same technology can be used to provide it as a accesspoint with maximum efficiency

3.

kernel module

1. local dir> on ubuntu make -C kdir M=$(pwd) ... works
local dir> on ubuntu make -C kdir M=$(pwd) modules puts in standard directory
...M=$(shell pwd) .. doesnt work
---M=$(PWD) ... may work
all the above in makefile
kdir is separate

Sunday, November 28, 2010

measured development

1.caliberation of the process
2.perday objectives,finer split
3.requirements perday
4.functional block,bit block views

windows vista ndis 6 driver and mobile stack

1.use preexisting phy code
2.need kernel module .. non pnp
3.need a nic ndis 6 driver
4.can export any function from driver/module using
__declspec(dllexport),__declspec(dllimport)
5.for importing function the .lib of exporting module
should be statically linked
6.kernel dll is different from above,
it gets loaded in the context of first call of a driver,
check when its driverentry is called to test

star type data processing

1.atleast 3 threads contribute
2.one thread atomic write only
3.one thread check continuity
check single condition
update states
process
4.one thread
check continuity
check single
update
process
goto continuity

global continuity
check single
process
update
check another
...

5.using split names in c code
using atleast 15-20 char name would give a pleasent
look to code
But, remember every time that variable is used
u need to type 15 chars

Saturday, November 27, 2010

c functions

1.parameter validatio
2.entry level state validattion
3.incoming outgoing traces
4.passing last states and updations to global debug access
5.aggressive benign checks
6.use of macros,inlines
7.use check and process pardigm.split check and processing blocks.effictive use of while

android media fw

1.use pvlogger to get a complete trace to start

Friday, November 26, 2010

incremental development

1.2 stages
a. functional block
b. bit block

functional block involves
prototype,code modifications,dependency changes,additions,deletions together

--->mostly compilable and runnable

bit block
just prototype ...etc

--->just compilable

Wednesday, November 24, 2010

android audio flinger

1.http://kzjblog.appspot.com/2010/03/6/Android-Audio-System-%281%29.html
2.copybit is a hw 2d hal,libhgl is hw 3d hal???

Tuesday, November 23, 2010

android pmem and ashmem

1.pmem -- allocation code in kernel but used at usermode
ensures that memory is returned as
PAGE_SIZE,offset,len ... PAGE_SIZE,0,len, PAGE_SIZE,0,len
2.ashmem
named memory block that is shared between processes and kernel is allowed to free. ker is not allowed to free standard shared memory.
http://cs736-android.pbworks.com/w/page/5834465/ASHMEM

surfaceflinger has a total of 8mb heap,it shares this heap with all processes for their surfaces.
when a process requests space,it allocates from this heap,but returns a pointer to the allocated chunk.once process is out of focus pointer is nulled
This is not for surface data ...but for surface control.control contains pointer to 2 data buffers

Each layer has a corresponding surface
layerbuffer doesnt have one
each surface has 2 buffers
these 2 can be from ashmem or pmem

a canvas can be over layer
a canvas can be associated with multile bitmaps

it seems that surfaceflinger allocater uses pmem and/or normal-memory.some activities use pmem heap and some use normal heap.surface flinger passes this buffer down in two different ioctls to fb driver.

pattern matching algos and artificial brain

1.efficient pattern matching algos will lead to artificial intel
2.pattern matching leads to precise quantization info and making of tokens
3.so obtained tokens can be compared with token database
4.from a set of tokens, it can create context database dynamically
5.transactions involves tokens,contexts and outputs
6.a processing loop can generate permutation of transactions
7.outputs can be labeled desirable,deffered,expel
9.based on the above states,transactions can be chained

An implementation
a game involving transaction doers and decision makers.Within a set of token database and set of
rules for desired,deferred,expel states.

android top down

1.activity ---- in process 1
2.windowserver ---- in process 2
4.mediaserver --- in process 4
5.surfaceflinger -- in process 5
6.audioflinger ---in process 6
7.rild -- in process 7

Monday, November 22, 2010

android pvplayer mp4 3gp stack

/system/bin/xxx.so
AndroidAudioOutput::,AndroidSurfaceOutput::
1.Java
======
java ------ MediaPlayer.java
jni ------ libmedia_jni.so(wrapper)
native ------ libmedia.so
native ------ libui.so
native ------ libhardware.so

2.Player engine
===============
libpvplayer.so,libopencoreplayer.so

3.mediaserver
native -- libmediaplayerservice.so
/system/bin/(frameworks/base/media/mediaserver/)

4.framework
stagefright,opencore,gstreamer

3.Parser Node
==============
libpv.so ---- parse source

Video
#################

4.Decoder Node
===============

directory ---- external/opencore/codecs_v2/omx/omx_mycodec
test app ---- external/opencore/codecs_v2/omx/omx_testapp
omx_nnn.so
omx_mmm.cfg
ti decoder -- libOMX_Core.so
info hw codec --- codecsv2/omx/omx_common/src/pv_omxmastercore.cpp

5.MIO node
===========
AndroidVideoOutput::
OSCL_xxx
libopencorehw.so

6.Surfaceflinger
================
libsurfaceflinger.so

7.video client
==============
libagl.so

Audio
###############

8.Decoder Node
===============
libvorbisdec.so
9.MIO node
===========
AndroidAudioOutput::
OSCL_xxx

10.Audioflinger
================
libaudioflinger.so

11.audio client
==============
libpv.so/libaudio.so implements hardware interface AudioHardwareInterface
AudioHardwareInterface base class is in Audioflinger
"AUDIO_SERVICE"



Accelerated Video Codec
Accelerated Video Hardware
Combined Acceleration codec+video
#################################
coming

opencore
node-if node-if node-if
omx-if mio-if

Atom + Nvidea Ion Myth

any doubt on libagl and libhgl see directfb documents
directfb uses ioctls to distinuish hw or sw rendering

android framework components

1.OMX components are decoders and others
2.MIO components are source/sink and others

A module can have multiple interfaces.A graph node is a module.It can have control interface.
At init time based on the queries on the control interface the other interfaces are linked.
Interfaces even exchange pool allocaters.for eg a pool can be created at MIO layer,its fd passes to
OMX layer and its used at this layer for allocations

physical memory can be allocated at MIO and passes to frame source to fill in.

3.node --- parser
node --- codec ----- OMX
node --- sink/source --- MIO
each node will have cfg files

4.currently pvcore expects
MIO IN --> OMX encoder --> PV recorder
PV player ---> OMX decoder --> MIO out
common MIO out is libopencorehw.so it talks to sf

5.on 3530 how arm commn with dsp
using dsp-bridge
special compiler used to gen binaries one for dsp one for arm
put them under directories where each will be picked by dsp or arm

general display

1.linux
x client
xserver
usermode lib
kernel driver

2.framebuffer hardware
its a complete hardware,takes block of memory and converts to pixels

framebuffer layers
opengl feeds instructions to gpu layer
gpu layer combines this with overlay devices like cursor,camera preview
gpu layer
videomemory layer
it fills the back buffer ,front buffer
display layer
dumps the picture

3.if some gl operations cannot be done by hw then it should fallback using sw .

4.an activity can give a set of gl commands and output memory block,gpu will render into this
memory and ,cpu will copy this memory to video ram for display

an activity can give set of gl commands and mapped vram memory to gpu,gpu will render into this and it will be directly displayed

software rendering can happen in 1 way,where it does all gpu operation and renders into
mapped vram.lot of temporary buffers required.lot of computations as well.

conclusion /dev/fb0 can be both accelerated and non accelerated device.

/dev/fb0 software renderer
/dev/devmem device is needed for hardware rendering

this abstracts device memory and this memory is mapped to user space directly
/dev/fb0 has an additional interface for hardware rendering. it can be disabled or enabled.

frame memory is mapped to activity whether it is hw/sw rendering.in hw rendering enclosing operations are done in hw,otherwirse in sw

Sunday, November 21, 2010

home network

main hall
==========
1.a/v receiver
2.lcd tv
3.dvd player
4.pc
5.netgear wg ap client mode
6.cable tv tuner
7.cable tv splitter/booster
8.optional dv camcoder
9.optional usb cam
10.optional vcr
11.optional network drive
12.ir tx/receiver
14.wireless keyboard/mouse
15.high VA apc ups
16.optional gaming consoles
17.optional wii
18.optional wifi drones
19.optional gps receivers
20.optional pstn sip converters
21.fax/printer

connection
==========
pc's hdmi,dvd hdmi connected to hdmi in1,in2 of a/v receiver
pc ethernet port connected to router
cable tv tuner/booster connected to pc
ir connected to pc
ups connected to a/v receiver

room1
=====
1.netgear dg router
2.broadband modem
3.pc
4.lcd
5.optional dv camcoder
6.optional usb cam
7.optional vcr
8.optional network drive
9.ir tx/receiver
10.wireless keyboard/mouse

connection
==========
pc hdmi out connected to lcd
bb modem connected to dg
pc connected to dg wireless
dg connected to wg wireless

android 3d accel

1./dev/pmem_gpu0
2./dev/hw3d
3./dev/hw3dc
4./dev/graphics/fb0

google tv in short

mythtv plugin to a webbrowser
box needs a cable tv and broadband input
the browser should be able to search on cable and on broadband
the cable should respond to http queries
browser should have to display web and cable content
in the context of tv,web operations should be possible
It falls back to software copybit which is slow as hell, because each line of an image must be copied by the CPU (with memcpy), not even talking about software scaling. That's why copybit and 2D hardware are so important.

android flingers

1.learning has a wavy pattern
upper crest starts with abstraction
lower crest is concrete

upper(starts with some names)---lower(processes,dlls)--upper(associations)----lower(interface functions)---upper(categories,channels)----lower(context,binary modules)

mediaserver-->omx-->codec

omx buffer is sent with input buffer and offset,and returns output buffer

audio
======
af-->libaudio.so
af-->libaudio.so (alsa)

video
=====
uses EGL as interface
sf-->libhgl.so
sf-->libagl.so

codec
=====
uses OMX as interface
mediaserver-->omxnnn.so

pixelflinger/libhgl for an activity makes all defined surfaces and passes to sf
sf layers and composes them and renders using fb0

libhgl has inputs and outputs,inputs are surface data and surfaces
output is composed buffer
if this output buffer memory can be fed to fb0 the its efficient
but if it cannot be then a memcpy is required before pushing to fb0

eglbuffertypes
native
pushbuffer
fb0

All these are parallel
cpu
gpu multiple layer composer
display renderer hw
codec hw

an activity indirectly calls the eglswapbuffer,this will send data to gpu to compose,till its
completed activity waits,then the composed buffer is given to fb0

copybit.so can export any /dev/nnn,it has to define interface copybit.h,its used for 2d blit

android code assumes gpu/display to be same hw device /dev/graphics/fb0, different ioctls for operations

maybe before writing to gpu,clipping and other operations are done on figures ,a
nd later one by is rendered

android surface flinger

1.libhgl.so and libagl.so are loaded into sf.
2.every activity can have one or more surfaces
3.these surfaces may be of different types
4.some of these surfaces will use hw accel some are software
5.before pushing to fb0 surfaces will be composited

6.a combination of libEGL.so and libGLESv2.so will route gl calls to libhgl or libagl.

7.can an activity have hw surface and sw surface parallelly.can these two surfaces be composited together into fb0.
8.maybe both libhgl and libagl will be loaded parallelly and activity will decide if its using libagl or libhgl.
libagl and libhgl calls have one to one correspondence,so partial use of libagl and libhgl is not possible.

8.hardware codec support can be given in android by 2 ways.within a framework or outside
1.within framework --- get the working codec driver in openmax,modify it
take a template code from framework node,change it to work like above
this will work with standard android player.openmax can be adapted to fit into android framework
2.implement a player,within the player code interface with sf and af
if gstreamer already has the codec integrated,use it with a new player engine.

9.in a accelerated codec scenario application pushes a frame desciptor to driver to hardware,descriptor has source buff addr and destination buff addr.on decoding the frame the
frame is pushed to destination buffer.from here application takes it and send to fb0.

10.video acceleration === hardware codec
display acceleration === hadware gl(compositing)
audio accel ===
audio mixing === hadware level

Saturday, November 20, 2010

android media framework 2

1.media abstraction

stock linux
============
process
v4l
gstreamer alsa

android
=======
activity
mediaserver
surfaceflinger audioflinger

1.An activity makes an association with surfaceflinger and audioflinger(manifested as an object or handle)
2.An activity knows what datasource to use
3.An activity passes this information to media server
4.mediaserver checks the datasource to determine which engine to use(checks extension .mp4 etc)
each engine is a dll
5.mediaserver passes the sf,af context to engine
6.engine gets the frames from the datasource
7.engine uses the sf and af context to post the frames to corresponding objects
8.sf takes care of underlying hardware
9.af takes care of underlying hardware
10.activity knows whether sf will use hw rendering or sw rendering??? it can also be that activity does not know and sf will try available renderers in a chained manner
11.similar to af
12.sf will have additional dll's for hw driver or software driver
13.af will have additonal dll for sw driver or hw driver
14.where does codecs come into picture??? when taking frames from the datasource,mediaserver will
send this to codec engines(dlls) to get a converted buffer.this buffer is ultimately passed to sf,af.
15.again the codecs will be decided based on hw or sw.also there will be a chain of codecs and
a fallback mechanism
16.every hw codec device will expose an interface to mediaserver (/dev/dsp1 etc)

17.whenever there is an interface in java, ...think of the instances it will represent.for MediaPlayer interface ... represents mp4,3gp,vorbis,midi instances.

18.so activity passes the triplet to mediaplayer instance.Each mediaplayer instance is also
registered with mediaserver.And each instance is declared in dll.

19.mediaserver for each actity can have 5 prongs
player prong
aud codec prong .... this can be multiple
vid codec prong ..... this can be multiple
sf prong ... single
af prong ... single


20.in context of activity sf can have 3 prongs
sw renderer
3d render
2d rendere
hw renderer
2d renderer
3d render
overlay renderer

In addition globally an overlay activity can work within the activity context
overlay renderer will punch through the activity surface to render

different renderer dlls register with sf at boot time or dynamically.
sf maintains a lookup table to see which dll to use for current activity context.
activity passes some parameter to sf to tell sf which renderer to use.
it may be a fallback mechanism also.

an activity will render into the display controllers buffer which is global.
overlay component will have direct access to this controller buffer,so it can render into this
irrespective of activity requirements.

this overlay component will have link to sf and external component.sf gives window info,external gives data

22.sf talks with sw renderer dll,(which directly writes to /dev/graphics/fb0)
opengl renderer dll(which talks to hw card supporting opengl maybe ../dev/graphics/hwaccel0)
so sf first calls opengl hw for manipulating buffers
it gets the modified buffer in return which it sends to fb
or first opengl hw, again open glhw ..which internally writes to fb0

23.a view can have multiple surfaces,each surface can have single glcontext,g1 and emulator doesnt
allow more than one glcontext per view.

fb0 is a surface.


24.an activity does its draw on a surface.this surface might be an abstraction for a hw.like an
accelerator.Once this is over it is handed over to surface flinger which will then write this
buffer to screen.before actually rendering to screen sf has join the menu,status bar etc and then write to hardware.content is copied twice before rendering.


25.android has composing api's and rendering api's
rendering is common for activity,movie playback etc

26.android uses gpu through libGLES_android.so
currently generic gui uses 2d rendering using skia.
generic gui doesnt use opengl.
Only explicit activities use opengl and hence gpus.

Friday, November 19, 2010

whats happening in graphics world

1.ATI vs NVIDIA
2.h264,hardware codec
3.http://labs.divx.com/DivX-H264-Decoder-DXVA

Note:
All OS's provide a graphics framework
A thirdparty provider can add their codec support in the framework
A thirdparty provider can add their hardware support in the framework

oem A can add their card with hardware codec-B support
oem B can add support for converting their proprietery format-C to codec-B again using the framework

similarly for A1,A2...
codec-B1,codec-B2 etc

frameworkB component and frameworkA component (frameworkB can be dll,frameworkA maybe .sys)

there will be a general OS framework(opencore),then for video and sound there can be other separate frameworks (video v4l,audio alsa)

opencore,gstreamer are os framework

Thursday, November 18, 2010

wireless bridge repeat

1.bridge -- routers comm with each other over wifi,no clients can connect,use ethernet ports to transfer data from one AP to next
2.repeater --- aps can connect among themselves and connect from a laptop with client

1.wg 602 - g -- 1 lan
2.wn 802 - N --
3.wpn 802 -- g --

ADSL pci card ubuntu
1.conexant adsl pci modem
pppoe

voice modem ubuntu asterisk
2.Digium x100p
Linksys SPA3102
D500

setup voip phone to pstn switch
1.http://asteriskathome.sourceforge.net/handbook/#Section_3.2

using vlc,darwin to stream to mobile

1.http://lists.apple.com/archives/streaming-server-users/2005/Jul/msg00097.html
2.http://wiki.videolan.org/Documentation:Streaming_HowTo/Streaming_a_live_video_feed_to_Darwin_Streaming_Server_for_Mobile_Phones

firewire as a v4l device

1.https://bbs.archlinux.org/viewtopic.php?id=43204

big picture
1.vloopback is a converter for firewire type to v4l type device,install it
2.install firewire device
3.vloopback detects it
4.v4l detects it
5.firewire is used like a v4l node by any v4l application

1.vlc is an interface
2.v4l is the engine used by vlc

linux v4l big picture

backend
1.v4l server is a in/out switch,dashboard
2.every capture device is a node on v4l, /dev/video0,/dev/dsp2
3.video is that nodes video details struct referred by symbolic name (details of type,channel table ,freq )
4.inputs ---- links a video details to capture device

frontend
1.input device --- stream encoding
2.output device ---- encoding audio/video

firewire streaming from dvcam

1.http://rdfintrospector2.blogspot.com/2009/04/firewire-vlc-streaming.html

ubuntu firewire panasonic pvgs29

1.modprobe ohci1394
modprobe raw1394
chmod 777 /dev/raw1394
testlibraw
-->should show 1 node with cam not connected/switched off
-->will show 2 nodes with cam connected/on

remove other cards on pci slot
try all firewire ports one by one

2.
chmod 777 /etc/modules; echo "raw1394" >> /etc/modules; echo "dv1394" >> /etc/modules; echo "video1394" >> /etc/modules; chmod 644 /etc/modules;

3.
gedit /lib/udev/rules.d/50-udev-defa­ult.rules

in the #firewire section add the following line at the end:
KERNEL=="raw1394", GROUP="video"

4.
usermod -G video -a YourNameGoesHere;

5.
Then Reboot and your camcorder should be recognised by kdenlive or Kino and ready for capture

6.
apt-get install libiec61883-dev
apt-get install libavc1394-dev

aplay -L

apt-get install mplay

Tuesday, November 16, 2010

using android media framework

1.use java application and opencore
2.render mp4 with h264 and mp3 on sf and af using software accelerators
3.do the same using hw accelerators
4.test it using an incoming mp4 stream over network
5.where is the a and v demuxing happening
6.how many components are there in the pipeline
7.which component redirects the stream to sf and af
8.how are the controls interfaced with the pipeline

model
there is a loop,
it processes command packets first
then the data packets
data is both audio and video ...one after other
so a complete cycle .. process command,process video,process audio

android media framework 1

1.mfw has a graph
2.graph has nodes
3.nodes are source or sink they are encoder,decoder,parser,modifier
4.source or sink are software or hardware
5.frame comes from source and goes into sink
6.frames are put into command queue of each node
7.each hw/sw node has upper edge OMX interface
8.a node is a .so
9.init is done using .cfg files
10. .so contains cfg i/f, omx wrapper,
11. every .so contains player engine, player driver invoke this engine

12.fw searches ./system/etc/01_Vendor_ti_omx.cfg for hw codec
not found uses SW codecs from PVOMX components (picked up by ./system/etc/pvplayer.cfg)
You can disable Hardware acceleration by editing this file: platform/vendor/ti/zoom2/BoardConfig.mk
take a look at the supported OMX roles (tComponentName): platform/hardware/ti/omx/system/src/openmax_il/omx_core/src/OMX_core.c

13.hardware codec === hardware accelerators
14.they are different from display accelerators

android media framework

1.
level 1 -- MIO source/sink
level 0 -- OMX source/sink (decoder)
level -1(sink) -- surfaceflinger,audioflinger
level -1(source) -- raw hw,encoded stream,decoded stream,hw
2.MIO is like switch box
3.playback is determined by global clock and stream packet timestamps,at any momemt the timestamp
has to be in sync with relative clock value

Monday, November 15, 2010

gstreamer and android

1.get some version of android
2.get the gstreamer port
3.integrate
4.connect to android using adb
5.start gst-launch on adb
6.the video will appear on the android screen on the emulator

Desired checkpoints in android media framework
1.from source store stream into file
2.from file send stream into sink
3.list available sinks
4.list property of source stream
5.list relation between software sink and hardware sink and its properties

basics of audio and video

1.useful apps
mplayer
mencoder
aplay
arecord
amixer
2.stack
mythtv
alsa v4l
oss capture cards(/dev/video)
capture cards(/dev/dsp)
capture cards(/dev/master,/dev/mixer)

3.hardware cards encode raw stream and give back encoded format packet(mp4)
4.hardware has adc,dsp
5.a mixer is associated with a single audio card



6.the codec softwares are stored in specific folders in linux,all standard players will look
for them in these folders.It has both hardware and software codecs.

7.capture cards has analog inputs as wav,digital out as mp3,analog out as ac3, digital in as h264 etc

8.all hadware codec capture cards,will defenitely expose one interface through which raw packets can be obtained.

9.a capture card takes raw packet,encodes it and stores temporarily in pc,this is taken and later transcoded and played in player or given over network and routed back to capture card

10./dev/pcmxxx is mixer for individual card,/dev/master is root mixer of alsa made from different /dev/pcmxxx



11.multimedia ---- files, containers, data
files .... /abc.mp4
container ..... mp4
data ....... video rtjpeg/mpeg4,audio mp3

12.
xvid/divx
h264

practical devices

Develpment board ----- Arduino Mega 2560 ------------- price ~50$
uart camera module ----- µCAM529-TTL ------------- price ~4500Rs
uart gprs module --------- SIm300 Module ---------- price ~3000Rs
uart gps module --------- EM-408 GPS module -------- price ~4000Rs

hawk board ----~80$
moxa usb-4uart ---250$
and others

mythtv

1.has 3 software components
mythtv-setup
mythtvbackend
mythtvfrontend

mythtv-setup is run first
input tv tuner card
scan channels
input audio input device -- dsp
then mythfilldatabase

mythtvbackend is run next

in another system mythfrontend is run
in setup recording profile --->check video and audio codec

add a separate video card with S video out and connect to tv

Thursday, November 11, 2010

microcotrl,microprocess,multi-cpu,dsp boards and breadboards

1.http://opencircuits.com/Demo_board
2.http://electronics.stackexchange.com/questions/5658/searching-for-atmel-arm-mcu-in-a-breadboard-setup-like-arduino-nano-but-obvio
3.http://www.embeddedrelated.com/usenet/embedded/show/115403-1.php
4.http://www.fpga4fun.com/
5.http://www.signalware.com/dsp/index.php
6.http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/p/70468/255817.aspx
7.http://www.futurlec.com/SMD_Adapters.shtml
8.http://www.twinind.com/catalog_detail.php?id=163
9.http://sm-breadboard.eu/
10.http://8515.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=88345&view=next
11.http://thedailyreviewer.com/hardware/view/minipci-breadboard-fpga-111146072
12.http://www.electronics-related.com/usenet/design/show/142861-1.php
13.http://www.edaboard.com/thread19226.html

Sunday, November 7, 2010

solar kit : wireless

1.TIs solar radio combo
http://focus.ti.com/docs/toolsw/folders/print/ez430-rf2500-seh.html
2.a private zigbee based solar
http://chezphil.org/slugbee/

engineering ladder

1.should know the options available to achieve a goal
2.should know important parameters of the options
3.should decide what parameters are for needed for goal
4.make a choice from the options
5.make execution plan
6.validate the plan in intervals
7.bound it by time
4.decide on cost,availability,skill,time etc

Friday, November 5, 2010

bow arrow model of softw development

1.visualize the software as a reverse pyramid
2.the tip of the pyramid is assumed to be a target, that arrows originating from different layers
of the pyrm is supposed to hit
3.the layer near to the target is supposed to hit first
4.At the start of the development few arrows are left from the bow,after a lag all the other layers start leaving the arrows,the arrows travel down the layers and wait for its window to hit the target
5.hitting the target symbolizes module completion and delivery
6.this happens wave after wave in an iterative fashion till the entire delivery is completed
7. planning if arrows in the nearlayer is delayed and upper layer overtakes it,also window ordering is also important

method

1.choose a tech
2.frame what its supposed to do
3.create a thin air model of the tech
4.collect facts,correlate facts with fundemental rules of the tech
5.create more complex ones

india civic and business todo

1.apartment docs
2.scope of documents and its usefulness max
3.recurring charges on apartments
4.ownership patterns

1.employees,managing body,link with government,link to law,start time assets,asset accumulation,balance sheet,shares,capital raising,funding,take over,ipo

day to day expenses
revenue
taxes

1.http://www.propertysamachar.com/2010/06/18/documents-to-see-before-buying-an-apartment-in-bangalore/
2.
payment
loan + others
calculate the emi u can afford
adjust the loan availed such that bank gives u a loan so that emi matches
rest put from hand

with the developer
may have to pay the lawyer for checking
may have to pay the bank for processing
first stage pay the advance
next stage transfer the cheque from bank to developer
first stage receipt is got from developer
second stage the photo copy of sale deed is with u and the original is taken by bank and cheque
goes with developer(three way atomic??)
always check the web for review about the builder

parking
khata
oc

hard water deposits

1.http://www.mouthshut.com/review/Choosing-a-Dishwasher-rurtllqtlm-1.html
2.http://answers.yahoo.com/question/index?qid=20070922110349AA34JYz
3.deposits on tiles,plastics,fixtures,glass,stainless steel
lime,limescale(calcium,magnesium),mineral deposits
4.http://www.ehow.com/how_4867824_seal-bathroom-tile.html
5.http://www.slideshare.net/sambrown12/how-to-keep-your-kitchen-and-bathroom-stainfree
6.http://www.realsimple.com/home-organizing/cleaning/bathroom/cleaning-bathroom-accessories-00000000001159/index.html
7.http://www.realsimple.com/home-organizing/cleaning/conquer-household-odors-10000001067776/page10.html

8.replace nails with adhesives
http://trade.indiamart.com/details.mp?offer=1195664991
http://solutions.3mindia.co.in/wps/portal/3M/en_IN/3MAdhesivesTapes/Home/Product_Information/Where_to_Buy/

9.3m adhesive to hang whiteboard
http://hubpages.com/hub/Removable-Wall-Hook-Uses-Creative-Ways-To-Use-Removable-Wall-Hooks
http://www.command.com/wps/portal/3M/en_US/NACommand/Command/Products/Product-Catalog/
http://www.reallygoodstuff.com/product/20+magnet+hook.do?sortby=ourPicks&from=Search

voltage converters for countries

1.black and decker driver of US voltage 110v has to be run on indian voltage of 220v
http://www.starkelectronic.com/st500.htm
ST-750 Max,Power 750 watts,~120V * 5.2A

2.India brands : http://www.maxineindia.com/tran_stepdown.htm

3.india uses 50hz cycle , and US uses 60 hz

4.Maxine 1500w ~4k

5.some options
http://www.hifivision.com/what-should-i-buy/8264-suggest-220-110v-step-down-converter.html

fundemental possibilities

1.maybe in optic digital science
1.color A and B represents 1 and 0
2.color C and D represents control(start frame and stop frame)

2.Maybe relative motions can generate electricity,magnets placed under arms and legs

3.passing small amounts of electricity in a magnetic field and circular motion can somehow be
used to generate an airlift for micro devices .... if the power for this can be reduced to the
level of solar power then , it can create revolutionary surveillance devices

4.micro oscillators that can tune to existing cellular frequencies and generate feedback surplus potential to run chips can begin the era of packet power technology.It will add new dimension to cellular communication.

May be inter stellar radio energy can be used to generate infinite power source

5.plants grown at home should be able to generate tiny levels of power,which should be able to
generate potential for driving chips.Is there any plant that protects itself by giving shock to
its predators

======
1.approach for research at home :
1.small economical measurement and research kits : tools for measurement eg: magnetic parameters
electrical,mechanical,radio etc
2.internet : to read,propose,publish,feedback
3.infrastructure : power sources,pc

Thursday, November 4, 2010

future : software defined radios

1.The lone runner in the space ---- lyrtech
2.
http://focus.ti.com/docs/solution/folders/print/357.html?DCMP=dsp_software&HQS=Other+IL+sdr#Product%20Bulletin%20and%20White%20Papers
http://www.lyrtech.com/Products/SFF_SDR_evaluation_module.php
http://www.lyrtech.com/Products/SFF_SDR_development_platforms.php
http://video.google.com/videoplay?docid=5846031950696380489# -- gsm demo

3.This contains
1.basic module ---- fpga(code) + dsp
2.Advanced DAC ---- fpga(code) + DAC
3.RF module

4.Basic module is priced at 2500$
with others it is at 10000$

5.current support in Mhz range
they will come up with support for:
WIMAX --- 0.9 to 2 ghz
LTE --- 3 to 4 ghz (both read as placeholders)

6.Currently there is support for only systemC to write fpga code. No luck to layman c coders the syntax is different ...... things will change dramatically if KR c could be used write fpga
the price of fpga will come down from lac's to some thousands .... and probably affordable to many

Is it so difficult to create a bridge between C and systemC, I would like to implement my second brain hw using it

7.a collection of projects
http://f4dan.free.fr/sdr_eng.html
upto date gnu radio hardware -- http://www.docstoc.com/docs/25417716/GNU-RADIO-INTRODUCTION

8.price of gnu radio,daughter board -http://old.nabble.com/USRP2-Price-td19399125.html

9.fundemental sdr research --http://docs.google.com/viewer?a=v&q=cache:UBrs-UOGzRIJ:www.eecis.udel.edu/~manicka/Research/NaveenManicka_Thesis.pdf+gnuradio,phy&hl=en&gl=in&pid=bl&srcid=ADGEEShth_IWy-VkDFjpy5RotB2anNbB8UOqDoCMpCEDvkQM0cmCtIb0wjYCpbDHL39BZE6i1BUJB8z8-EghqAew6Rj5giA2l-kz49RDr0_0UbET3_BIxKZf-LhlHgm28RkJ46vJuP62&sig=AHIEtbT4_8tuPT8_ofbNcqQMHawrPSK-9g

Sunday, October 31, 2010

Using offbiz

1.start with -- http://www.opensourcestrategies.com/ofbiz/tutorials.php -- hello1
2./home/ranjith/Desktop/OFBiz-An-Insider-View.pdf --- Illustrative
3.http://www.mail-archive.com/user@ofbiz.apache.org/msg16444.html -- revealing

Saturday, October 30, 2010

item-pipeline

1.ebay-netgear router
2.ebay-motherboard
3.ebay-ups
4.ebay-power conditioner APC AV C10 50$
http://www.tigerdirect.ca/applications/SearchTools/item-details.asp?EdpNo=5039285&CatId=4715
Apc 800va ups
http://www.thisoldhouse.com/toh/article/0,,218003,00.html
http://www.dbstalk.com/archive/index.php/t-93991.html -- apc for av receiver and tv

5.ebay-bluetooth headset for mobile -- motorola 1k
6.hp mini 110 ---- 22k --netbook
7.How much VA do i need
http://www.jetcafe.org/npc/doc/ups-faq.html#0402
8.speakers
http://forum.teamxbox.com/archive/index.php/archive/t-547011.html
9.typical home power
http://reviews.cnet.com/green-tech/tv-power-efficiency/
http://michaelbluejay.com/electricity/howmuch.html ---- watt calculator
10.coaxial splitters to watch tv in different rooms
11,Tivo satallite recorder
12.iptv transeiver --- rf to ip ... ip to rf,rca,svideo
13.netgear usb wifi dongle -- 2k
14.remote extender -- converts ir to radio so that can use remote from different room
15.using coax cabling to network tv
http://www.digital501.com/2006022138/how-to-extend-your-tivo-or-other-device-throughout-your-house/

Friday, October 29, 2010

eclipse short cut,commands

1.http://dmy999.com/article/29/using-eclipse-efficiently
2.http://sandarenu.blogspot.com/2008/02/using-bookmarks-in-eclipse.html
3.
ctrl+pgup/pgdown toggle open files
alt+d,alt+s --bookmark

=============
1.find . -name \*.ko -print0 | xargs -0 rm

A/V receiver mania

1.Package
Onkyo TX-NR808 7.2 receiver
+Boston Acoustics SoundWare XS 5.1 speakers
+netgear client/server wireless router
using netgear as a wireless repeater --- http://kb.netgear.com/app/answers/detail/a_id/77
OR WPN802 rangemax

memory barriers: more

1.there is a control logic outside pipeline of all the cpus that determines which instruction and
data blocks go where

2.sequence of instructions on one cpu does not follow any ordering(weakest ordering)
even if there are barrier commands ,the same cpu will still see random ordering
but some possibilities will be restricted in special sequences

3.The barrier in a sequence of instructions in a cpu will make sense with a complementary barrier in
another cpu.

4.best way to picture barrier operations is:
imagine,
one cpu
a sequence of instructions
imagine a output pipeline that contains the result of the above sequence
pipeline is a queue,and the front of the queue will be committed to memory first

we can see that the pipeline can contain a permutation of the sequence of instructions

also when analysing the pipeline remember that the sequence in the pipeline is as seen by another cpu

ie at any execution point in the cpu2(its pipeline) any element in cpu1 pipeline can be assumed to be the current point.

1.smart-fetch strategy dma cache
http://www.usenix.org/event/nsdi09/tech/full_papers/tan/tan_html/index.html

Understanding memory barriers

http://www.mjmwired.net/kernel/Documentation/memory-barriers.txt

1.fix the model
for single cpu
cpu-->data cache-->multiple instr cache--->controller--->memory
cpu-->multiple data cache-->multiple instr cache--->controller--->memory

2.
cpu1 cpu2
stmt 1;
stmt 2;
O[ ]
I[ ]
stmt 3;
stmt 4;

the analysis of memory barriers use will be based on
values of variables at "O" and "I"

At beginning of analysis,assume ctrl is at stmt4
then evaluate values of ALL variables at "O" and "I"
combine with stmt4 or stmt5 the above results

A barrier may come between stmt1 and stmt2 also stmt3 and stmt4
combine above analysis in the context of barriers

Thursday, October 28, 2010

Maybe FL studio first

http://www.youtube.com/watch?v=JGttxDgo6jc&feature=related
1.wish list: power jack in car
M studio : min keys midi controller
midi out to car speakers
2.http://www.youtube.com/watch?v=CHL95HSXHbE&feature=fvw

fpga and verilog

1.language for hardware --- http://iverilog.wikia.com/wiki/Simulation
2.operating system ----- http://www.drdobbs.com/blog/archives/2010/06/inexpensive_fpg.html;jsessionid=HHOOB0RLEB2XLQE1GHOSKH4ATMY32JVN
3.future is using systemC for synthesis of phy
4.http://www.edaboard.com/thread68357.html --- basic level wimax phy/mac

5.Before implementing a radio phy
decide using
matlab + dsp + pcb radio
systemC + fpga + pcb radio
verilog + fpga + pcb radio

6.TASK is to find minimal requirement to test
3rd party lte phy against -------------- one item in 5
7.C and MATLAB are languages



8.
systemC
| |
| synthesis-----mentorgraphics
|
-------simulation----modelsim
9.one APPROACH

download wimax phy code from hack site
its in systemC
use the above conversion model

10.TI tranceiver
http://docs.google.com/viewer?a=v&q=cache:kS_vtFHnmXoJ:focus.ti.com/general/docs/lit/getliterature.tsp%3FliteratureNumber%3Dslwu045%26fileType%3Dpdf+TI+dsp+kit+for+wimax+testing&hl=en&gl=in&pid=bl&srcid=ADGEESi3KhqXSbtILjhIRHJf6mn8I0jDyPRHOIuSIPSoIdjpXLJeBlb32MAy7bQF_jyfGaHDyxYsK7LGhxtPOjaUIupoVQ6W-VQ4ePIJhGLrvR_Uq_TTDpqFsaznpOszKccfk7GhmGbp&sig=AHIEtbR9No5uMxON8fylSqynDhJOqibhJw

arm cache and memory barrier

1.The main issue
compiler by default orders the instructions
optimizations may further reorder them
once the instructions get loaded into L1/L2 cache,then its rearranged by the core before
feeding into the cpu...here is where barrier comes into picture

A C code line should be converted to assembly,before we can decide whether we need to
use some kind of barrier or not

1.http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka14041.html
2.Memory barrier detailed
http://www.mjmwired.net/kernel/Documentation/memory-barriers.txt

MESI,MSI

MSI - modified,shared,invalid state of cache protocol

Cache Invalidation and Flushing
The VIRTUAL address is the argument for invalidation and flushing

wbinvd ---- writes cache back to memory and marks it empty
invd ---- just marks the cache as invalid without writing to ram

Excellent optimization tip
http://www.agner.org/optimize/

dma cache coherency

1.while a cpu has updated a buffer and about to give control and dma is about to start to device,
another cpu may update the same variable ... dma stales
2.after device dma's buffer, one cpu writes a variable to same buffer and another cpu reads it ...again its stale


1.cache invalidation and cache flushing are complementaries
2.Assume a copy of variable is read into cache
cpu modifies the cache value
but the ram value is old
if at this time device reads the variable(dma writes to device)
device sees incorrect value

3.Again a variable is reflected in cache
device updates the value in ram of variable
but cpu reads the stale value from cache

http://msdn.microsoft.com/en-us/library/ff545924(VS.85).aspx

===========================
1.above dma coherence simple scenario
2.cache line dma coherence scenario

scenario 2 explained
device writes to ram for a variable x
vaiable shares a cache line with another variable y
cpu modifies the variable y and flushes y
stale value of x is also flushed
it overwrites x in ram
later wrong value of x is read into cache and by cpu

another one
system is about to write x to device
another thread cpu modifies x
system will write old value

Wednesday, October 27, 2010

dma and intr

1.dma needs specially reserved ram block(real physical pages)
2.dma needs virtual physical pages ie a block of physical addresses that is not mapped to ram
3.cpu write-->cache-->dma phy addr-->hardware
4.dma read-->dma phy addr-->cache-->cpu read
5.if cache line is shared by dma buffer and cpu buffer
copy dma part to phy buffer
cpu write new data to dma part
cpu invalidates cpu buffer
dma part data is over written in phy buffer
phy buffer is dma'ed

hw dma reads to phy buffer
cpu writes to cpu buffer
invalidation writes stale dma part to phy buffer,data overwritten
cpu reads the dma phy buffer ,finds old value


================

1.irq save , saves the current cpus all interrupt flags(or current drivers interrupt?) and
disables "this or all" interrupt on current cpu, also takes the spinlock raw variable
1.1 other cpu gets this interrupt, but spins on the spinlock hence, interrupt waits

2.if the same was done using semaphore, interrupts are not disabled , function takes the semaphore,
an interrupt comes on the same cpu,calls the same function,reaccquires the semaphore and deadlock,because previous invokation has to run on the same cpu

3.from timer irq save is not required since local cpu interrupt is disabled

4.

multithreads

1.
thread1:
add to list
increment

thread2
add to list
increment

if the requirement is thread muxing ie 2 threads --> 1 thread processing
best implementation is
lock
add to list
if( increment ) {
release
}
else {
release
}
otherwise at cpu register level there should be an atomic xchange like cmd

any two register values modified complete state cannot be determined using single register

on the processing side ,with the above construct one variable can determine state
since incr and addlist is done atomic

========================
main process and deinit

deinit:
set flag
check if process increment flag is 0 else loop
proceed

process:
if flag do nothing
else carry on

project execution

1.Need 5 or more teams with min 2 resources
2.sliding window method of project execution
ie at any point of time in the project execution phase 1 of the 5 teams will be in focus
the subsideries will do codebuild up or unilevel testing
the window will rotate over the teams
and a release will be reached

======================
1.successful project
1.1 team skill set
1.2 number of human resources
1.3 number of non-human resources
1.4 task breakup and distribution
1.5 tracking progress

Tuesday, October 26, 2010

project doc

1.In oof create a collection of tables,frames and sections
2.Each table will represent a group of methods
3.a frame can contain diagrams
4.a section can contain diagrams and text
5.pre-development,development,post-development
6.during development, color filling should be used to show the progress
7.predevelopment links should point to relevent info
8.Every element in the document starts at root element
9.for eg: a document can have 2 root elements one for directory structure,one for binary layout
one for abstract component layout,one for abstract subcomponent layout,one for object enumeration,
one for method enumeration,one for sequence diagrams
10.A sequence diagram can be built inside a frame or section

oof usage
===================
1.>insert -- to add tables,frames , sections
2.>autoformat -- select a table,save the tables current settings under name,use the same later
3.>table,frame,section border -- select all lines
4.>press for new row
5.>select heading type
6.>select styles and formatting
7.>to create hyperlinks within same doc, upper is blank,middle select component,select destination
and save
8.oof work on .odt and save in .doc or .html

Monday, October 25, 2010

Sunday, October 24, 2010

software devel

1.structural design
a.directories
b.files
c.makefiles , binary modules
d.header file organization
e.export functions organization
f.inter module communication

2.white space filling
a.engineers filling c and header files with raw logic
b.usage of tools like git,svn/svk, eclipse

3.code smoothening
a.experienced engineers refactoring,reorganizing,rewriting the source code
b.usage of tools like gnu indent,uncrustify

Thursday, October 21, 2010

programming style

1.http://en.wikipedia.org/wiki/Programming_style
2.indent software

Wednesday, October 20, 2010

vlan intro

1.http://archive.networknewz.com/networknewz-10-20030725IntroductiontoVLANs.html

Tuesday, October 19, 2010

patch and hunks

1.http://www.markusbe.com/2009/11/how-to-apply-a-patch-and-solve-hunk-failed-cant-find-file-to-patch-and-others/

app engine -- application

1.A gui planner app
2.drag interface with hourly and days,months unit
3.like openproj
4.can allot time scale over http interface
5.timer that will intimate using email,mobile
6.upcoming possibilities prediction in a context
7 can add rule set to interface to make prediction in context

google app engine --next

1.Http goes into nic hardware
2.App engine works on http applications
3.single door to all services ...through a google account
4.A device is something that has a gui,sound,and http connectivity
5.All services video,voice,sip,audio,editors,compilers,svn will be accessible through google

Monday, October 18, 2010

extensible concept

1.a simple concept -- involves 3 to 4 concrete tokens
2.It defines a two or 3 actions with an outcome
3.Many domains can converge onto this domain using simple bridge,converters

protocol ..local remote

1.An event occurence at remote site ... reflected by arrival of a packet at local machine can cause
2.reaction:
1.Some memory allocated in the local machine protocol layers to be freed/or new allocated
2.Some variable values will be modified
3.Packets coming from the upper layer is discarded , queued or it is morphed and forwarded
4.Packets are routed in a different channel other than normal
5.states are changed(some variables are changed)

app engine -- structure

1.Frame object
Looper object
Container object
Instruction object
Param object
Param object

Setup Frame
Looper.Start(Frame)
Get Container
Get Instruction
Get Param
Get Param
do_work with them
Generate Container
Gen Instr
Gen param
Gen param
Make Frame
PushFrame
Make Frame 1
Push Frame 1
Looper.Stop

Looper.start(Frame)
-----

Ideally in do_work function if there is a next layer call and new buffer...its candidate for frame

2.A change
if do_work has to call multiple layer routines within the same context then both the calls should
be encapsulated in the frame and taken out in FIFO

Flexibility
The container object can be of different types ....inherited
similarly I,P,P also

In case of protocol ,Container closely resembles layer in protocol,I layer entry point, P,P buffers

3.If multiple threads are accessing this engine ..then each thread will have a context in which the frame will be stotred and each context will have a looper or one looper for all

Sunday, October 17, 2010

ARM Dma and Cache Coherency

1.http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0228a/index.html
2.http://peeterjoot.wordpress.com/2009/11/29/an-attempt-to-illustrate-differences-between-memory-ordering-and-atomic-access/

xor flash and nand flash

1.in place execution
2.multiple read write
3.uboot,redboot
4.basic file operations

ecos compile

1.http://ecos.sourceware.org/docs-1.3.1/guides/user-guides.10.html
2.ecos synthetic targets
http://www.kelvinsthunderstorm.com/ecos-synthetic-target-with-ethernet/
http://www.ecoscentric.com/ecospro/doc.cgi/html/ref/synth.html

ipsec + l2tp tunnel setup linux

1.http://www.natecarlson.com/2006/07/10/configuring-an-ipsec-tunnel-with-openswan-and-l2tpd/

sound card + speakers

Creative extigy for my laptop

Ive been looking at these speakers:
Cambridge SoundWorks® MegaWorks® THX® 5.1 550
Creative® Inspire™ P580

NAT,DMZ,PAT,Portforwarding,Machine to Machine

1.https://supportforums.cisco.com/message/3190440
2.
Router has:
inner bound || DMZ || outer bound
NAT SPAM NAT

1.DMZ input is a local ip
2.NAT is a wrapper around DMZ
3.NAT has a ART table
4.if there is only single public ip,in the ART public ip,port local ip,port will be the entry
5.NAT is inbound initiated by default,it acts similar to a firewall since only the applications
that seeks a connection will have entry in the ART

6.static nat,port forwarding are similar
7.nat can be interface,ip,port based
8.NAT from inner to outer,portforward,dmz,static nat outer to inner

9.Subnets
1.all nodes behind a single gw assigned ip addresses in different subnets is of less use
arp will resolve the mac and that will direct the packets
2.if the nodes are on two sides of the gw it will be more useful
the gw will have routing information about two subnets and packets will trascend the gw
3.

10.Use ip tables to setup DMZ and NAT entries

11.Illustrated nat setup
http://doc.m0n0.ch/handbook/examples.html

12.typical nat rule
Original Packet:
==============
Source: DMZ Network (or object for DMZ server)
Destination: Internal Network (usually a group object containing all your internal subnets)
Service: Any

Translated Packet:
=================
Source: Original
Destination: Original
Service: Original

12.Features
In current router,dmz is single ip based,any malware with access on dmz ip can access other pc on lan

Next advanced is router with wan ,wifi,lan + optional interface.This optional i/f can be configured for a dmz subnet.That subnet can be prevented from accessing lan subnet

13.wherever iptables command is accessible in firmware..advanced configurations can be tested

14.For VPN on Router the server acts like a gw with dhcp and different subnet/same subnet
the configuration can be software switch with one port bridged to hardware switch ... ??

Saturday, October 16, 2010

webdav on linux windows

1.http://andres.jaimes.net/setting-up-a-webdav-server/
2.use webdav to rsync
http://forums.dropbox.com/topic.php?id=8957

apache virtual host

1.single machine -- running multiple web server simulation
follow
http://www.debuntu.org/2006/02/22/7-virtual-hosting-using-apache-2

2.directory access
http://www.cyberciti.biz/faq/apache-restrict-access-based-on-ip-address-to-selected-directories/
http://httpd.apache.org/docs/1.3/howto/auth.html#basic

git and ssh

1.initialize the git in git user login home ... link ssh public key with git home
2.it will create .gitosis.conf
3.next to clone gitosis-admin

Server
=====
install gitosis and git

Configuration
=============
create a user called git
give appropriate permissions to critical files
ensure .ssh folder

git unlike ssh uses gitosis-init to append public key(id_rsa.pub) to authorized_keys file(please remove the previous conflicting entries if any)

Client
======
use git clone to get the init files

follow http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html

At any point to reset
rm -r gitosis,repositories,.gitosis.conf

Creating a new repo
====================
in the gitosis-admin folder cloned initialially on the client there is the file gitosis.conf
Add entries for the new repo in it,note that the writable should have "folder(project)" name
Add group can be arbitrary
add this to remote using commit

follow the link
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

on any client use git clone git@localhost:test.git

ssh and localhost

server
/etc/init.d/ssh restart
/etc/ssh/sshd_conf
PermitRootLogin no

#RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

UsePAM no
AllowUsers git

Directory
=========
using adduser ..created user git
using sudo -u git -i ..logged in on the client as git

Permissions
===========
chown -R git:git /home/git/.ssh
chmod 700 /home/git/.ssh
chmod 700 /home/git/.ssh/id_rsa
chmod 700 /home/git/.ssh/id_rsa.pub
chmod 700 /home/git/.ssh/authorized_keys === id_rsa.pub

Debug
=====
/usr/sbin/sshd -d -p 54321
ssh -p 54321 -v git@localhost

Client
======
/etc/ssh/ssh_conf

creating and deleting user accnt

1.adduser ....user --interactive
2.userdel user
3.su -s -u user
4.useradd -- non interactive
5.passwd user
6./etc/adduser.conf
7.deluser user
8.difference of system and non system user

9.useful ssh
http://kimmo.suominen.com/docs/ssh/

10.a client server setup
11.need to start a ssh session with the server,as a user on the server
12.the user account needs private and public key
13.the client gets the public key and is used with the server
14.article
http://www.symantec.com/connect/articles/ssh-host-key-protection
15.ssh-add can be used to add keys to frequently used secure sessions
16.ssh-agent

17.ssh has a client d and server daemon
/etc/init.d/ssh restart

18.ssh checklist
http://ubuntuforums.org/showthread.php?t=231451
19.ssh test
http://sial.org/howto/openssh/publickey-auth/
20.#ChallengeResponseAuthentication no -- modification in /etc/ssh/sshd_conf
AllowUsers gitosis,git
21.whoami .....login commands
22.basics of shell
http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/profile.html

23.sudo -u git -i .... resets the $HOME etc

24.sudo useful
http://www.freesoftwaremagazine.com/articles/command_line_intro

25.Each user needs to be at /etc/sudoers file..use visudo ...use passwd to change password

26.standalone testing openssh
/usr/sbin/sshd -d -p 54321
ssh -p 54321 localhost
http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch12_01.htm

sshd configuration

1.http://www.faqs.org/docs/securing/chap15sec122.html

Friday, October 15, 2010

app engines and data encryption

1.only instructions to the app engines should be sent without encryption
2.All data should go encrypted to the remote engine
3.there should be two domains like time and frequency
4.on the remote machine data manipulation should be in encryption domain and once it reaches back
it should be converted to decrypted domain

storage and database

1.A system device or switch that involves a database, that can absorb the drive contents on a click and lay it out on drive on click ..can be useful
2.there is already drive raw image creation tools available

tunnels

1.tunnels are possible over
http,https,ssh,ssl,vpn,sip,rtsp,ftp,git,svn etc

using webdav for local and remote plug

1.a drive or directory can be plugged to apache using webdav
2.this drive or directory can be accessed either over internet or lan by plugging on to webdav
3.this helps in moving the integrated development environment and wiki and even test setup live over
web or local instantly
4.sites on the apache are like plugs, one side can be interfaced with a filesystem etc and the other for client access

public/private key ssh-keygen and md5 sum

1.by default the file is named id_rsa,id_rsa.pub and is in /root/.ssh //home/.ssh/
2.md5 is used to check identity of binary files
3.using ssh
http://inside.mines.edu/~gmurray/HowTo/sshNotes.html

git server on ubuntu

1.http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html

usb ext drive,failure in ubuntu due power failure

1.on windows machine
run scandisk.exe from cmdline with /f --verbose
2.run diskdefrag.exe /f --verbose from cmdline

openoffice pdf--html public link

1.open openoffice document
2.add diagrams
3.preview as web documents
4.ensure to group all diagrams before preview
5.save locall to /var/www/site
6.give links in wiki
7.the above method is for custom server
8.it can be done using scribd links,googledoc links,skydrive links

using svk and trac

1.tool used for distributed development
2.powerful with diff,patch,kompare
3.svk steps
create a symbolic directory structure of remote svn to local its called mirror
checkout a project from mirror to a local folder its called workcopy
do modification on workcopy
push to mirror
push from mirror
reference links
===============
http://code.google.com/p/google-gadgets-for-linux/wiki/SVKQuickStart
http://lists.bestpractical.com/pipermail/svk-users/2008-August/000315.html
4.setup anatomy query commands
svk info
svk list
5.svk installation asks for perl:time module...needs to get it from web
https://bugs.launchpad.net/ubuntu/+source/svk/+bug/317487

6.created svkdepot folder --mirror/local
7.at same level created svkwork folder --local checkout

6.using trac
http://trac.edgewall.org/wiki/TracUbuntuMultipleProjects

7.created svnrepo folder
8.at same level created trac-env folder
//apache.conf
========================================

DAV svn
SVNPath /home/ranjith/work/svnrepo
AuthType Basic
AuthName "svnrepo"
AuthUserFile /etc/subversion/passwd

Require valid-user




SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/ranjith/work/trac-env
PythonOption TracUriRoot /trac



AuthType Basic
AuthName "Trac"
AuthUserFile /etc/subversion/passwd
Require valid-user

============================================

8.TracEnv and TracEnvParentDir are used for single and MultipleProjects

9.Add gitplugin and doxygen plugin

10.Integrate wiki and scribd and google doc

Wednesday, September 29, 2010

firefox,file:///

1.in the profiles folder(find out by using error console) create user.js
2.add required entries in it (file link not opening -kw)
3.clear the cache and all
4.open a new instance
5.check prefs.js if the entries are copied from user.js
6.execute

Tuesday, September 28, 2010

trac setup

1.install all the required modules ...python,perl,apache2
2.create trac environment using trac-admin into a local folder
3.note if trac is setup for single project or multiple projects(TracEnv,TracEnvParentDir)
4.add entries to /etc/apache2/apache2.conf ......
5.add auth entries also to it
6.test it using tracd
7.test on localhost http

Monday, September 27, 2010

development tools

svn --- git (repos)

http --- trac (frontend)
trac-svn --- trac-git (plugin)

svn,git-svn ---- git (client)

svk (scm,distributed development tool)

Saturday, September 25, 2010

oxygen and fruity loop

0.check in ebay
1.get oxygen 49 with usb connectivity at 189
2.get fruity loop at 200
3.hookup to receiver
4.hookup to pc with xp
5.play
6.onkyo receivers
http://www.us.onkyo.com/model.cfm?m=TX-NR708&class=Receiver&p=i
http://hometheatergears.com/onkyo/onkyo-tx-nr708-review/
india-us electronics
http://shopping.indiatimes.20north.com/product/?mid=1&pid=B0029HHIDY
7.on ebay - oxygen49 - 109.99$ - 26sep
8.on ebay - onkyo - nr708 - $614.99 - 26sep
9.tested tv - Samsung 67" DLP 1080p
10.issue with av receiver and cable tv, cable tv implements HDCP ..many av receivers do not
implement them
11.cable settop box some versions have DVI out some have HDMI out
12.DTB and HDDTB are differeent STB types
13.expect this in india soon .. DTB
http://www.dslreports.com/forum/remark,15078096
14.feet meter conversion
http://www.conversion-metric.org/length_conversion/feet_to_meter_conversion.php
15.speaker cables
zone 1 - 2 speakers
16.in the apartment maximum cable length required is
120*15 cms = 18meters = 59feet
17.speakers 5.1
SKS HT330 - onkyo
18.onkyo review - what the heck is outboard signal amplifier
http://www.digitaltrends.com/receivers-separates-amps-reviews/onkyo-ht-rc180-review/
19.receiver setup
http://www.audioholics.com/tweaks/connecting-your-system/receiver-setup-and-connections

Thursday, September 2, 2010

git svn trac

1.most repos are svn client/server
2.git is repo type ,it adds more features
3.git-svn is a git wrapper over svn client,the server is still svn server
4.trac is a utility that builds features over the svn source base
5.trac git-plugin build features over the trac server

setup
http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt

using git client
http://markmcb.com/2008/10/18/3-reasons-to-switch-to-git-from-subversion/

Wednesday, September 1, 2010

barrier ... cont

1.we have statements

stmt1;
stmt2;
------marker
'mystmt'
stmt3;

here the programmer is of the assumption that by the time control reaches marker
the 2 statements are finished completely and stmt3 would be a new sequence of commands
we can safely put since our assumptions are right here
But we are seeing the code from a code space angle
the code internally is generated by compiler , that is not bound by any strict criteria
for optimization it can reorganize codes in different ways
ie some of the side effects of stmt1 and 2 would be executed after stmt3
this can create serious problem when critical mystmts are executed with assumptions

memory barriers cont

1.linux kernel
http://www.mjmwired.net/kernel/Documentation/memory-barriers.txt
2.memory barrier good article
http://docs.google.com/viewer?a=v&q=cache:S9JEE_dIcGAJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.152.5245%26rep%3Drep1%26type%3Dpdf+memory+barriers&hl=en&pid=bl&srcid=ADGEESh5AL6JDRzYXbpein1NW-r5Uvq7ADoDeBi_kHvvcq64wzhwIhwAbBQCWfkUPz_XcxyD_isWsjCeeRjoqpDcYIpNIdYYMVai0Dc3W3Pj-38yUX9O7I1fkDdQFJ2G9Dwjiv9Wzzz2&sig=AHIEtbSZkOLsDotrYKqhAIgWi2DF9un-zg

Tuesday, August 31, 2010

effective tool usage for development

Company
Server:
svn+git+trac+doxygen+bugzilla+apache+(html to pdf and vice versa)

client
svn+git,doxygen,web browser

2.self initializing system and self replicating system
a system can itself send to remote and execute a program,the remote should have a thread,stack

Tuesday, August 24, 2010

eng cont.

1.in addition to con/dec,network .... cloning is a scalable entity
2.mass as trasmit packet, transport system revolution
3.unison of bio and hightech industry
4.mass relocation with clone property , army ,replacement
5.initially law will allow only non-living objects
6.older tranports become legacy
7.mass as packet ...makes existing tech as legacy ...petrol is relocated
8.energy as packet will happen first than mass
9.unified wisdom ....p-s global network is more realistic than other two above
main idea being , wisdom account per person, queries sent to it and result from it obtained
using mobiles
can it create stories
can it create plots
can it create sub-plots

1.user should give feedbacks to the account, day to day basis
2.system on each feedback iterates till balance
3.on queries it gives back the possibilities

cloning can sometimes used as means of info transfer
eg ..the bit state travelling across adjescent blocks and the final one showing the same state

eng

1.3 components
a.vm c++
b.bain loop
c.token-context bucket
1.objects,states,actions(behaviours)
2.input bkt,env bkt,output bkt
3.any of them can be pure object,state,action or combo
4.starts with input ...works through env bkt and ends in out bkt

2.p-s can contain direct tokens or indirect
lock-c, lock-s, door-frame, door
components can have inherited property A on B ...B is A
3.if energy can be packet with mass
4.conv-decon for mass-wave, then efficient transfer as per requirement

1.converter-deconverter,2 to n networking ...scope

Sunday, August 22, 2010

eng

1.a technology that can measure the relative distance between two objects (radar ... in small range)
not indirect .. like from signals of cellphones etc
2.a technology that can recognize an object beyond visual range
not indirect
3.a technology that can recognize a particular object in a moving video
4.a technology that can recognize a sound as belonging to object
5.a technology that can count objects in front
6.a technology that can hijack a nearby connectivity to send emergency, that can detect nearby usable connectivity
7.realtime connectivity ... packet connectivity

1.that can calculate the number of words typed remotely(non indirect)
3.that can replicate a 3 d structure (not indirect)
4.a tecnology that can calculate the exact amount of water,oxygen required for a period of next 1 hr
5.a technology that can measure the infection organisms threashold
6.a technology that can create energy packets .. that can be networked
7.1 to n conversion of any technology
8.a technology that can heal tissue rupture within hours
9.a technology that can calculate and tell if a person is at balance or what is his balance threashold
10.

eng

1.by default control eng is running
2.incoming info is stored in xml format
3.during branch jumps,backlink is maintained, function call simulation
4.during a build cycle the xml info is used to build the target engine
5.existing operating system libraries are used to build this new structure


1.need to define the xml as a summerised problem and solution
2.that will allow to use this information in other scenarios
3.or the machine itself will be able to use this information in other contexts

1.an example representation of the problem,solution is by using sets
eg:a set representing communication domain consisting of 2 component sets sender,receiver
they exchange tokens

2.In a system there will be multiple ,p-s contexts ... it should be link these p-s contexts to
create new p-s contexts, purely by machine

eng

1.default has bain looper with stack and control transport
2.default looper has link to xml token representation
3.the looper can create a system by reading the representation of xml
4.similar to this n number of other xml contexts can be interpreted by the looper
5.the xml contains statics,events,types,states tokens
6.the xml context is again represented in set tokens
7.this notation will help different contexts to work combined way

Saturday, August 21, 2010

eng

1.accounts on a common server,each account having a persistant thread
2.feedback through mail,special xml template
3.account to account communication
4.account to user communication, xml template

1.personal reminders,account settlements,threshold intimations,collaboration updates,database filling,xml based query and transfer

2.step 1 to 5 for goal
step 2 has 3 routes,step 3 has 2 routes
take right step at every instance to reach the goal
borrow information from another account - need to know when information is required and
how to ask for it and where from to ask
make a hypothesis, run it check the result and modify it
once the information is obtained , run it match the intermediate goals
ultimate and intermediate goals

storage,retrieval,verification all expressible by xml template

all action takes place in current context, can have link to other contexts
intermediate goals can pull in other contexts as well

need a sample where one previous state,hypothesis,current context , intermediate goal all
are expressed in xml

focus

1.push button focus is rare
2.natural way is by the process of elimination
3.thinking and retrying about subject or subjects,circling around it,then falling in place

Friday, August 20, 2010

work split

1. 100 for 80 - 20 rule
2. work unit,time unit
3. measure 100 in work and time unit
4. measure 20 in work and time unit
5. implementation should belong in 20, meaningful entity at a time
6.

template query

1.A and B asks the server for similar information
2.A,B gives the template in which the information is sent
3.uses xml for this purpose

Thursday, August 19, 2010

behavioural framework

1.the proto framework -- store,content model
2.control channel , normal channel
3.control mode,normal mode
4.ability to share objects to remote,file transfer

usage
begin with simple objects
sequentially build up the framework
get knowledge from another framework --- info share
motivation and means by which one framework asks another for objects

Tuesday, August 17, 2010

phy



1.http://opencores.org/project,usbhostslave,overview
2 http://opencores.org/project,spimaster

inline

1.inline
2.static inline
3.extern inline

ssh-keygen -t rsa
strip --debug-str[-s,-o file] .ko

google gadgets
site has an editor and api support to create small web gadgets

c++

1.store == prcontext
2.content == prcontext
3.args = prevent
4.single thread while loop
stack of frame
each frame queue of doublet (store,prevent)
loop:
from top
get first doublet
execute ->move_data(prevent)

move_data:
get protolayer context
get buffer
get state
create new arg
find next instruction
enqueue at tail of current frame

c++

1.structurals form locations
2.locations contain other structures
3.*A = B relation
4.location and content are of same type
5.call into location is passed on to the content
6.makes possible for dynamic change of the content
7.content is data or instruction
8.content = content + event

Monday, August 16, 2010

composition

1.dash board arrangement is better during the development stage
2.in class composition at the time of deployment

pathfinder

1.compile a binary
keywords - os, source code, environment, toolchain
2.load os
do action
3.load source code
do
4.load env
5load toolchain
6.compile

problem domain -- has data
1.solution has data + actions

Sunday, August 15, 2010

pathfinder

1.info stored in elements -- represented in xml format(metadata)
2.2 types static , structural info, dynamic info
3.static, basic framework of information domain
4.dynamic includes even state information with metadata
5.static,dynamic prints should be remotable

1.processing steps need to be associated with xml tree traversal,incoming tokens needs to be compared with the paths originating at current context and appropriate branch should be selected

why c++ not in kernel

linux - choice by linus torvalds to keep it out
windows - at the time of nt,xp driverstudio was available written by israeli engineers for c++
support on kernel
now wdf supports it
it needs special libraries, for constructors etc ... exception would be out .. its heavy , RTTI may be out???

ecos is c++, but it doesnt have distinction between kernel and user
there is a kernel written by italian guy which is in c++ ... its makefile is complicated

nachos is c++ , more like an interpreter

these side things will never catch up because for software, progressive development will always preferred rather than starting from scratch

its an art to derive stability out of chaos, many softwares

solutions

1.elimination
2.comparison
3.reinterpreting
4.transformation

pathfinder

1.All practical information needs to be encoded by a process
2.There should be metadata associated with this encoding process
3.The encoded information should be stored in database
4.It should be possible to create new information to be encoded using the previously stored
information as an element
5.It should be possible to solve a problem in a given context using the previously stored encodings
and the current problem context
6.It should be possible to alternate solutions to the same problem using different paths
7.It should be possible to determine if the alternate path chosen is right or wrong based on some
parameters
8.A machine should be able to use this encoded database to define new problems and suggest solutions
9.This machine should definitely be able to solve currently known
10.These problems and solutions the machine should be able to store in its private database which
will have a communication link to public database
11.This machine should be able to collaborate with other similar machines on a concrete platform to
find new problem domains and solutions
12.

organizer

1.should be able to setup on account basis
2.reminders,alarms,thresholds
3.through sms gateway should notify the mobile users

wireless sensors

1.source sends the beam across
2.objects reflect it
3.the reflected beam is interpreted and used to create sounds or vibrations
4.used for disabled persons
5.should be fittable on modile phones

Saturday, August 14, 2010

work flow

1.additional steps include
compilation
modification
debugging

2.favoured flow

50 - tht
20 - 15 code + 5 modification + compile
30 - debug