Click here to Skip to main content
15,906,106 members
Home / Discussions / Article Writing
   

Article Writing

 
AnswerRe: DB Normalisation. Pin
Adam Maras22-Aug-08 12:04
Adam Maras22-Aug-08 12:04 
GeneralRe: DB Normalisation. Pin
Perspx22-Aug-08 12:10
Perspx22-Aug-08 12:10 
AnswerRe: DB Normalisation. Pin
Paul Conrad22-Aug-08 18:10
professionalPaul Conrad22-Aug-08 18:10 
AnswerRe: DB Normalisation. Pin
Syed Mehroz Alam26-Aug-08 19:11
Syed Mehroz Alam26-Aug-08 19:11 
GeneralRe: DB Normalisation. Pin
Pete O'Hanlon26-Aug-08 22:12
mvePete O'Hanlon26-Aug-08 22:12 
AnswerRe: DB Normalisation. Pin
bigbrownbeaver2-Sep-08 1:00
bigbrownbeaver2-Sep-08 1:00 
AnswerRe: DB Normalisation. Pin
shubhi8-Sep-08 1:27
shubhi8-Sep-08 1:27 
QuestionThe Elcitra Method Pin
G.Franklin8-Aug-08 6:42
G.Franklin8-Aug-08 6:42 
The Elcitra Method (“el-SEE-tra”) For Programmers

The web is filled with a wonderful array of programming articles ... from MSDN, WikipediA, all the Universities, CodeProject and many more. You can Google, Live-Search or hit F1 in Visual Studio and find a beautifully written article from any point of the globe. I’ve sure benefited from (and am thankful for) all the articles I’ve read.

Unfortunately, as wonderful and plentiful as The Article Method (AM) of learning is, programmers will probably spend most of their life learning by The Elcitra Method (EM). Let me contrast the two methods:

AM - The programming objectives are clearly and concisely stated right up front ... often in the form of an “abstract”.
EM - Yea right!

AM - From the abstract, you can choose to become involved with the learning process or not.
EM - You have to earn a living.

AM - Presented by persons of known or accepted authority, assuring you that your time reading the article and exploring the code is well spent.
EM - I don't need no stink'n authority.

AM - Has a peer review and rating system to further assure you of the importance and excellence of the material presented.
EM - Would be happy if someone even glanced at it before it was released.

AM - There are usually references to sources and additional articles if needed.
EM - What?

AM - Code, when finally presented, comes well structured with clear and correct comments.
EM - Code just comes.

AM - Code often comes with additional code to debug or showcase the topic code.
EM - You're kidding!

AM - Exercises your insight and imagination.
EM - Tortures your brain.

AM - Found in the realms of education and discovery.
EM - Occurs mostly in the realm of delivery.

AM - You learn the art of programming ... outside in.
EM - You learn the reality of programming inside out.

AM - Teaches you how to write code.
EM - Forces you to read code.

The Elcitra Method sometimes occurs (without the torture) in the realms of education and discovery. You know, like when the professor comes into class … scribbles something on the board … turns and says “So let’s discuss this. Henry, what does it mean”? And a rich discussion ensues, driven by the students with guidance from the facilitator. Sometimes the event is captured to video for those students yet to be born.

Ok, you got me. Yes, the Elcitra Method of learning programming is really maintenance programming … where the code comes first, and you write the rest of the article. An elcitra is an article written backwards. Oh … and there is no facilitator … and no video … so there IS TORTURE.

The only reliable means of maintenance programming is the ability to speed read code … independent of embedded comments or documentation. This is more like “a brain muscle skill” such as pattern recognition, analysis, and synthesis skills. It is based on practice … not knowledge.

Programmers cannot avoid learning by The Elcitra Method. It will be forced upon them again and again. But they should not despair. For every 16 tortures or so (each experience may vary) … a rosebud of knowledge or insight appears. And what is beautiful about this kind of gained knowledge or insight is that they will feel the knowledge or insight as much as know it … they will feel it (even dream it) through the code. They will become as good as that guy in the Matrix who could read a waterfall of green bits on black background and know exactly what was happening on the CGI side of The Matrix.

So far, I have not found a web forum or site or any place for programmers to learn by The Elcitra Method … gently, that is, with the assistance of other programmers. Thus, I propose a new web site concept. Let us refer to this new concept as the “Code Only Articles Network” or COAN pronounced KoH-An. The COAN article is a hybrid of the Article Method and Elcitra Method, having some characteristics of each.

The COAN article:

1. The lead paragraph and topic is pure code. Some brief hints or goals may precede the code. All lines of code exceeding 80 characters width, after tabs (4 wide only) are expanded, will be wrapped in the ugliest fashion possible. Within the actual code, only cryptic or misleading or unimportant or totally obvious comments are allowed. (EG: “1=1 most of the time”)

2. Usually has a download with the topic code, plus any additional code to test or prove or showcase or compile or use the topic code and allow the reader to quickly establish the environment to play with the code. The download items are listed with a brief description, so you don’t have to download to know what it contains.

3. Usually targeted to engage the reader immediately, so size and complexity is more like a snippet, applet, algorithm, or class definition. If it gets too big … it may be a standard article … but big COAN articles are allowed.

4. Topic code goal can be anything the author desires, a complete or partial, elegant or cryptic, working or broken or incomplete, applet, algorithm, or class … whatever. There might (or not) be a note like “Find the bug.”, “Fill in the missing code.”, “How does this work?”, “What is the output?”, “How would you do this differently?”, or “What part of this code makes you laugh?”.

The COAN Site/Forum:

1. Tags each new COAN with a unique number, submitting site-member, title, language type, target audience (if any), date of arrival, and code licensing and copyright information (which may or may not be embedded in the COAN code).

2. Tags the COAN article with “days till archive” … essentially a countdown till the COAN will scroll off the web into an archive bucket. The archive bucket is not online so it does not impact the servers. This also reduces/eliminates the need for contributing editors … except as specified in 6.

3. Has a means to allow the reader to selectively view or browse the COAN article data base by those tags, and key words supplied by the readers.

4. Allows any interested readers submit questions or comments, additional code or whatever. This is where “the article part” actually gets written. This is where the fun begins and the torture is shared.

5. Allows the readers to extend the days to demise, or even pin it permanently to the web. There is NOT a “NO” vote. There is an only “I got something from this” vote, which adds a day or two to the days till archive. Even if the code topic gives you nothing, you could still get something from “the article” written by the other readers.

6. Has a means for readers to notify the web editors when an article is violating the site’s guidelines or ethics or has intellectual property issues.

Check out the Example COAN article at the bottom of these comments.

Some COAN articles could become classics. Some COAN articles could inspire fully formed articles. The vast majority will simply scroll off the end of the web, as well they should. This sure simplifies the web management issue.

However, as the COAN articles parade by, programmers would have an opportunity to teach and to learn programming via the Elcitra Method … with some guidance … and maybe even a video. At least they will be able to share their torture with others.

I have a lot more ideas about how this would work, but I don’t want to talk about them now.

g.CoderCat





Example COAN article:

COAN#3481772 BlankScreens (C#, beginners) Days till archive: 10

Create a new minor release with the additional colors #3399FF and #FF3366.
Supply documentation of: how to install and use BlankScreens.exe, and what it does.

CODE:
using System.Reflection; using System.Windows.Forms; using System.Drawing;
[assembly: AssemblyCompany("g.CoderCat (author)")]
[assembly: AssemblyCopyright("all beings")]
[assembly: AssemblyProduct("BlankScreens")]
[assembly: AssemblyVersion("0.0.3.*")]
internal static class BlankScreens
{   [System.STAThread] static void Main() 
	{ Application.Run(BlankForm.LoadAll()); }
    class BlankForm : Form
    {   static BlankForm[] zxForms = new BlankForm[Screen.AllScreens.Length];
        static int ziColor = 0; static Color[] zxColors
        = { Color.Black, Color.White, Color.Red, Color.Green, Color.Blue };

        internal static BlankForm LoadAll() { return new BlankForm(0); }
        BlankForm(int index)
        {   SuspendLayout();
            Text = "BlankScreen(" + index.ToString() + ")";
            ShowInTaskbar = false;
            FormBorderStyle = FormBorderStyle.None;
            StartPosition = FormStartPosition.Manual;
            BackColor = zxColors[ziColor];
            Cursor.Dispose();
            TopMost = true;
            Bounds = Screen.AllScreens[index].Bounds;
#if(DEBUG) // no fun to DEBUG with fullscreens
            if (System.Diagnostics.Debugger.IsAttached)
                Size = new Size(111, 111);
#endif
            Show();
            if (index > 0) return;
            zxForms[0] = this; // the 1st to arrive sets up the chairs
            for (int i = 1; i < zxForms.Length; i++)
                zxForms[i] = new BlankForm(i);
        }
        protected override void OnMouseDown(MouseEventArgs e)
        {   if (e.Button == MouseButtons.Right) z_NextColor();
            else z_DisposeAll();
        }
        protected override void OnKeyDown(KeyEventArgs e)
        {   if (e.KeyCode == Keys.ControlKey) z_NextColor();
            else z_DisposeAll();
        }
        static void z_DisposeAll()
        {   for (int i = zxForms.Length - 1; i >= 0; i--)
                zxForms[i].Dispose();
        }
        static void z_NextColor()
        {   if (++ziColor >= zxColors.Length) ziColor = 0;
                for (int i = 0; i < zxForms.Length; i++)
                    zxForms[i].BackColor = zxColors[ziColor];
}   }   }

DOWNLOAD:
• BlankScreens.cs – code, as above
• BlankScreens.csproj - for Visual Studio
• BlankScreens.ico - a new moon ... an arbitrary icon
• BlankScreens.build.bat - parameters for compiling with Csc.exe
• BlankScreens.exe - output of my csc.exe

g.CoderCat

AnswerRe: The Elcitra Method Pin
Paul Conrad8-Aug-08 19:48
professionalPaul Conrad8-Aug-08 19:48 
GeneralRe: The Elcitra Method Pin
G.Franklin9-Aug-08 7:34
G.Franklin9-Aug-08 7:34 
GeneralRe: The Elcitra Method Pin
Pete O'Hanlon10-Aug-08 9:56
mvePete O'Hanlon10-Aug-08 9:56 
GeneralRe: The Elcitra Method Pin
G.Franklin10-Aug-08 15:54
G.Franklin10-Aug-08 15:54 
GeneralRe: The Elcitra Method Pin
Pete O'Hanlon10-Aug-08 22:19
mvePete O'Hanlon10-Aug-08 22:19 
GeneralRe: The Elcitra Method Pin
G.Franklin11-Aug-08 4:49
G.Franklin11-Aug-08 4:49 
GeneralRe: The Elcitra Method Pin
Pete O'Hanlon11-Aug-08 5:24
mvePete O'Hanlon11-Aug-08 5:24 
GeneralRe: The Elcitra Method Pin
G.Franklin11-Aug-08 10:03
G.Franklin11-Aug-08 10:03 
GeneralRe: The Elcitra Method Pin
Pete O'Hanlon11-Aug-08 10:34
mvePete O'Hanlon11-Aug-08 10:34 
GeneralRe: The Elcitra Method Pin
G.Franklin11-Aug-08 11:53
G.Franklin11-Aug-08 11:53 
GeneralRe: The Elcitra Method Pin
MikoTheTerrible6-Oct-08 17:21
MikoTheTerrible6-Oct-08 17:21 
GeneralRe: The Elcitra Method Pin
Scott Dorman16-Aug-08 5:35
professionalScott Dorman16-Aug-08 5:35 
Questionpost article Pin
nelsonpaixao7-Aug-08 13:45
nelsonpaixao7-Aug-08 13:45 
AnswerRe: post article Pin
Vasudevan Deepak Kumar28-Aug-08 7:53
Vasudevan Deepak Kumar28-Aug-08 7:53 
AnswerRe: post article Pin
Sean Ewington28-Aug-08 8:47
staffSean Ewington28-Aug-08 8:47 
Question[Message Deleted] Pin
Member 46937876-Aug-08 19:29
Member 46937876-Aug-08 19:29 
AnswerRe: Dual monitor video display problem Pin
Pete O'Hanlon6-Aug-08 22:46
mvePete O'Hanlon6-Aug-08 22:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.