when your pursuing your passion or releasing your creativity… it doesn’t feel like a job!
fluentscript - an english like scripting language
i’ve been working on my own scripting language for several months now and it’s close to a stable version. check it out here:
http://fluentscript.codeplex.com/
it’s a scripting language with :
- english like syntax
- easy support for extending the language with plugins
- support for preventing infinite loops
- and much more
The frustrations of dealing with other programmers
I’m a consultant…. and have been working as a consultant for years. Over those years I’ve seen many programmers, especially tech leads, who have similar problems when it comes to working with others. Now these are not specific to technology or any field for that matter but more related to the interpersonal / social skills involved in working with others combined with management style.
BTW: I’m not the first one to talk about these and certainly not the last. Other blogger like Joel on software has already discussed management methods in some detail ( which I’ve listed below ). However, I’m stating specific traits that work against the team and business goals.
Biggest negatives:
- Rejecting new ideas too quickly
- Stuck in his/her own ways and style of programming
- Being able to actively criticize a someones work but not having the ability to take criticism of his/her own work.
- Automatically thinking that someone providing suggestions for improvement is equal to them telling you that you’re wrong
- Trying to have too much control in their position
- Not trying to enforce certain standards
- Feeling like there is a competition with new ideas/philosophies rather than objectively having the best interest of the business at heart
These issues seem not to arise as much ( but still there ) in an entrepreneurial environment.
Here are some interesting articles:
The command and control management method
http://www.joelonsoftware.com/items/2006/08/08.html
The econ 101 management method:
http://www.joelonsoftware.com/items/2006/08/09.html
The identity management method
Import / Export as a fundamental service in an application
I’ve worked on several types of applications over the years, from financial, accounting, Content Management Systems, etc and I always come to the same conclusion regarding data…. and that is import / export functionality must be fundamental service of your application.
Example:
Consider an application that allows users to creates Job posts such as Dice.com. Here are some parts of a job post that can have different values:
- Location
- Job type: ( full-time, contracting, etc )
- Pay rate: ( 80K, $75 an hour, depends on experience, etc )
- Tags: ( Java, C#, Ruby etc )
Import / Export:
Now lets say your applications support import / export features such that
- You can import data in the form of xml/json
- The import functionality is baked into your app ( either in the UI or more preferably through some tool via a command line interface )
Benefits:
- Provides a convenient way to load data into your system for any type of testing
- Facilitates automated testing at an API level
- Serves as a way to backup your data
- Allows you to export data from one environment ( Production ) to another environment ( Dev, Qa ) for testing.
- Removes a partial dependency to have some testing tool ( like Selenium ) to create data
- Provides an easy way to auto-create thousands to millions of data records/objects for performance testing
NOTE: Tools like selenium are great, and they should still be used for regression testing, automated UI testing etc. However, that is the 2nd step / layer of automation. Import / Export features will be much faster at creating your data for testing rather than going creating your data through automated UI.
An example of an import / export API can be found here at commonlibrary:
http://commonlibrarynet.codeplex.com/wikipage?title=Examples&referringTitle=Documentation
It does not matter how slow you go so long as you do not stop.
Moving to tumblr
starting off 2012 w/ a new blog on tumblr!