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.
Saturday, December 25, 2010
android opencore
1.platform-->MIO-->encoder(-->hwaccelerator)-->controller
-->decoder(-->hwaccelerator)-->MIO-->platform
2.application-->player-->parser-->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
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
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
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
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
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.
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
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
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
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
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.
"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
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
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
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.
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
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
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
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
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
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
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???
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.
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.
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
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
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
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
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
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
==========
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
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.
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
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
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.
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
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
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
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
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
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-default.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
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-default.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
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
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
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
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
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 ....
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
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
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
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/
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
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
Saturday, November 6, 2010
motherboard standoff screw
1.gives clearence to board from surface
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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
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/
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
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.
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
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
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
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
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
design doc
1.openoffice tables with hyperlink to other tables
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
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
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
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
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
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)
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
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/
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
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
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
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 ... ??
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
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
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
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
/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
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
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
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
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
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
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
run scandisk.exe from cmdline with /f --verbose
2.run diskdefrag.exe /f --verbose
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
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
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
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
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)
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
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/
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
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
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
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
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
compilation
modification
debugging
2.favoured flow
50 - tht
20 - 15 code + 5 modification + compile
30 - debug
Subscribe to:
Posts (Atom)