Jim Lawrence
accessd at shaw.ca
Thu Jun 25 00:11:24 CDT 2009
Well I think you have covered it Shamil. You have lived a dangerious life. ;-) hacking the core of an OS no less... I posted this a couple of weeks ago;... this just what John needs. <post> Todays ultimate open-source high speed search engine... the distribution of HADOOP now available at http://developer.yahoo.com. It is being toted as "... framework for running data-intensive applications on large clusters of commodity hardware." It is also supposed to be fully distributive..."It maps data-crunching tasks across distributed machines, splitting them into tiny sub-tasks, before reducing the results into one master calculation." Around this product there is a whole group of spin-off applications. If even comes with a full set of tools for development purposes. This is a super high end OS application and according to product developers, it is capable of splitting a request across 10,000 processor cores; simultaneously. It is also supposed to be 16 times faster than the Google search engine. </post> I will read up those links as they look very interesting. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, June 24, 2009 3:04 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? "Packing 3 bytes in 2 bytes" - that was Radix50 - 50 based notation system: I do remember it very well, I used to program custom handling or RSX-11M library files, which used Radix50 to pack 6 chars of files' and functions' names into four bytes etc... RSX-11M was compiled from sources for a certain target equipment, and the source code was very compact but well documented and it wasn't an issue to "hack" the OS core that days - I have had to do such hacking one time of the OS core to implement inter-task communication... <<< That unless the routines are well designed the data will never be found... or it may take days. >>> What happens nowadays AFAIS in software development is that more and more experienced developers do experience, do witness and do follow "self-organizing coding style" - that comes from works (at least for me) of "Gang of Four" on Software Design Patterns, of Kent Back and Ward Cunningham on XP, Martin Fawler on refactoring and from Chaos Theory (http://en.wikipedia.org/wiki/Chaos_theory): human brain by definition can't manage the complexity of the multi-threaded application systems running on multi-core computers we will have to program in the near future, and it's well known from the works of Fred Brooks (http://en.wikipedia.org/wiki/The_Mythical_Man-Month ) that "adding more brains to solve a tough task" could only worsen the situation and delay the task solution sometimes very significantly... ..the answer to this challenge of software development becoming overly complex is not only to use modern advanced development tools as e.g. VS2008 is but also "give-up old habits and principles" and master and use the new ones, which are often counter-intuitive for many experienced developers (as I am): instead of trying to "design well in advance" we'd better "follow the chaos"/"rely on chaos" - I mean we should just "meet and solve the challenges of today and leave tomorrow for tomorrow" - that's what agile and lean development are for (http://en.wikipedia.org/wiki/Lean_software_development ) - of course agile/lean do use very reasonable methodology and tools "to bind/manage the chaos" - those methodology and tools has grown from rich development experiences of agile/lean development "apostles"... ... I was rather skeptical on "artificial intelligence" in the past but what happens today is looking like "singularity"( http://en.wikipedia.org/wiki/Technological_singularity ) may come true in not that far future... Sorry for my overgeneralization of this thread topic. Time to sleep here. Have a good afternoon/evening there. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Thursday, June 25, 2009 1:01 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? I worked with a PDP-11 70 for 3 years... It was primitive by todays standards as you would even have to key-in the boot-strap sequence, when the computer rebooted, using the dip switches on the front panel, (which it would happen freguently due to some run away processes in the Cad programs we were using). In those days every byte counted. We would spend days just figuring out how to best ultilize the Common Block in the Fortran applications... whether a short, long or floating variables was to be used. (Do you remember packing 3 byte in 2 bytes, so variables could take up less space?) There were a few times when the system would crash because it would actually run out of memory. But it did teach a programmer, the proper methods, with good documentation and that every byte counted... the tighter the code the better. With so much room available so many programs and applications can be just be hacked and spagetti-coded together and let the processor speed handle dumb bottle necks... (A single user OS with 50 million lines of code originated from multi-user and multi-tasking OSs that were 10K) I now think this is all turning around as we now have so much data that unless the routines are well designed the data will never be found... or it may take days. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, June 24, 2009 12:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? Hi Jim, <<< At that point, I learned my lesson about the proper methods of using RETURNS and explicit GOTOs. >>> Was that IBM360/370 Macro Assembler or PDP-11's one or VAX? AFAIKR PDP-11 had a special machine command, which allowed to organize so called "co-routines": this machine command did put return address of the next command after the current one into stack and then did execute GOTO/JUMP to the address specified in the current command, and then co-routine used address on top of the stack to return back to the caller. Well, that was PDP-11 with Radix50 and all other tricks to have multi-tasking multi-user real time operating system running in 64KB? (Can't remember now for sure or was that 128KB or 256KB of RAM - and harddisk was 4+MB?)... Nowadays all the code optimization is done by compilers, which will inline small functions if possible etc. to produce very compact executable code... This is one of the reasons we can give-up so many development principles we have been using for years because the past development tools and overall development experience wasn't so advanced as nowadays... -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Wednesday, June 24, 2009 11:11 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? Hi guys: In the old days, some 30 years back I did a lot of assembler coding and discovered a very neat technique for returning from a chunk of code back to anywhere in application. You would just push the address of where you wanted to return to, on the stack. That was great, as the stack pointer did not have to be set to return to the caller module. I would first set the return address to the error handler to trap any errors, in the called module and then if code completed successfully, the stack pointer was set then set to any position in the program you wanted to jump to, and then a return byte was processed. The assembler, I was using was designed to auto adjust all the changes in module position. Of course there was no internal documentation (no memory) other than a ref number to a code book. This little trick sure saved a lot of code and made the modules very flexible... The down side was if you ever lost the code printout and needed to make some changes, with all its documentation, you were screwed. I ended up being raked over the coals after someone lost my documentation manual. It took 3 people, 2 weeks to rebuild the code. At that point, I learned my lesson about the proper methods of using RETURNS and explicit GOTOs. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Shamil Salakhetdinov Sent: Wednesday, June 24, 2009 8:34 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Learning .Net -- PHP Instead? Hi Arthur and Charlotte, I used to use the same "one exit point" principle over the years (especially in my VBA programming) but I must note it's becoming obsolete nowadays: I do not use it almost at all anymore in my C#/VB.NET development. Have a look what is the reasoning behind this "new approach" to not bother about "one exit point" principle: http://ubuntuforums.org/showthread.php?t=631745 http://discuss.joelonsoftware.com/default.asp?joel.3.325456.34 Everything seems to be changing in programming these days but one who has been in programming for some time can rather clearly see we're "just" getting repeating/rethinking of "good old habits" but on higher current level of evolution spiral of computer science, programming methods and practices... Thank you. -- Shamil -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Wednesday, June 24, 2009 6:43 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Learning .Net -- PHP Instead? Yup. Over the years I have learned to accept this wisdom: each procedure or function should have exactly one exit point. Define the result variable and set it within your case statement, then jump out and return the result variable. No headaches or scratched foreheads that way. A. On Wed, Jun 24, 2009 at 10:35 AM, Charlotte Foust < cfoust at infostatsystems.com> wrote: > Structured programming suggests you instead design the code so there is > no reason to use a GOTO. If you hit a condition in a particular branch, > the code naturally arrives at the exitpoint. Very clean concept, that. > > Charlotte Foust > > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com __________ Information from ESET NOD32 Antivirus, version of virus signature database 4184 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru __________ Information from ESET NOD32 Antivirus, version of virus signature database 4184 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com __________ Information from ESET NOD32 Antivirus, version of virus signature database 4186 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru __________ Information from ESET NOD32 Antivirus, version of virus signature database 4186 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru __________ Information from ESET NOD32 Antivirus, version of virus signature database 4186 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com __________ Information from ESET NOD32 Antivirus, version of virus signature database 4186 (20090624) __________ The message was checked by ESET NOD32 Antivirus. http://www.esetnod32.ru -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com