Saturday, October 23, 2010

Music stuff

1. technique
2. theory
3. scale vocabulary
4. chord vocabulary
5. arpeggio vocabulary
6. listening to other players
7. transcribing
8. ear training
9. solfeggio
10. learning songs
11. reading scores
12. improvising
13. composing
14. lead guitar styles
15. rhythm guitar styles
16. playing with other musicians
17. studying regularly with a teacher
18. reading music magazines
19. watching instructional DVDs
20. gear and recording
21. transposing
22. arranging

--------------------------------

one year program

read scores
know all the modes - 6 months
play rock rhythm
solfeggio - 1 vol


rock rhythm in 6 weeks - 3 months
guitar masterclass 6 months
30 jazz standards - 6 monts, improv, comping, solo
pentatonic concepts 2 months
learn to play fast 2 months
1 month - path to fretboard mastery
3 months - 100 low comping phrases
3 months - 100 high comping phrases
10 original melodies 6 months
6 months - 100 blues licks
eric clapton study
10 metal songs - 6 months (jimi hendrix one and srv)
ear master daily - 10 mins at least (morning)
1 month - berklee - recognize chord progressions
solfeggio - 10 mins (daily)
transcribing 30 songs - 15 metal, 15 jazz - 6 months
folk 30 songs with lyrics - transposed also also

Monday, October 18, 2010

Monday - October the 18th

62 - 82

Guide to using facelets tags

Guide to using facelets templating tags
------------------------------
ui:composition

ui:decorate same as composition just that things that are outside this tag
are not ignored

ui:define where the content that should replace ui:insert from the temmplate
begins in the template client

ui:insert is the placeholder in the template file where the content should
be inserted from the template client, if no name attribute the content that is inserted is the actual content for this tag

ui:include can be placed in template clients or template. This tag supports
parameters which you can pass to the included file

Guide to using non templating tags
----------------------------------

ui:component id="optionalComponentId"
binding="managedBeanUiComponent"
if binding not provided , one will be created in the created

anything outside this tag is not included

ui:fragment
the same as ui:component except that it wraps
a series of components inside a single parent component
before is added to the tree

ui:remove used to comment a portion of the markup

ui:debug hotkey="optionalHotKey"
pressing that key will show you the component tree
is optionalKey not specified pressing ctrl-shift-d will show the popup window

Chapter 5
Managed beans the JSF EL
------------------------

@ManagedBean(name="xxx")
public class UserBean
if no name attribute the name will be userBean

can also add it in faces-config

managed-bean
managed-bean-name
managed-bean-class
manged-bean-scope
"end" managed bean

u can actually put in the page directly
#{userBean.firstName} and it will render

@ManagedProperty(value="Jane")
this is to add an initial value to a property
in the managed bean
or in faces-config
<managed-property>
<property-name>firstName</property-name>
<value>Jane</value>
</managed-property>

showing items from lists
#{userBean.sportsInterests[0]}

for maps value="#{userBean.sportsInterests['Swimming']}"

u can also declare maps or lists as managed beans
<managed-bean>
<managed-bean-name>moreSports</managed-bean-name>
<managed-bean-class>java.util.ArrayList</managed-bean-class>
<managed-bean-scope>none</managed-bean-scope>
<list-entries>
<value>Skiing</value>
<value>Tennis</value>
<value>Rollerblading</value>
</list-entries>
</managed-bean>

u can refer other managed beans in the declaration of managed beans
<list-entries>
<value>#{moreSports[0]}</value>

this is an example using annotations
@ManaqedProperty(value="#{addressBean}")
private Address homeAddress;
@ManaqedProperty(value="#{addressBean}")
private Address shippingAddress;

u can also use params from the request
<managed-property>
<property-name>userid</property-name>
<value>#{param.userid}</value>
</managed-property>

doing the same thing with annotations
@ManaqedProperty(value="#{param.userid}")
private Address userid;

Managed beans life spans
--------------------------
there is a scope which is shorter than request
#{facesContext.attributes} (u actually put this value
for scope in faces-config)

other scopes: none, request, view, session, application
request to be avoided ?!

managed beans can reference either managed beans
with the scope none or beans with greater or equal scope span.

none - @NoneScoped (will stay as long as the bean that is referencing it)
request - available only for one http request @RequestScoped
view scope - the user stays in the same view @ViewScoped
session - @SessionScoped
application - available to all users!
customscope - @CustomScoped


u can use other annotation in the BB
@PostConstruct
@PreDestroy

JSF EL
------------------------------------
#{expr} evaluated at runtime time
${expr} evaluated at compile time

used as:

value expressions
----------------------------
#{userBean.firstName}
first looks is the value of the base is one of the implicit objects in EL
first it looks in ServletRequest getAttribute("userBean")
from the UIViewRoot calls getViewMap()
from the HttpSession calls getAttribute("userBean")
if not found calls getAttribute("userBean") on the ServletContext

setting values in mb value="#{userBean.firstName}
this happens in update model values phase
the class involved is ValueExpression
-----------------------
the EL flash

flash is an implicit object in EL
flash.serviceLevel sets or gets the var sericeLevel from the flash
scope

---------------------

91 - at least 101

method expression - when an action is specified
u can't pass params to method expressions

action
actionListener
valueChangeListener


u can invoke arbitrary methods
and pass parameters to them

<h:link outcome="page02" value="Link with query parameters">
<f:param name="word1" value="hello" />
<f:param name="word2" value="dolly" />
</h:link>

How to access backing bean programatically
ELContext elContext = context.getELContext( );
Application application = context.getApplication( );
String userid = (String) application.evaluateValueExpressionGet(context,
"#{userBean.userid}",String.class);


chapter 6 - the navigation model
--------------------------------

implicit navigation

Friday, October 15, 2010

Friday - October the 15th

1. respond to the questions raised at the V12 scopes presentation

2. JSF 2 - 20 pages V

3. Presentation about what I've been reading


------------------------

<ui:include src="menubar.xml">
<ui:param name="user" value="#{currentUser}"/> </ui:include>

u can pass params to included pages

u can use jsp and facelets

u can write pure HTML in facelets

composition using facelets

there is a template and a template client
which uses the template and defines the placeholders

this in the template
<tr><ui:insert name="body">Placeholder Body</ui:insert></tr>
this is the template client
<ui:composition template="/lnf-template.xhtml">
<ui:define name="body"><table width="70%">....</ui:define>

the jsfc attribute specifies what component should be used on the
client side

Friday - October the 15th

1. respond to the questions raised at the V12 scopes presentation

2. JSF 2 - 20 pages V

3. Presentation about what I've been reading


------------------------

<ui:include src="menubar.xml">
<ui:param name="user" value="#{currentUser}"> </ui:param>

u can pass params to included pages

u can use jsp and facelets

u can write pure HTML in facelets

composition using facelets

there is a template and a template client
which uses the template and defines the placeholders

this in the template
<ui:insert name="body">Placeholder Body</ui:insert>
this is the template client
<ui:composition template="/lnf-template.xhtml">
<ui:define name="body"><table width="70%">....
</table></ui:define></ui:composition></ui:include>

the jsfc attribute specifies what component should be used on the
client side

anything outside the <ui:define/> is ignored in a template client file

Wednesday, October 13, 2010

JSF2 complete reference

28 - 55

restore view
the tree is kept in FacesContext

apply request values
processDecodes on the UIViewRoot
only ValueHolder uiComponents can hold values
only EditableValueHolder components can have their value changed
the values are kept on each component in submittedValue
the ones that have events implement ActionSource interface
events are queued at this phase
immediate attribute makes it skip this phase


process validations
data conversion
processValidators on the UIViewRoot
when a validation or conversion fails the valid attribute is set to false and
a FacesMessage is queued on the FacesContext


update model values
this is where the managed beans properties that were bound get updated
processUpdates on the UIViewRoot
processUpdates is overridden in the UIInput components and call an extra
updateModel method


invoke application
this is where the custom action code is called
processApplication on the UIViewRoot
call broadcast on each UIComponent that implements ActionSource
navigation happens here also
NavigationHandler calls handleNavigation
if the outcome which was received by the NavigationHandler
is registered -> facesContext.setViewRoot is called
h:link is the same as h:commandLink with attribute imediate set to true
if immediate is set for EditableValueHolder then its validations
occur in apply request values phase


render response
encode methods happen here
saving of the current state of the View

---------------------------------------

phase listeners - class which implements PhaseListener and
it's declared in faces-config or added programmatically
registered on the lifecycle instance

work - october the 13th (Wednesday )

1. respond to the questions raised at the V12 scopes presentation

2. read V12 guidelines V

3. JSF 2 - 20 pages V

Tuesday, October 12, 2010

BIG GOAL 12.10.2010 - 1 DEC 2010

Read JSF2 - Complete reference.pdf

every Friday - a presentation on what I have been reading the whole week

Friday from 16.00 to 17.00

work tuesday - oct the 12th 2010

1. loadobjectives testing estimate - V

2. read JSF 2 - 8 - 29 V

3. respond to the questions raised at the V12 scopes presentation

4. read V12 guidelines

Monday, October 11, 2010

week - for practicing 11-17 oct 2010

ionian, dorian, mixolydian - daily (in C , G, Bb, Eb)
circle of fifths X7 - daily
IIm - V - I - daily

low comping 3 lessons
read two tunes and learn them
write the it never entered my mind solo
solo for sweet home alabama
solo for ac dc, highway to hell
jimmy hendrix - little wing


technique - more accurate alternate picking
watch how to play fast and apply
watch fretboard mastery and apply

------------------------------------
grateful dead
low rider
tequila
blues traveler
fire on mountain - grateful dead
dead - god and grove
-------------------------------
monday - C,G,Bb ionian, dorian, mixolydian
circle of fifths X7 - almost getting it in time
technique - still weak upstroke but definitely getting better
-------------------------------
tuesday - C,G,Bb ionian, dorian, mixolydian
circle of fifths X7 - not that much
a little picking - was not that comfortable ,
watched a chapter on how to play faster
discovered that making trills with your pinky helps strengthtening
your left hand
Bb is just like C just 2 frets down :)
------------------------------
wednesday - nothing

------------------------------
thursday - X7 in circle of fifths
ionian , dorian in C ...only C because I got caught up on technique
doing pinky exercises
experimented a little phrygian over minor chords
experimented a little Ab melodic minor over G7 chord
very weak upstroke, have to work more on this
Observed that I am significantly slower if I begin on upstroke a scale
Observed I do hold my breath when shifting to a new position.
This has to be corrected.
When doing X7 observed that for the A form I wasnt visualizing the root.
I watched a little path to fretboard and I'm thinking I should give it one month
or two.
The beautiful thing about this fretboard mastery is the introduction
when it is mentioning all aspects of music. There are a lot more than
were in my study plan. I should revise it.
THE KEY IS DISCIPLINE.




plan for 2 weeks, all keys for ionian dorian mixolydian
learn 1 song for voice, 1 for rock, 1 for jazz
do IIm - V - I for all keys
transcribe one melody
compose 1 melody
low comping
(low comping 3 lessons
read two tunes and learn them
write the it never entered my mind solo
solo for sweet home alabama
solo for ac dc, highway to hell
jimmy hendrix - little wing)



observed that there is a way to hold the pick more firmly to achieve
greater speed and to always be prepared to sound artificial harmonics

overall - a very good day :)

work - october the 11th

- fix everything in loadobjectives
- presentation for the next tech article
- find answers to the questions raised at the previous presentation
- read 20 pages of jsf 2