Journal Articles
Browse in : |
All
> Journals
> CVu
> 114
(20)
|
Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.
Title: Briefs
Author: Administrator
Date: 03 June 1999 13:15:31 +01:00 or Thu, 03 June 1999 13:15:31 +01:00
Summary:
Body:
If readers put their minds to it this should become one of the larger parts of C Vu as well as being one of the more enjoyable reads. Do not sit down and try to come up with something. Instead, when you come across something that triggers one of these reactions:
-
That's interesting
-
I never knew that
-
I knew that, but forgot it
-
That looks clever
-
etc.
make a mental note (or even an actual one) and then write it up to share with your fellow members. When in doubt, write it up and send it in.
The Q&A column in C Vu 11.3 gave the example of a student writing "void convert_case();" and wondering why the function wasn't called. I have had similar things with students writing "X x();" as the declaration of a local variable called x of type X. Of course, just like the previous example it declares a function prototype instead of a variable. The confusion is compounded because when they write "new X()" it works as they expect.
Now who can tell me the difference between writing new X and new X()?
The following are actual quotes from people responding to my informal enquiries about PhD research beginning in 2000 in the field of universal information accessibility:
A PhD supervisor: "It's fundamentally impossible and therefore not worth bothering with."
Another supervisor on exactly the same thing: "Why do you think it's a research problem rather than a simple piece of software engineering?"
Same person: (quotes my email signature) "Did you think I needed this information?"
A company (although they usually don't reply at all): "We are unable to sponsor you, but if you achieve it then please let us know." Someone else: "Competition is very tough here and your chances of getting in are about zero."
Another from the same establishment: "We're lucky to be here but that doesn't mean we're good. Find somewhere better."
A researcher: "Can you send me anything you've done so far? I might want to put it in a paper I'm writing."
Another: "I'd love to swap ideas with you but I'm on the FreeBSD kernel development team and I receive hundreds of emails a day. I'll get back to you when it's finished."
Admissions department of leading Japanese university at which there is already such a research group: "There is no English book. Please ring...." I did and got "Extension number please?" Any non-numerical response got the question repeated, so I replied to the email to no avail.
A "universal design engineer": "Best thing to do is get yourself a real job and do it in your spare time."
contributed by Hubert Matthews <hubert@patrol.i-way.co.uk>
Francis mentioned in a side note (Briefs C Vu 11.3) the implicit conversion from int to unsigned int when using mixed arithmetic. I got caught recently with this (heavily abridged) example:
int months(unsigned int perYear) { return -12 / perYear; }
Looks innocuous, but -12 gets converted silently to an undesirably large positive number. John Lakos in "Large Scale C++ Software Design" cautions against the use of unsigned in an interface as the conversion is silently applied and the compiler cannot warn. Using unsigned doesn't prevent someone passing in a negative argument, and you can only tell by converting it back to an int anyway! Hence a better solution to the above would be:
int months(int perYear) { assert (perYear > 0); return -12 / perYear; }
which at least would give a run-time warning of a problem. (It also prevents a possible division by zero error that the first version might suffer.)
Notes:
More fields may be available via dynamicdata ..