White Code!

Today while working at my desk, I came across a situation where a colleague was writing some piece of code as a missing implementation when a module changed hands.
There was little time and so, the part had to be just written for the sake of it.
And that’s where I wanted to dis-associate myself from the partnership.
It so happened that the situation was getting complex and two heads were good at solving it.
I could not yet overcome my hesitation to help in a piece of code that would not be tested, so rather than saying this, I called it the white code: The one that was written on the white background of eclipse editor and never get through living in the main memory and get executed!
To my happy surprise, he got motivated and understood my hesitation and ensuring the missing implementation code was atleast working on a non matching scenario and breathe life into the code.
There we called it the green code:Simply because it was executed, not for complete scenarios, but it was executed!

Green is the way to go!

Public Network Passwords under attack!

With options like this which are available now, the public network passwords are a vulnerable lot today!
Coming to the solutions mode, the question that raises concerns and needs to be addressed is:

How to protect public network password from brute force attack?

And we think about the answers:

1/Biometrics?
No, can be easily imitated, and IMHO, causes the power to rest with anyone who has power/money.

2/Special fonts?
Kinda-OK, the fonts that are created, should reside on a system only.
Limits mobility, but sure seems a viable option.

3/Thick client logins?
Yup, Can be mobile, enables a secure area.
More like double-check locking!

4/Best of 3 login attempts?
Black list the brute force IP. (+)Good for cleaning up the internet, (-)bad for businesses!

5/Image/Non-Text based passwords?
(+)Increases complexity (+) can be copyrighted/encrypted (-)Need to carry that picture always! (-) little randomness.

What could give the password crackers a new challenge?
It seems brute force is won over and the text books needs to be edited!

Apache Maven-A review

What is it?

Simply put, I would say its sort of build tool, similar to another Apache project Ant. The Apache page for maven here gives a more detailed description:

” Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.”

Comment Anywhere!

Has it occurred to you(the reader) that you came across something and you like to comment on it?
Be it a feedback/improvement/suggestion/Aha moment or something you recall, simply said, how something that you see or read related to you?
If this could happen, you got another encyclopedia of stories of people and their experience getting ready to be scripted.
What would be unique to this movement is everyone takes the role of an author and a reader!

Very Exciting!

Challenges:
1/ How to track different people commenting at different times!
2/ How to keep it consistent with varying media on which comment is to be made?
3/ We have become thick, we use the desktop, and our applications sit on top of them, How to bring it to the desktop?

Now its becoming interesting!

~rohit.

Searching for developer owned dev and deploy platform!

It has been long time I have been wanting to get rid of hard disk failures at home.
For this, the only solution that hit me was use a wireless network storage (WNS) system at home and things would be fine.
That still would need to be dependent on power from the same place where I use the WNS, so not quite a scalable solution.

So here I announce the search for such a service, where ,
1/ I remotely login
2/ I can setup my desktop environment
3/ I can checkout/clone any public-ally hosted project.
4/ I can test-develop-deploy the complete application
5/ I can host the application for the world to enjoy!

Any service providers you come across, please so share here.

~rohit.

To Model or Not to Model is the Question!

For Model is optional/and possibly an impediment, unless asked for.

The following picture depicts my understanding of what piece of technology resides where when writing the code from a UI->Business->DB.

When doing TDD<->Code, there are very short and quick feedback cycles due to which there is good paced development.

When doing it with modeling involved as the short feedback cycles turns into a painstakingly long , and hence looses the pace that could have been achieved with no MDA at all.
Even with MDA as a choice, is it beneficial to extract technical details from the model or derive the model from the interface?

The interfaces act as the point of inflection of choosing whether to MDA or not.

I am not very much into Big-Upfront-Design camp,maybe due to lack of experience but as I understand every software solution in the writing has its own characteristics that are better dealt with when dealt with no big designs that over-shadow its actual requirement.

With features like reverse engineering from code-to-UML, although the cycle could be shortened, but only to load the design with something conceptual at a high level, even with a high probability that the same understanding could be useless or simply a cause of not being able to implement an elegant solution.

The fact that MDA is dependent on the interfaces to proceed and TDD creates those interfaces, not by thinking-out the complete system, but on a case-by-case basis, so the two approaches can exist, but in true agile spirit?

I don’t think so.

~rohit.

Remote Controlled Application-Feature On-Off Facility

This morning an idea just hit me of enabling/disabling features of an application/system remotely.
If we add(already have?) a way where a module(per-say feature) has an attribute of whether it is alive or not, we can control the way a feature is available at runtime for that application/product.
We do layering, we would need to put the feature On_OFF switch withing that layering so that would need a standard of packaging/module-ring an application.
Is this possible and how would that be advantageous?

~rohit.

Rare Unit Test Scenario!

Came across an interesting scenario.
Had a pre-running test case. And then removed the @Test annotation from it, and voila!

It seems JUnit developers really thought of this scenario where a developer un-annotates a test method and they gave an appropriate exception!


Well this seems to be an eclipse bug.It occured when I copied a window eclipse shared project and tried to run it.
I could not overcome this error till date, using following resolutions:

1/ Exclude junit3.3(NA)
2/Remove extension from TestCase.(NA)
3/Remove duplicate junit jar from the project.(NA)

~rohit.

ReverseLogic ~ Making Ends Meet!