The stackoverflow survey is out for anyone who might be interested in some numbers. I was interested in the technology and the pay information.
Obviously it is good to see JAVA is still a bankable language to know. I really like the JAVA 8 world. Streams are obviously awesome, I also like the less verbosity the language gives now. JigSaw is picking up steam, but the 6 month release cycle of Oracle for new Java language seems to be a welcome change.
My biggest surprise is the spot JAVASCRIPT is holding up. It is the most dreaded as well, most popular language.
Salary of software developers seem to be holding steady. With new anti immigration policies, it going to be interesting to see how year 2019 is turning out to be.

This is a great write-up. I liked the fact that, engineers were first trying to be designers. The reason is, they invented the internet and whole technical stack. But designers never fought for their place. This is so true, the design of a designer licensed professional has always turned out better for me. The other point discussed, the ROI of engaging a designer.

SpEL is a powerful utility framework provided by spring for looking up object graph. We will take a look at how to use spEL in this post. We will divide this article into two parts.

We will first create a simple object and see how SpEL is used for reading and manipulating the object graph and then in the second part of the article, we will define a properites file. Read the properties and assign it to a object variable.

SpEL expression evaluation interface

We will take take a simple object here and see how to use the expression api's to manipulate the object.

Looking at the code snippet above, there are few items that we can discuss. We create an Object of the Programmer and manipulate the object tree dynmaically. We are using the expression and its sublass SpelExpressionParser parser. There are two items in the SamplePrgorammer's programmer object. They are name and occupation. We will define an expression for each class variable. After this we use the expression class to get the value parsed. Here is the code snippet for this :

StandardEvaluationContext uses reflection API's to identify the constructors and methods. But this is a costly object, in our example we can quickly use the getValue method to get the value.

SpEL by default is interpreter based, all expression are interpreted for evaluation. The reason for this is to give flexibility during evaluation. But if the expression evaluation is not changing often, we can switch the expression to be compiled to JAVA Class. This switch can be done using the [SpringCompilerMode][1] enum parameter. There are few available modes to operate, it is OFF, IMMEDIATE and MIXED. By default SpEL has this in the OFF mode. Immediate mode ensures that expressions are compiled right away. MIXED mode as name suggests expressions are switched between the compile and interepreter mode.

We saw a quick introduction of SpEL and some basic operation in this post. In the next part we will use SpEL to read a properties file and evaluate values.

String object in the Music class

The auto-wired genre property in the Music class is a bit tricky one to Initialize, spring by default treats auto-wired property as required. So when Music class is initialized the container will try to inject a value for the Genre property. But since there is no easy way to inject the String object, We are using the spEL. We will do more about the Spring EL in another post. Now that is all with our configuration file. we will use the following method expression:

We have to make sure the MusicConfig class is annotated with @Configuration and the classes that it is annotating is preceding with @Component annotation. One other way to use the AnnotationConfig is to just call the default constructor and register the context at some later point. Let us take look at this sample:

We will have to make sure we refresh the context after registering. The same came be done by passing a package as well. If we have an web application we can use the AnnotationConfigWebApplicationContext to configure.

Conclusion

We looked at how to use the AnnotationConfigApplicationContext to configure and run a spring application. With no XML code, spring now allows us to use annotations and configurations to build applications.
Code for this sample can be found in github here

I liked the quote about "Be OK with what you ultimately can't do, because there is so much that you can do." I don't think there is a better piece of logic for a parent to explaint to a child when he/she needs a motivation.

Baby steps of util in the Java framework. This writeup is just a check point what I liked this week using these packages.
Consider the case where you have to build out a fact tree where you will have to sort the students in your class based on their birth dates. Treemap gives a natural way of sorting based on date of birth. I liked the simplicity of the TreeMap.

One of the most wretching thing for this year and weekend is Equifax issue. The follow up from the credit agency and its response to know whether you are affected or not is more frustrating. The protection that is offered for identity threat is 1 year. Heck, they already did an announcement almost after 6 weeks, and they can protect their customers only for 1 year. After that one has to pay $17 every month to be protected from this wretched organization. So from the initial reports, looks like they failed to upgrade their open source stack. The naked security explaination seems to be the best possible explaination how the struts framework was exploited.

There was an interesting article in WSJ about listening to music at work and how much it can keep you focussed at the task in hand. The medical professor who is cited in the article is a Prof. from John hopkins. Here is an interesting introductory video about him and the research he is doing.

After almost so many years of trying and meddling., I was able to finish the first MooC Course from coursera. Here is the course I was able to finish A Life of Happiness and Fulfillment. It was 6 for weeks, good measured content and was very practical in the application part as well.

Week 1 starts about the shortcomings of happiness

Week 2 was about how to establishing a flow when doing work and daily tasks

Week 3 was about "creative alturism" it is very fancy way of saying give and do a lot charitable work.

Week 4 was about being overly controlling and how to go about getting some remedy for it.

Week 5 was "smart trust". I think this was very applicable for being a good team member and a life partner.

Week 6 was kind of a dud., but I think that is the solution for everything.
This matched perfectly with OAK meditation app that am being a beta test user.