[Files] New AmigaOne firmware available | ANN.lu |
Posted on 06-Oct-2004 12:44 GMT by Rik Sweeney | 226 comments View flat View list |
A news item on AmigaWorld.net states that Hyperion has released the update of U-Boot to 1.1.1
|
|
New AmigaOne firmware available : Comment 201 of 226 | ANN.lu |
Posted by hammer on 10-Oct-2004 09:40 GMT | In reply to Comment 178 (Don Cox): Note that that would require extra funding and resources... |
|
New AmigaOne firmware available : Comment 202 of 226 | ANN.lu |
Posted by hammer on 10-Oct-2004 09:47 GMT | In reply to Comment 194 (Anonymous): Why not contribute with the clean up instead of complaining? |
|
New AmigaOne firmware available : Comment 203 of 226 | ANN.lu |
Posted by Don Cox on 10-Oct-2004 10:29 GMT | In reply to Comment 202 (hammer): "Why not contribute with the clean up instead of complaining?"
He (or she) may be too superior to do mundane things like that. I envision a job title such as "Strategic Director of Resources". |
|
New AmigaOne firmware available : Comment 204 of 226 | ANN.lu |
Posted by Gregg on 10-Oct-2004 11:55 GMT | In reply to Comment 197 (Don Cox): You seem to be speaking from a very superior position. Presumably your own code is of high quality. What software have you written? I am surprised that you would want to be anonymous.
Tremendous swordplay, Don. Sparring with Don is seldom dramatic, but sometimes deadly - Death By A Thousand Cuts deadly...
Gregg |
|
New AmigaOne firmware available : Comment 205 of 226 | ANN.lu |
Posted by Anonymous on 10-Oct-2004 19:58 GMT | In reply to Comment 197 (Don Cox): There's nothing particularly superior about being a competent engineer and pointing out other people in the same discipline doing shoddy work.
As to who I am, I fail to see how that's relevant. I've made no claims about myself other than the implicit claim of competence. Software I've contributed to includes the Mozilla browser suite, the Linux kernel and GNOME, as well as stuff much less famous like pim6sd and MAD-FLUTE. I've seen plenty of good and bad code in all that time. All my code, including the stuff for which I wasn't paid, was to a proper standard in my opinion and I've seen no complaints from my fellow developers -- not many from nightclub owners either :)
What I do know (from watching these forums) is that using your real name on ANN or anywhere else in "Amiga land" is primarily an opportunity for ad hominem attacks, unwanted intrusions into ones personal life, and even threats of physical violence. So that I won't be doing. If you're not interested in the opinions of someone who is anonymous, simply don't reply to them. |
|
New AmigaOne firmware available : Comment 206 of 226 | ANN.lu |
Posted by Mike Powell on 11-Oct-2004 07:05 GMT | In reply to Comment 205 (Anonymous): Then no doubt you will be able to provide annotated samples of the sloppy coding on here to substantiate your claims right? I mean it is open source and GPL'd code you are talking about.
If you want to be taken seriously that is. |
|
New AmigaOne firmware available : Comment 207 of 226 | ANN.lu |
Posted by Anonymous on 11-Oct-2004 17:54 GMT | In reply to Comment 206 (Mike Powell): Here's a typical fragment. Apparently people used to pay money for the program from which this extract is taken...
--------------------
Xlim=636;
Count=71;
while(Count<Xlim)
{
Temp=*(sampoint+Jum);
Tempw=Temp;
Tempw=Tempw >> 9;
Tempw=~Tempw;
Tempw=Tempw+78;
z[Count]=Tempw;
Jum=Jum+Jump;
Count++;
}
-------------------
What are Xlim and Count? Why the numbers 636, 71, and 78? Why a 9 bit right shift (and why not division by 512, if that's what is meant)? All undocumented. If we guess that Temp and Tempw are temporary values, not some magic which will be re-used much later in the rambling subroutine from which this extract was taken, why aren't they local to the block in which they are used?
Since Xlim is constant for the duration of the loop, why use a variable for this value 636 all? A named constant or pre-processor macro would also be a good place to explain the significane of the magic number.
The idiom is poor too. C has accumulator operators, so a competent native C programmer writes Jum += Jump; making the intention clear, rather than using the equivalent but less clear Jum = Jum + Jump. C includes a powerful for loop which is perfectly suited to the initialisation, stepping and conditional termination of a loop to be executed zero or more times, but this example uses a while loop instead. |
|
New AmigaOne firmware available : Comment 208 of 226 | ANN.lu |
Posted by Anonymous on 11-Oct-2004 23:17 GMT | In reply to Comment 207 (Anonymous): Holy Hell! Now I understand the UBoot folks refusing Hyperion code. Let's hope the 3rd party contributors to AmigaOS4 are more competent than Hyperion and the Friedens. This shit really scares me. |
|
New AmigaOne firmware available : Comment 209 of 226 | ANN.lu |
Posted by Anonymous on 12-Oct-2004 08:46 GMT | In reply to Comment 208 (Anonymous): That's not a fragment from UBoot. I don't remember stating that I've read the UBoot code, although in fact I have skimmed through it some time ago. The comment on UBoot I made based purely on the admission made earlier in the thread that patches from Hyperion's A1 version had been rejected by the UBoot team for compiler warnings & poor separation of changes. |
|
New AmigaOne firmware available : Comment 210 of 226 | ANN.lu |
Posted by Gregg on 12-Oct-2004 11:13 GMT | In reply to Comment 207 (Anonymous): That's certainly pretty horrible code; I regularly come across similar levels of incompetence, however, and all written by alleged professionals. As Don said, while deplorable to the competent programmer, if the user is happy with the function and none the wiser, who are we to complain? (Rhetorical : I probably feel as strongly as you and jwz do about this, but I'm trying to develop a more pragmatic, less stressful philosophy).
I do take umbrage at one criticism, however :
C has accumulator operators, so a competent native C programmer writes Jum += Jump; making the intention clear, rather than using the equivalent but less clear Jum = Jum + Jump.
Your "less clear" claim is manifestly untrue. If you can produce for me one person who was taught C programming before basic algebra, I'll take that back. In the meantime, I'll happily wallow in my bigotted opinion that C is a filthy perversion of a programming language that was foisted on the world as a bad joke and compounded by the innocent fools who fell for it.
Gregg |
|
New AmigaOne firmware available : Comment 211 of 226 | ANN.lu |
Posted by Fabio Alemagna on 12-Oct-2004 11:28 GMT | In reply to Comment 210 (Gregg): > Your "less clear" claim is manifestly untrue. If you can produce for me one
> person who was taught C programming before basic algebra,
But in algebra you don't learn the notion of "assignment", the '=' sign stands for equality, and is used in equations.
If we want to stay in the math field, an assignemnt like the one we're talking about is only talked about when studying theory of signals, and certainly not at this basic level. |
|
New AmigaOne firmware available : Comment 212 of 226 | ANN.lu |
Posted by Don Cox on 12-Oct-2004 11:42 GMT | In reply to Comment 211 (Fabio Alemagna): "But in algebra you don't learn the notion of "assignment", the '=' sign stands for equality, and is used in equations."
When coding, I read "=" as "becomes" - but it was a mistake to use the "=" sign for this in the first place. ">" might have been more suitable. |
|
New AmigaOne firmware available : Comment 213 of 226 | ANN.lu |
Posted by Fabio Alemagna on 12-Oct-2004 12:12 GMT | In reply to Comment 212 (Don Cox): > When coding, I read "=" as "becomes"
Yes, but that only goes to reinforces the claim that such things are not discussed in the Algebra field :-)
> - but it was a mistake to use the "=" sign for this in the first place. ">"
> might have been more suitable.
Well, '>' stands for greater than, and that is how it's always been since way before computers were invented... |
|
New AmigaOne firmware available : Comment 214 of 226 | ANN.lu |
Posted by Gregg on 12-Oct-2004 12:17 GMT | In reply to Comment 211 (Fabio Alemagna): But in algebra you don't learn the notion of "assignment", the '=' sign stands for equality, and is used in equations.
So you're saying = != =*?
Aren't computers fun.
Gregg
* : Or in "old school" languages, that might be = <> =. |
|
New AmigaOne firmware available : Comment 215 of 226 | ANN.lu |
Posted by Fabio Alemagna on 12-Oct-2004 13:00 GMT | In reply to Comment 214 (Gregg): > So you're saying = != =?
>
> Aren't computers fun.
Hm, I'm not sure I understand what you mean. |
|
New AmigaOne firmware available : Comment 216 of 226 | ANN.lu |
Posted by Gregg on 12-Oct-2004 13:31 GMT | In reply to Comment 215 (Fabio Alemagna): I was having fun with the different semantic meanings of the sign '='; as there's three different meanings of '=' in this 'statement' : "= != =", it's pretty much gibberish, although one might read it as "the equals sign does not equal the equals sign".
You made a valid point that the source code statement :
Jum = Jum + Jump
is not equivalent to :
x = x + y
but, although I was indeed guilty of confusing the algebraic '=' (equality) with the programming '=' (assignment), I still like to think that the essential point is true : if I gave a neophyte programmer the question "Which of these statements assigns the value of Jum + Jump to Jum?", and she answered "Jum += Jump", I'd throw her out the class.
Gregg |
|
New AmigaOne firmware available : Comment 217 of 226 | ANN.lu |
Posted by Alkis Tsapanidis on 12-Oct-2004 22:27 GMT | In reply to Comment 216 (Gregg): Excuse me, I wouldn't call myself a programmer but I can write some stuff in C
and I have always used +=... It's not uncommon and it's not stupid. It's normal
and it *DOES* make sense. |
|
New AmigaOne firmware available : Comment 218 of 226 | ANN.lu |
Posted by Bernie Meyer on 13-Oct-2004 00:03 GMT | In reply to Comment 216 (Gregg): The thing is, no competent C programmer will *think* of it as "assign the sum of x and y to x". What happens here is that the value of x is *incremented* by y.And it's not just that the use of "+=" would immediately signal "increment". The fact that C has predefined operators for increment, decrement, scale and so on means that a competent C programmer will expect any line with a simple "=" assigment operator to do something that can *not* be expressed as an incremet, decrement, scale...Cmoing at it from another way --- "Increment x by y" involves two variables, x and y, and an operation, increment. "x+=y" expresses that. "x=x+y" or worse "x=y+x" involves three variables (two of which happen to be the same, but the reader needs to match those herself), and an operation which is decidedly not "increment".Looking at it yet another way, given two same-integer variables x and y (and where needed a third one z), one *could* write "x^=y; y^=x; x^=y;". Or one could write "z=x; x=y; y=z;". Or one could use "swap(&x,&y);" and have a swap function implemented somewhere else (In C++, using references, one could even have it be "swap(x,y);", and in Perl "($x,$y)=($y,$x);"). All of these do exactly the same thing, and the first version is arguably the fastest and most efficient --- but you would never use it in real code, because the whole connotation of "^=" is "bit operator!", i.e. something that works on individual bits. Yes, it does the right thing in the end, but semantically, it misleads. |
|
New AmigaOne firmware available : Comment 219 of 226 | ANN.lu |
Posted by Gregg on 13-Oct-2004 00:35 GMT | In reply to Comment 218 (Bernie Meyer): Oh great - Gregg v. Fabio, Alkis and Bernie; this should be quick...
Actually, I think I've not made my point clearly; I was simply disagreeing with our Anonymous "competent engineer"'s claim that
Jum = Jum + Jump
is less clear than
Jum += Jump
If you want to make an argument out of this, please explain why, in your humble opinion, the latter is clearer than the former.
Nothing to do with correct C syntax or style; I assure you, when I'm obliged to write C, I only use the former structure until I remember the "+=" operator, and then spend precious stress points agonising about whether I should go back and change all my earlier gaffes in case the C fascists start posting my code on ANN...
Since I'm a glutton for punishment, I'll also point out that "+=" is a problem because it is a(nother) superfluous operator (notwithstanding Bernie's elegant argument differentiating "addition" from "incrementation"). See here :
Idiot : How do I add two variables?
Savant : Straightforwardly, c = a + b.
Idiot : Wow, that was easy! Hey, I can save a variable there : a = a + b.
Savant : Ah well, you should really use a better operator there : a += b.
Idiot : Oh. +=. I'll try and remember that.
Savant : Unless b is 1, of course; then you'll want to use that natty ++ operator.
Idiot : I will? Can't I just write a = a + 1?
Savant : Well, only an idiot would do it that way.
Idiot : Right you are.
Gregg |
|
New AmigaOne firmware available : Comment 220 of 226 | ANN.lu |
Posted by Gregg on 13-Oct-2004 00:47 GMT | In reply to Comment 219 (Gregg): If you want to make an argument out of this, please explain why, in your humble opinion, the latter is clearer than the former.
I realise that Mr Anonymous Competent Engineer's claim is a little easier to swallow in the context of someone reading the code who is entirely attuned to accepted C syntax, such that something non-standard jars him off-track, so to speak. A bit of a stretch, still, but maybe I should give him the benefit of the doubt...
Gregg |
|
New AmigaOne firmware available : Comment 221 of 226 | ANN.lu |
Posted by Anonymous on 13-Oct-2004 00:58 GMT | In reply to Comment 216 (Gregg): Implying females are incompetent is oh so nice.
And what "she" would answer is correct and you should be thrown out of that so called class so let competent female programmers be left alone.
"What is your favourite colour?" |
|
New AmigaOne firmware available : Comment 222 of 226 | ANN.lu |
Posted by Anonymous on 13-Oct-2004 07:34 GMT | In reply to Comment 219 (Gregg): "Nothing to do with correct C syntax or style; I assure you, when I'm obliged to write C, I only use the former structure until I remember the "+=" operator, and then spend precious stress points agonising about whether I should go back and change all my earlier gaffes"
What we've (Bernie and I) found out is that you're not a very good C programmer because of your poor grasp of the idiom, the hidden rules of language that make it easier for human users to communicate. This isn't intended for the compiler or any part of the toolchain, but for the humans that come after you to maintain the same code.
"I'll also point out that "+=" is a problem because it is a(nother) superfluous operator"
It is by definition superfluous in the sense that the same thing can be achieved by another means. You realise that this also applies to all but one of the loop constructs, to the entire switch() mechanism, the much maligned goto and probably lots of other things I haven't thought of ?
These things are syntactic sugar. They were intentionally designed into this otherwise very small language to make programs more readable, even though they don't extend the range of possible programs. If you refuse to use them you make your programs harder to understand by other people (the machines mostly don't care though you may miss out on useful optimisations). |
|
New AmigaOne firmware available : Comment 223 of 226 | ANN.lu |
Posted by Gregg on 13-Oct-2004 12:16 GMT | In reply to Comment 221 (Anonymous): Implying females are incompetent is oh so nice.
Thanks. I had a little bet with myself that someone would complain about that.
A couple of things to consider :
1) Would you have complained if the example had been male?
2) Did I really imply that the hypothetical female is actually incompetent?
By the way, I have no problems with females - some of my best friends are females, you know. Heck, I'm even married to one!
Gregg |
|
New AmigaOne firmware available : Comment 224 of 226 | ANN.lu |
Posted by Gregg on 13-Oct-2004 12:27 GMT | In reply to Comment 222 (Anonymous): What we've (Bernie and I) found out is that you're not a very good C programmer
You may be a competent engineer, but you're not going to make a mint as a sleuth - I am indeed a poor C programmer.
because of your poor grasp of the idiom
Nope. Nothing to do with "the idiom" - just personal choice. This is not a problem, because I don't write C professionally, and I haven't (yet) inflicted my C code on the public at large - unlike my opinions, of course.
I like to think I do a little better with a range of other languages which I prefer, or have to use professionally. I once hit the source line limit in IBM's VS-BASIC, you know...
Gregg |
|
New AmigaOne firmware available : Comment 225 of 226 | ANN.lu |
Posted by Alkis Tsapanidis on 13-Oct-2004 13:43 GMT | In reply to Comment 224 (Gregg): So, you consider basic a good language and call C a pervertion... Whatever:-)
In Basic, you can produce the biggest spaghetti you can ever produce by writing
just simple stuff. |
|
New AmigaOne firmware available : Comment 226 of 226 | ANN.lu |
Posted by Gregg on 13-Oct-2004 14:38 GMT | In reply to Comment 225 (Alkis Tsapanidis): The VS-BASIC comment was just for a laugh, Alkis!
As with all programming languages, BASIC has weaknesses and strengths; I'm happy to let personal idiosyncracies determine which ones I think are "good" or "bad".
If you want to get into this some more, have a go here :
http://www.flyingmice.com/squid/moobunny/coder/
Regards,
Gregg |
|
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|