About The Daily issues, Software Development In General and Humanities
Tuesday, June 28, 2011
The path toward craftmanship
They will not be watchful in what they will learn. They only try to solve a problem which occurred for them for the sake of solving, not learning. This is the problem. For being a craftsman or an expert, we must go through these stages, one by one, step by step.
All is this, this model describes the path which a novice must go to become a journeyman and then, undergo finally toward craftsmanship. I delighted a lot with reading this book and acquainting that the Dreyfus model is existed. Read It, You'll get benefits of it in long-term.
Sunday, June 12, 2011
Daily issues
About my reading favourites, I'm waiting for Uncle Bob's "clean coder" impatiently and I'm reading Steve Freeman's "Growing Object Oriented Software, Guided By Tests" currently. It's a wonderful and high content book and is recommended by biggest lords of the industry.
Today, Is June 12th and in persian calendar Khordad 22th. The anniversary of fraud in Iran presidential election in 2009 that caused great pain in the country. Anti-Government activists called a rally for today. We will see what will happen. Hope that the government change his behavior and do not treat with his people with brutality. AMIN, However I'm agnostic ;)
Ok, enough. I try to write review for Freeman's awesome book after completing reading of it.
Friday, March 11, 2011
How to read a paper?
Wednesday, March 9, 2011
HTTP POST & GET Requests
Here’s the issue. Almost since HTTP was invented, it has been recognized that there is a fundamental difference between HTTP GET and HTTP POST requests. Tim Berners-Lee wrote about it back in 1996. Use GET requests to retrieve information from the server, and use POST requests to request a change of state on the server.
For example in Rails development, instead of using link_to helper, we must use button_to, It generates an HTML form that contains just a single button. When the user clicks the button, an HTTP POST request is generated and a POST request is just the ticket when we want to do something like add an item to a cart.
So, Please, Please DO NOT misuse hyperlinks for the wrong action.
Sunday, February 6, 2011
Chad Fowler's Passionate Programmer - A Guide Toward Masterdom
After reading Dave Thomas's "The Pragmatic Programmer" which was one of the best books I ever read until this day, recently I read Chad Fowler's "The Passionate Programmer". It was wonderful. It guided me through a deep journey toward success in my career.
It doesn't depend on what career you have. I, as a software developer enjoyed from the book, as equal as my sister which is an Architect. She said me that, the book was perfect and she's using its tips and hints in the company for achieving the best performance and above all for getting the joy.
During reading book I write its interesting notes. Below are the important ones.
Tuesday, January 25, 2011
Software Craftsmanship as a Thing
Dan North's recent blog post on software craftsmanship unleashed a lot of blog and forum discussions.
I, as a member of the craftsmanship's community prefer the Michael Feathers's opinion on the issue.
I think our community doesn't need labels. We must see our work as a "Big Thing". The "Thing" which lead us toward efficiency, better performance. The names doesn't make any differences. Our aim is common. This is significant.
As a comment in Micheal's post says, I guess this proves yet again that naming stuff is one of the hardest things we do. I sorta feel like this is a give up, though - replacing 'agile' and 'software craftsmanship' with 'thing'. I'd say all these conversations are already about the thing."
Do not get me wrong, I welcome debates and discussions but I think our community's main concentration must be the "Thing" not our naming conventions.
These are the posts correlated to the matter:
- Dan North's original post
- Liz Keogh explains her discomfort with the software craftsmanship manifesto.
- Gil Zilberfeld draws a comparison between software craftsmanship and alt.net.
- Jason Gorman wants us to avoid getting hung up on labels
- Michael Feathers looks for more deliberate practice in our work.
- George Dinwiddie provides a physical example of why quality work is important to a customer, and how certification and licensing doesn't help.
- Dan North expands and clarifies some his earlier points.
- Bob Martin says software craftsmanship is only about programmers tired of writing crap.
Then, What I should do for this purpose!?
I googled and finally arrived at a thread in stackoverflow.com and It works like a charm, These are the steps to use FileMerge as svn diff default app.
First of all, we must have fmscripts installed.
$ svn co http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts && cd fmscripts $ sudo make
That's all, now we can use FileMerge in this way:
$ svn diff --diff-cmd fmdiff FILE1 FILE2It's obvious that upper command must be in a directory that is under svn repository.
You can use aliases to use the command in an easier approach:
$ alias sfmdiff = svn diff --diff-cmd fmdiff FILE1 FILE2
Here you are, that's all. now you can use it.
$ sfmdiff FILE1 FILE2
This is the simplicity of Unix that Mac Os inherits it thanks to Darwin subsystem.
Unix is simplicity.