Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Brown Belt

JohnNichols
Valued Contributor III
1,390 Views

Dear Steve:

Iwas recently advised by Intel that I am now a Brown Belt.

As a long time FORTRAN programmer:

1. I would only wear a Brown Belt as Black Belts are for suits.If you have not encountered the term suit, it is the latest derogatory term on Maximum PC.
2. I only read Maximum PC and Dr FORTRAN Blogs as I fall asleep, aside from the odd Captain Underpants books to my daughter, who at six has asked for admin privileges on the computer. I have told her that I will ask Dr FORTRAN if that is ok. She thinks Dr FORTRAN is Santa's brother and she has great faith in him.
3. I ask every class if they know the 'ultimate answer' - If I am told '42' thenI know that at least one A will be awarded in the class.
4. I know only three great movies about computers were ever made and two star Robert Redford. The other would star Robert Redford, but they called the part Hal. No one can call Robert Redford Hal.
5. Since D Adams and Hemingway died, there have been no great authors alive. Ok, aside from Dr FORTRAN.
6. Arthimetic goto's are God's gift to FORTRAN, damn the person who killed them.
7. A decent Fortran programmer would rewrite the goto9999 statement in WINMAIN to an if statement.
8. When told recently by a poor soul that they were OCD and could only buy in 2's, I knew I had reached some sort of binary heaven.
9. You do not park near the Starbucksthat is near the Chinese Houston Consulate as your car will be towed. If any Fortran programmer knows the head of Starbucks can they tell him that I used to buy 5 Starbucks a week and now I buy none. You are legend in Houston - not a good legend - and there is plenty of parking around you so why tow.
10.Wearing a John Deere cap upsets a wife who used to work for Caterpillar. I have at least one victory a day. But she is a C'er and thinks Fortran is for wimps...

Regards
John Nichols, BE, PhD, MIE(AUST), BrB(Intel)

0 Kudos
1 Solution
Les_Neilson
Valued Contributor II
1,390 Views
Dear John
(1) Welcome to the BBC (Brown Belt Club)
(2) My Granddaughter, who is 4 and big half, likes The Octonauts especially Captain Barnacles, and is telling everyone that she starts University in September :-)
...
(5) Have you tried Terry Pratchett's Discworld books ?
(6) Whoever removed arithmetic goto should be given a medal. Whoever introduced Select Case should be given a medal. Whoever introduced allocatable arrays should be given a medal. Whoever ...
...
(8) There are three kinds of programmer - those who can count, and those who can't.
(9) In Nottingham there is a Waterstone's book store with a Costa Coffee area I used to frequent when I worked in that city. It was comfortable; has now gone up-market with the seating; and gone down in my estimation. Now in Denver Co there is(was?) a book store called "The Tattered Cover" with a fab eating area
andvery helpful staff who helped mefind some books specifically requestedby my daughter for me to bring home.
(10) Alas becoming a husband/father means we lose all sense of fashion from that moment on. Picking up my daughterafter she had been to the cinema with her friends I had to "wait round the corner" so they didn't see me and -"don't wear that silly hat"

Les Neilson Hubby, DaD,BrB(Intel) anda Grandad

View solution in original post

0 Kudos
8 Replies
Les_Neilson
Valued Contributor II
1,391 Views
Dear John
(1) Welcome to the BBC (Brown Belt Club)
(2) My Granddaughter, who is 4 and big half, likes The Octonauts especially Captain Barnacles, and is telling everyone that she starts University in September :-)
...
(5) Have you tried Terry Pratchett's Discworld books ?
(6) Whoever removed arithmetic goto should be given a medal. Whoever introduced Select Case should be given a medal. Whoever introduced allocatable arrays should be given a medal. Whoever ...
...
(8) There are three kinds of programmer - those who can count, and those who can't.
(9) In Nottingham there is a Waterstone's book store with a Costa Coffee area I used to frequent when I worked in that city. It was comfortable; has now gone up-market with the seating; and gone down in my estimation. Now in Denver Co there is(was?) a book store called "The Tattered Cover" with a fab eating area
andvery helpful staff who helped mefind some books specifically requestedby my daughter for me to bring home.
(10) Alas becoming a husband/father means we lose all sense of fashion from that moment on. Picking up my daughterafter she had been to the cinema with her friends I had to "wait round the corner" so they didn't see me and -"don't wear that silly hat"

Les Neilson Hubby, DaD,BrB(Intel) anda Grandad
0 Kudos
JohnNichols
Valued Contributor III
1,390 Views
Dear Les:

I have daughters who are 21, 16, 6 and now we are getting a 4 year old.

The eldest wants to see Dad twice a year, the 16 loves Dad and spends all neat time with him, the six year old loves her mother, but likes Dad taking her to the movies and the 4 year old lives in Inner Mongolia. Dr Fortran never said life would be easy.

I hate case statements, love if statements, I want to be able to read the code. Allocatalbe arrays are ok, but do you not miss the days when 64k was a lot and we had to use our wits. And when there was no security on a PC and you could put a simple Fortran program that said "The Phantom Code Writer has just wiped your hard drive" and scare the non-nerds.

Now we have to use our wits to understand a 850 page IFWINTY file.

It took me several months to understand what the hell was happening in the Windows Main Code, mainly cause I was looking for some form of functional logic and it exists, but it was obscured. I finally rewrote the code to be if statements instead of goto's, introduced a debug global variable so I can print out if I want to as I run the program, and fail global variable so if winmain fails to load I can track the reason.

I now need to fix the status bar code, which works in CVF, but not IVF, I suspect because of the change in static variables. Not hard to fix once you know what you are looking for. As Steve said, save, save save.

I suggest you have a look at the site http://www.lakelandcam.co.uk/

that is where I would like to be right now instead of steamy Texas.

Thanks for the note.

JMN
0 Kudos
Ron_Green
Moderator
1,390 Views
Dear John,

I can guarantee no suits read this forum.

Dr. Fortran is indeed Santa's brother. Santa doesn't mention him because he's jealous of Steve's red beard.

Parking by the Starbucks: are you sure your car, by some highly improbable event, suddenly materialize tens of thousands of feet above an alien planet along with a pot of petunias? And become self-aware in the process, and was last heard uttering "oh no, not again!".

My daugher is 16 and thinks Dr. Fortran is a red-bearded ninja warrior. I told her "yes, that is correct".

cheers

ron
0 Kudos
JohnNichols
Valued Contributor III
1,390 Views
Dear Ron:

Thank you for the reply.

I have told my daughter she has to await Dr Fortran's reply. She is going to ring him up next.

When told that we did not know number, she said "Uncle Tom does he works for Intel".

No car is Honda, so it cannot float and no self respecting Bogon would lift a Honda, Torana maybe, Honda no.



JMN


0 Kudos
Les_Neilson
Valued Contributor II
1,390 Views
This is way more fun than debugging code someone else wrote 20+ years ago.
My granddaughter will be writing to Dr Fortran this Christmasas she wants "a really real dog" and didn't get one last year from his brother. :-(

I remember (just) debugging 0C7 mainframe bugs with paper core dumps inches thick. Ah kids these days don't know how lucky they are.

I wish I was on a sandy beach somewhere - I grew up in a seaside town in NE England and I miss the coast.
(Although the English Lakes countryside would be nice too.)

But right now I need my morning decaf :-)

Les
0 Kudos
bearoflittlebrain_ol
1,390 Views
It's coming up to 50 years since I wrote my first Fortran program, but I like a lot of the improvements made in recent years. I too have spent a lot of time wondering at the complexities of WinMain & WndProc ifone called for a SDI project. But mostly nowadays I use a minimalist WinMain that doesn't even have a WndProc:
[bash]!
!-------------------------------------------------------------------------------
integer function WinMain( hInstance, hPrevInstance, lpszCmdLine, nCmdShow ) 
!MS$ ATTRIBUTES STDCALL, ALIAS : '_WinMain@16' :: WinMain 
!
use MainModule
!Function parameters integer(4), intent(in) :: hInstance, hPrevInstance, nCmdShow, lpszCmdLine ! ! Call subroutine that contains your workings. call MainSub ! ! Exit program WinMain = 0 ! end function WinMain
This is a really fast way to get going if you don't need the callback.




[/bash]
0 Kudos
JohnNichols
Valued Contributor III
1,390 Views
Dear Bear:

Yesterday I betook myself to the PRC Consulate in Houston to obtain a visa for my families forthcoming trip to China to collect our daughter from Inner Mongolia. I had to make a return trip to the consulateafter the rules were changed. The joy of 44 degree weather in Houston.

I had four hours to kill so I went to a local library and flashed up the old DELL XPS. I spent deveral hours deep in the bowels of the Windows API as I got Lawrence's status bar to work in IVF. I got the code to show which menu item was in focus and which subroutine was running, so I could track progress on the status bar.

With my Word copy of the main modules, and access to the Windows API the stuff is finally making sense. When I first set up the status bar I had not seen Lawrence's use of string tables, so once I had fixed that it looked better.

Lawrence used a single szStatusText variable, whihc retained values and caused some odd text to pop up in odd places.

I also put in error checking for return variables, but this raised an interesting observation. I use
[bash]iccex%dwSize = sizeof(iccex)
    iccex%dwICC = ICC_BAR_CLASSES  
    jret = .FALSE.
    jret = InitCommonControlsEx(iccex)
 
    if (jret == .FALSE.) then
        sRet = LoadString(GetModuleHandle(NULL), IDS_STRING103, szBuffer, 16)
        sRet = LoadString(GetModuleHandle(NULL), IDS_STRING104, szBuffer1, 42)
        iret = MessageBox(ghwndMain, szBuffer1, szBuffer, MB_OK)
       
    endif[/bash]
the return value and check it for an error. But what if there is an error on the load string or message box. This would make a nice recursive loop that never ended in LISP. At what stage do you give up,

I now have 1686 lines of code to open the first dialog box and get three integer variables set, just in the main code, excluding the includes, globals and rc files.

I could do this with about six lines of Lisp code.

But it does look nice as long as I stay away from the aquamarine.

Regards

JMN

0 Kudos
JohnNichols
Valued Contributor III
1,390 Views
Dear Steve:

I just downloaded the latest XE Compiler.

It installed fine, but the help files did not come up Visual Studio, instead I got a windows document explorer windows error telling me the link was broken.

In my hunt for the lib setting method I stumbled across a note in the release notes in the install that one needs to go to help> manage help settings>setting> and make the help local.

Just to let you know.

JMN
0 Kudos
Reply