|
I read your article and I think it is written well. I would suggest that you include an overview where you list your 5 points (the ones in blue) by themselves before the main body of the article. I don't think it is too long.
One thing that I would suggest covering is how to plan for refactoring. What I mean is to tell how to develop code that is intended to be refactored. Sometimes it is necessary to "find" a solution before you can code it properly. Unfortunantely, many times this "experimental" code becomes part of production systems. Planning for refactoring at this level is important because it recognizes the reality of the likelihood of the code finding its way into production systems and it makes the refactoring more productive. If you plan for refactoring you will not leave off application-critical steps (like validating inputs, checking errors, catching exceptions, etc), instead you will keep your design simple but your code well written.
One questionable aspect of AP techniques is that it focuses too heavily on ultra small time-frames and tends to make a developer rely on the compiler too heavily. I find that being able to focus on a code related problem as a whole problem, not just as a component of the problem is often more effecient and ultimately more productive than time-slicing the problem into smaller compoenents. This does not necessarily go against AP, but on the surface seems to.
Also, one of the strengths most developers have is the ability to keep lots of "state" info in their heads at a time as long as it is focused. AP often tends to limit the amount of focus a developer uses by time-slicing everything and I believe reduces the total amount of "state" a developer can handle because while I can remeber 7 related things at a time, I can only remember 4 unrelated things at a time.
All-in-all, a good article.
|
|
|
|
|
Thanks for your feedback!
I share some of your doubts about AP - I see it as just one tool, that has some simple, "feeling natural" techniques to keep complexitiy managable; AP alone is for sure not sufficient!
I updated the sketch with an "Limits of AP" section, including these doubts. (I want to prof-read tomorrow, than upload it here).
State: IMO keeping lots of state information is prerequisite for a good programmer, and Agile techniques can greatly reduce the amount of state information that's necessary to keep in mind at one time. I don't quite understand what you mean with AP forcing you to remember unrelated things - can you elaborate this?
As James Bond in "die another day", Pierce Brosnan features traits handy in the dawning millenium. He fights without hesitation in a bewildering environment, trusts his high-tech-gadgets, and rather falls for beauty than pondering the political absurdities around him. [sighist]
|
|
|
|
|
peterchen wrote:
I don't quite understand what you mean with AP forcing you to remember unrelated things - can you elaborate this?
AP does not force you to remember unrelated things, but it limits the amount of "state" you need to remember for a given task. This is OK for some sitations (and on the surface sounds like a good thing) and can make quick-and-dirty maintenance and refactoring work quicker. However, the results are more limited than what can be accomplished when the ultimate intent is to refator a whole problem instead of a tiny part of it.
When a programmer gets in the -zone-, solving a larger problem is often more effecient than solving just a tiny part of it. Failing to leverage the -zone- and failing to allow a programmer to use his ability to maintain "state" limits the possibilities and productivity of that programmer.
Also, (back to the original question), because a programmers skill of "state" recall is not used for the task at hand it tends to mean that the programmer will need to shift from one task to another relatively quickly. Shifting tasks is often the most ineffecient task for programmers which is where my remark came from.
Just my 2 cents.
|
|
|
|
|
I don't believe you should plan for refactoring. Any code can at some time become obsolete, be it after 2 days or 2 years. That's when you refactor it, even if it's in production. I love the notion of "good enough" to decide for or against refactoring some code.
For the state problem, I often make the "mistake" to think too much in high-level states, eating up my human RAM. Ultra small time-frames let me write down some states for later retrieval and free the memory I need for a better focus on the problem at hand (and a better schedule).
As AP is very much human-centered, it's not a solution but rather a "programming philosophy" that can work or not the same depending on you.
Eric
|
|
|
|
|
|
Would you describe more?
A. Riazi
|
|
|
|
|
First off, the link: test build 5 (183KB)
What's new in this one? A spiffy new customizable Site Links menu, that's what! The SearchBar reads an XML file and builds the Site Links menu based on that file, so we here at CP can update the menu for everyone w/o making y'all download a new version of the Bar. You can check for an updated Site Links file by clicking Update Site Links Menu in the control menu. (This just downloads a file from my upload area, no Personally Identifiable Information is transmitted, stored, sent in, sent back, queried, lost, found, subjected to public inquiry, or buried in soft peat for three months and recycled as fire-lighters.)
Also - and I know a lot of folks will like this as it's been requested often on the Suggestion board - I've added some keyboard shortcuts that you can use on the "post a comment" pages. Ctrl+Shift+C clicks the code button, Ctrl+Shift+L clicks the link button, and Ctrl+Shift+6 clicks the link[^] button.
It's also got a new build of the installer that handles registering the web service reader and installing the afore-mentioned XML file. Uninstall is not 100% working yet (not that it ever was ).
Chris M said he was going to be updating the web service Real Soon Now, so until he gets that work done this will likely be the last test build I release. I'll make any changes/fixes in the Bar necessitated by his web svc changes, maybe add more keyboard shortcuts for the other buttons if folks like the idea, then release that as v2.0.
--Mike--
If it doesn't move and it should: WD-40. If it moves and it shouldn't: duct tape.
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Hi, this is my first post in The Code Project Lounge.
I'm thinking about creating my own MAPI-based listserv for MS Exchange Server 2000, but not if it already exists. I thought this tool came in one of the SDK's for Exchange, but i couldn't find it.
I have no previous experience with MAPI programming.
Any help would be appreciated.
Sik.
|
|
|
|
|
I know under 5.5 there was a routing add-in sample that implemented this kind of functionality. It was pretty basic though. You would be best writing this server-side rather than using client side functionality or writing it client side using POP3 and SMTP so it can be used with any mailserver but I would keep away from writing client side MAPI to do this.
|
|
|
|
|
Hi this is my first beta and first program I am releasing to the world If possible can people test it and try it on there maching and lmk what specs your machines are? Thanks for any help and if you want to give comments or suggestions that would be appreciated as well
You can download it here:
http://www.stuffsoft.com/quicke.html[^]
Code4Food
----
"There is no try; only do or do not"
-Yoda
|
|
|
|
|
Just downloaded from http://www.stuffsoft.com/quicke.php
1/26/02 and installed on my Windows XP Compaq Presario 700 and the program makes it to the system tray but then Runtime error , abnormal termination.
I use AOL, which might be causing the problem.
Another critical point if I may, I personally do not like the installer you used, looks win 3.1 ish and it didn't want to install to my program file dir by default, which I prefer. I use InnoSetup[^] which is free and nicely designed.
Your website is hella cool and very attractive.
On monday, if I remember, I will try it at work on my win98 machine and lan connection.
Later,
JoeSox
www.joeswammi.com
"I find your lack of faith disturbing" - Darth Vader
|
|
|
|
|
Joe,
Thanks for all your kind comments. Sorry for the delay in getting back to you, but I'm trying to figure out why it crashed twice now, including your computer. I didn't even bother asking the other person what ISP they where using...hmmmmm.
I was looking at InnoSetup I might just give it a try. The only requirement is that the setup program be freeware, since the program is, that's the reason I was not going to put any bells or whistles on the program, just because it is free. But with the amount of people that have downloaded it, I may try to make it better.
LMK what happens JoeSox, and thanks for the comments. And its kewl that we have Star Wars type sigs!!! LOL
Code4Food
----
"There is no try; only do or do not"
-Yoda
|
|
|
|
|
Yes, Yoda is the man! Last Star Wars was great because of Yoda. But anyway Tried QuickE at work (Windows98se) and worked fine. I think your problem is with Windows XP users, that is the OS it crashed on me. I know that Windows XP is unusual not only because it uses another kind of control to handle taskbar buttons, but also because it implements a button grouping feature.
But I found a typo when I received my test email the bottom is misspelled:
"This messasge was sent quickly with QuickE"
message I believe what you meant
Don't feel bad I have made mistakes with my JoeSwammi software after I had rolled it out but I mostly code for hobby.
Later, JoeSox
Load my Sig here.....
|
|
|
|
|
Thanks for catching the typo. I'll fix it for the next release. I mostly code for a hobby as well, since my real job has me coding using Visual Basic and php/mySQL I wish I can get a job coding C++ but alas, its hard with no degree. So I created Stuffsoft, mostly a glittery front end, so people take the software seriously. If I just put a bunch of text in times new roman, I probably would have not be taken seriously
What version of XP are you running? The program was developed and tested on my Win XP professional installation. Home built syste, why it took awhile to respond all weekend had to replace a faulty mobo.
Btw, your site is very clean and professional as well. And you sell your software One day I'll release something worth selling, but for now QuickE and the other software project I'm developing concurrently seem to fit the freeware mold.
Code4Food
----
"There is no try; only do or do not"
-Yoda
|
|
|
|
|
Code4Food wrote:
What version of XP are you running?
Home with some hotfixes installed. I can get back to you with the exact info if you need it. My laptop is at home right now.
Thanks I am always wondering about my site. I am good and getting my sites ranked well on the engines but I am not graphically gifted
Later, JoeSox
Load my Sig here.....
|
|
|
|
|
(Yet Another Forum Testing Post)
If you're happy and you know it clap your hands.
If you're happy and you know it clap your hands.
If you're happy and you know it and you really want to show it clap your hands.
Alternatively, if you're German and you'd really like to help me out of a pickle click here[^]. Problems running the forums on German language systems have apparently been plaguing the forum scripts since their first release (which is odd because they were part created by a German: Uwe), and I'd like to make sure whatever is causing the problem/s is resolved in the upcoming version so I need help testing the software on such a system. Non Germans can still sign up of course, but I'm specifically looking for a German guy here... GSOH, 120lbs, Non-Smoker. *cough*
Live for today and die tomorrow.
|
|
|
|
|
I'm getting a 500 Internal Server Error when trying to post a reply to a thread in forumid 26. I am logged in.
Jon Sagara
When I want something, I just go out and buy it. That makes me a go-getter.
-- My sister
|
|
|
|
|
You've caught me in my nightly "update the scripts of the server".
I was hoping no-one would be around this time of night - I'll get them up asap.
Live for today and die tomorrow.
|
|
|
|
|
Hello again everyone!
I have updated the forum scripts to include Dynamic mode for Internet Explorer. I have only tested with IE6 sp1, but the scripts should work for at least IE 5.
Please bang away and notify me of any bugs.
Thanks!
http://www.sagara.org/cpforums[^]
Jon Sagara
When I want something, I just go out and buy it. That makes me a go-getter.
-- My sister
|
|
|
|
|
I am just curious but have you used ASP before? If so, how have you found PHP in comparison?
Posting some test messages on your board now btw...
Paul Watson Bluegrass Cape Town, South Africa Christopher Duncan wrote:
Which explains why when Santa asked, "And what do you want for Christmas, little boy?" I said, "A life." (Accesories sold separately)
|
|
|
|
|
I prefer PHP because of its C-like syntax. PHP seems to be a tad more accessible than ASP, too. OTOH, ASP appears to be a more professional technology because it is produced by one company, not hundreds of independent developers.
Example: in PHP, naming conventions are not strictly enforced. There is a function named stripslashes() to remove backslashes from a string. There is also a function named strip_tags() to remove HTML/script tags from a string. Kinda shoddy if you ask me, but everything seems to work just fine.
However, I haven't done enough ASP programming to be able to make an in-depth comparison of the two. As far as I can tell, they are pretty much the same, though I don't know how PHP matches ActiveX controls. I think you'd have to write a custom extension for PHP and then recompile the binaries in order to get the same functionality you would normally get out of an ActiveX control.
Sorry I don't have a better answer than that. Maybe tomorrow. It's bed time now.
Jon Sagara
When I want something, I just go out and buy it. That makes me a go-getter.
-- My sister
|
|
|
|
|
Jon Sagara wrote:
Sorry I don't have a better answer than that
No, your answer was great, thanks
I just wanted a general feeling really.
Paul Watson Bluegrass Cape Town, South Africa Christopher Duncan wrote:
Which explains why when Santa asked, "And what do you want for Christmas, little boy?" I said, "A life." (Accesories sold separately)
|
|
|
|
|
I didn't use ASP much, but I know why I love PHP:
1. Very easy to use if you are familiar with C/C++ syntax.
2. You can program at a very low level (sockets, ..etc)
3. Widely available in hosting companies for no extra fees.
4. Available on both Windows/Linux hosts.
5. Integrates very well with a variety of databases.
6. Can be extended by programming your own extensions.
7. More popular than ASP, see hotscripts poll with about 40,000 voters (http://www.hotscripts.com/polls/results.hsp[^])
8. Open Source
phpWebNotes is a page annotation system modelled after php.net.
http://webnotes.sourceforge.net/demo.php[^]
|
|
|
|
|
Cool!
Now we all have somewhere to go if Chris should happen to nod off once every 100 days and the servers misbehave - a lifesaver
I knew it would end badly when I first met Chris in a Canberra alleyway and he said 'try some - it won't hurt you'..... - Christian Graus on Code Project outages
Damned nice for remote servers where using Enterprise Manager is like wadding through treacle while covered in velcro, upside down -Paul Watson on SQL Server Query Analyser
|
|
|
|
|
The scripts now support Dynamic mode for Netscape 6+, though they have only been tested with NS7.
Jon Sagara
When I want something, I just go out and buy it. That makes me a go-getter.
-- My sister
|
|
|
|
|