Dr Randy Pausch’s last lecture.

4 06 2008

This is a simply amazing video by Dr Randy Pausch. Every minute spent is worth your time. dont miss it.

I wanted to get his book. But found this video instead.

Here is the list of lessons learned

  • Loyalty is a two-way street.
  • Never give up.
  • You get people to help you by telling the truth. Being earnest. I’ll take an earnest person over a hip person every day, because hip is short term. Earnest is long term.
  • Apologize when you screw up and focus on other people, not on yourself.
  • Get a feedback loop and listen to it. … Anybody can get chewed out. It’s the rare person who says, oh my god, you were right. … When people give you feedback, cherish it and use it.
  • Show gratitude.
  • Don’t complain. Just work harder.
  • Be good at something, it makes you valuable.
  • Work hard.
  • Find the best in everybody. … No one is all evil. Everybody has a good side; just keep waiting, it will come out.
  • And be prepared. Luck is truly where preparation meets opportunity.




Connecting from windows to MYSQL on Ubuntu

7 11 2007

When using mysql server on ubuntu, there is a property called  bind-address in the /etc/mysql/my.cnf file. This forces mysql to only listen to localhost.

If you want to connect to mysql from a different box say windows, make sure you comment this line.

Then restrart my sql –  sudo /etc/init.d/mysql restart

Now login to mysql on comand prompt as root  - sudo mysql -u root -p
‘=Enter password

Create a brand new user with this syntax

grant all privileges on *.* TO ‘devuser’@'IP ADDRESS OF WINDOWS’ IDENTIFIED BY ‘NEW PASSWORD’ with grant option;
After this you can use a mysql client like navicat in windows to connect with user devuser, password NEW PASSWORD.

Note that when IP changes you would have to do this all over again.





Service Oriented Scrum Sprint Planning

19 10 2007

Scrum works well. when its only one project and sprint planning is really focused to that one projects. However the reality in most companies is that many of them are going towards a some kind of service based architecture.

In these cases or in cases where a number of projects are being developed at the same time, scrum planning gets confusing. Since each team is so focused on the current sprint and back log only, it becomes very tough to build dependencies between systems or services at the same time.

Enterprise SOA Sprint planning - ESOP just a fancy name conceived is based on restructuring projects and run dependent projects on the same sprint time line.

All projects will go to sprint planning the same day. The dependent stories are discussed in a common spring planning meeting where both teams are present and then the teams split to plan other stories.

This brings in awareness in all teams and they are aware of the service contract they need to fulfill as a part of this sprint. At the end of the sprint these contracts get fulfilled.

The product owners of each project are typically so focused on thier own project that often they tend to put cross service stories at a lesser priority than thier own stories. The parallel sprint planning would allow them to look at the big picture and plan the stories well.

This also is a fun event. At the end of the sprint the two systems are indeed talking to each other instead of building them in some kind of step approach.

Another fun thing to do is for the scrum masters to switch as moderators of the two teams in the planning meeting. Especially after a few sprints these planning meetings become fairly boring exercise. Switching scrum masters for the spring planning brings about a fresh breadth of air.

Powered by ScribeFire.





Boycott Times of India

30 07 2007
Boycott Times of India

I come from India and love to check whats going on in that land  on a daily basis.
I used to live in Bombay and used to worked near the Times of India building.

I really like the physical version of the paper for example http://epaper.timesofindia.com

It is appaling and i cant understand why I  get bugged with pop ups ads ( shaadi.com) whenever i visit that site. For those of you who dont know shaadi.com is like match.com

a) I am not in the market looking for a match ( My wife and two kids should be proof enough for that)

b) If at all you have no other revenue steam , altlease show some intelligent ads that i many not  mind watching. Show something on technology, Agile development.
I am competely put off sites that have no data whatsoever and simply throw a pop up . Hello there is something called as data analysis.

There is a secret to making money in the business. If you visit the times of india building in Bombay, the grond floor of the parking lot (one full section) was dedicated to the expensive cars that times of india executives drove.
How much more greedy you want to get.

If you really want to make money write excellent articles. Learn from other sites.
IBN CNN, slashdot,CNN, reuters etc. If you make me come more to  your site, i may end up
reading more of your  news.

Wonder why people are not angry at this.

I tried after a year http://www.timesofindia.com. Before i read the first news item, I had to bear with the stupid pop up.

If you read time of india please do me a favor, write about your user experience.

May be they will see the light





Bar Camp Bank this weekend

20 07 2007

I have heard a lot about Barcamp . THis weekend a different take of BArcamp called Barcamp Bank is being held in Seattle.

I am very eager to go to this as most of what i have done in the last 12 years is software development for financial services. I am eager to meet folks in the industry who are actually involved day in and day out and hear from them the technical and process related challenges they are facing?

If you are in town this weekend  dont miss this event. If you make it stop by and say hello to me :)





THE AGILE Paradox

17 07 2007

In the book Good to great Jim Collins talks about a Stockdale paradox. Many organizations are busy today trying to implement a myriad of new processes and metodologies. But are they really aware of thier actions.

At the end of the day every business software project or product has a certain life span. Most of the software we write today has a life span of 5-7 years.

How many applications are there today on the internet that existed  five years ago.?
Think of what you did five years ago.The internet was quite new, google was absent, so was You tube , Skype and ITunes. IPod was not such a hot commodity a s it is now. Today IPOD has become synonymous to Mp3 players.

These are some software products that in my made have made a huge difference in how we percieve and use techy stuff ( from a common mans perspective )

1) Google Search
2) Hotmail / Yahoo mail
3) Apache server
4) Yahoo finance
5) Microsoft word
6) Windows XP
7) Yahoo messenger
8) Mapquest
9) EBay/WIkipedia
10) Travelocity

There are thousands of other products that have made a huge impact but in my view the above 10 have made the maximum impact on what we do today

Do you think all the tools above followed XP, Scrum or similar methods, and Agile. Are all of these TDD driven, have acceptance tests and follow iterative development.

I am sure of almost seven in the list which certainly were in no way developed on any agile technique.

What drove them was the fire to innovate, the need to be different. There was a wide open need and a product was developed that met the need. IT need not have been the best. Case in point , many of us dont use Mapquest today but use the much fancier version google maps or other look alikes like Microsoft maps.

As software developers and product owners we should not again become slaves to processes. If we start talking too much about things that dont matter then we are not going to be succesful.
We dont write code in agile or XP. We write in Java, C and C# ( Oh and how can i miss out on the Ruby lovers ).

What if all of a sudden tomorrow,  we forget about agile.XP and Scrum / Lean  {CTRL ATL DEL),  would we stop developing software and provide value to customers.

It is important to take a hard look at how we all develop software and think of this paradox

The Agile Stockdale Paradox

Retain faith that Agile XP, Scrum will prevail in the end, regardless of the difficulties.

AND at the same time

Confront the most brutal facts of your current reality, whatever they might be.

 




Making India Proud - Go Mundu Radio

12 07 2007

I am proud to be associated to Atul Chitnis, who has influenced me in many ways till date. If you know Atul one of the things he is a big fan of is thinking beyond what’s considered thinkable.

Quoting what he says :)

Innovation isn’t about creating something new.

Innovation is about creating something that makes people sit up and say “Whoa! I want that!”

Read his entry on Mobile Imagineering

http://comversations.com/2007/05/30/mobile-imagineering/

So it came to me as no surprise when i he told me today that one of the products from his company called
Mundu radio won CNET “Webware 100” award competing with some serious global brands.

You may say , so whats different about that.

This is one of the very few time companies from India are truly giving a run for your money competing with the big guys.

That is a big change in how Indian companies perceive themselves. Its no more about cheap labor or just helping out other glabal giants being profitable.

Watch out world Change is happenning.. and its happenning now

 





WPF + WWF + WCF = TOTAL CONFUSION

4 07 2007

Do we sometimes create more problems for ourselves when we dont have to. Over the years I have seen that there has been no ground breaking innovation in how we program. The problem has only gotten worse.

We keep adding framework after framework. Layer after layer. At one side there are some simpler languages like C and Ruby. Then on the complete other spectrum we have languages like Java and .NET ( C# for example)

Java came out in 1996 timeframe and it was a new wave of programming. Not much has happened since then. Vendors introduced this confusing architecture called SOA which in 90 percent of the cases is Simply Over Architecture( SOA).

Then there are tools like Eclipse and Visual Studio. We speak of complicated things like collections, generics and Linq and Hibernate.Most of these are questionable frameworks. Well collections may be not.

I have worked extensively in both the Java and the .NET stack and its sad to say that even after 11 years , we have made no significant progress in how we perceive programming.

Software industry is very predictable.

First there are vendors like Microsoft and Sun and IBM etc whose sole purpose in life is to inculcate fear and create a need when absolutely no need exisits. For the last three to four years all the CEO and CTO’s are drinking the SOA and Agile cool aid.

Then there are thought leaders whose sole job is to create fear too, write books and take us to a programming model that we for ourselves have never created. Thanks to gang of four for creating a never ending confusion of Patterns. If they did not write that book, I think life would have been much simpler.

Take the  patterns and practices group in Microsoft. These folks basically create the next best framework that adds no serious value to enterprise software. It does make it simpler to some extent but its not an easy thing to use. For those experienced in any enterprise library from Microsoft, its no simple framework.

Same appears to be the problem in the Java world. Do we really need Entity Beans CMP? I can count on my finger tips that number of entity beans i have written in the last 10 years. Oh wait, I dont have to count, I never had a need to write one.

Why did we invent the wsdl?It uses XML. XML based communication is the least efficient way to transmit text for a webservice.Whatever happened to the good old binary format Now we tell hackers exactly what the password is or the ss no is as its in clear text.

Take an example of the new .NET 3.0 framework. First we had remoting, then webservices and now we have WCF /indigo. Create need when there is none. There is something called Jini in Java world that somehow did not see the light at the end of the tunnel.

By the time you would have even figure out what these mean , they will be out with the next set of acronyms. If all you are doing is showind data from the database in a fancy UI why not make life easy.

Take a look at WXF stack and you will see what i mean.. The whole premise of WXF stack is confusion.

Oh innovators where are you? You sure are not in Google , Microsoft , IBM and Sun. While they are busy adding more confusion to the already messed up programming models there must that only person who is thinking about the problem in a much sim

Make it simple, make it work.





Gaming Development Studio

8 05 2007

The company I work for, SolutionsIQ has launched a new service called Gaming Development studio. In the recent years we have been involved in gaming quite a bit and hence this offering.
Check us out at the gaming show in Seattle this 10 and 11.

Read more here

Cant wait to get into one of those gaming teams.!





Agile Teams - A new kind of slavery

21 04 2007

The first line of the agile manifesto says

Individuals and interactions over processes and tools

( copy paste from Agile Manifesto , font size included :)

I find it quite surprising how soon in an agile project we become slaves to processes and tools over individuals and interactions. From tools that capture stories and use cases to those that manage bugs, all those word documents that gets pumped out to prove to customer we are indeed a CMM level 5 company, or that we are compliant with some so called consortium.

How many times in the beginning of a project have you written a document ( although i hardly write much of these today ) called functional specifications, software architecture document. Every company fills these documents with 80 percent fluff ( what i called cut and paste sections, be glad if at least the project name gets changed , AN RFP that goes in depth to prove why we are any different that someone else who is trying to prove the same point.

Sometimes the very nature of how software gets written today in distributed teams forces us to become slaves to tools.

Daily stand ups are often seen huddled around a monitor or a projected screen pointing to exactly the story and task number thats they are working on.How different is this from a classic status reporting. Some one recently pointed to me that a particular stand up was looking like they are attending a funeral. Heads bent every body is trying to answer the three questions

What i did yesterday -

What am i doing today

Any impediments.

Why only these three questions ( because scrum says so — Process again coming in the way of agility).

Can I not share answer a fourth question, what if i don’t have any impediment do i still have to say no impediments

Then we have team members that are arguing all over the tools , whats right and whats wrong. A meeting or so to discuss the implications on not following agile processes.

In doing all this dance to product software, we forget the simple facts for success in a projects.

You produce good software if you have teams that work together, that can mingle and tell someone on their face how they can improve.

Teams have to feel safe to work and be told that they are they are important for the companies success Its not enough to just say, you are a self managed team figure it out :)

A self managed team needs some management and training on how to be one. They may not know what it means. Read this outdated paper on All I Really Need to Know about Pair Programming I Learned In Kindergarten.

Share everything.
Play fair.
Don’t hit people.
Put things back where you found them.
Clean up your own mess.
Don’t take things that aren’t yours.
Say you’re sorry when you hurt somebody.
Wash your hands before you eat.
Flush.
Warm cookies and cold milk are good for you.
Live a balanced life – learn some and think some and draw and paint and sing and
dance and play and work every day some.
Take a nap every afternoon.
When you go out into the world, watch out for traffic, hold hands and stick together.
Be aware of wonder.

Software development is only complex due to all the walls we build around to make it.

- Hire trustworthy developers, let folks who don’t gel go to another team

- Trust your fellow developers and make things visible.

- Try a couple of things and customize it to what works for your group

- Human mind gets bored of routine mundane tasks. Create an atmosphere where all these mundane tasks are CTRL-ALT_DEL

- Set expectations on your team.

- Treat your customers time and budget as your own. It takes time to build trust. Don’t take shortcuts.

- If something does not work for your team, chuck it. ( if you have a supportive management, you can do this)\

- Encourage creativity. Software development is as much art as science. Dont make it so complex that creativity goes away.

Read this blog by Steve who seems like a Google employee on good and bad agile. Its long be patient. It gets better if you stick till the end.

If you had the patience to read Steve’s article and still come back to my blog: Thanks for hearing me out.

Be different. Develop software with pleasure, make a difference.