what's a callback?

I read in sci.electronics.design that john jardine wrote (in ) about 'what's a callback?', on Wed, 22 Dec 2004:

I don't think we know for sure why the software business shows all the signs of a species about to go extinct through spending too many resources on lavish body decoration (read 'features that hardly anybody will ever use'). It may be that corporate purchasing is to blame; it is easier to get authorisation for $10 000 than for $100, because if it costs $10 000, it MUST work, whereas for $1000 it MUST be too cheap. And forget $100 entirely - that must be some sort of evil program that will cause the company to collapse.

Even back in the 80s, lots of people were calling attention to the poor quality of PC programs compared with, particularly, BBC Micro and Acorn programs. No doubt RISC had something to do with that, but there was a pride of achievement in producing compact code. The market for these computers and their software appreciated that, too, because while memory and storage were not hugely costly, funds were often very short and many computers had minimal memory and disc capacity.

The people writing high-class compact code now seem confined to the same freeware and shareware market sectors.

--
Regards, John Woodgate, OOO - Own Opinions Only. 
The good news is that nothing is compulsory.
 Click to see the full signature
Reply to
John Woodgate
Loading thread data ...
[...]

Heh - I run Win 3.11 on a 200MHz machine with 8 gig hard disk and 64 meg ram. Most of the time I'm in DOS, where I use my own operating system. It responds instantaneously to any command and rarely crashes except when Windows calls a bad pointer and takes everything down. But a reboot only takes seconds and I'm back in business.

Your system needs a 2GHz machine with gazillion gigabytes of hard disk and more ram than most disk drives had in the 80's. Your operating system and word processor take much longer to load, and you are constantly attacked by viruses, trojans, adware, and popups.

Tell me again how things have improved since the 80's:)

(Although I do have to admit I will be happy when I can find a 2GHz machine that will run all my code and still use my keyboard and mouse. Adobe is just too slow.)

Best,

Mike Monett

Reply to
Mike Monett

Fred Bloggs wrote in news:41C5F993.9090009 @nospam.com:

No, re-entrant code has a specific definition, that is not it, others have covered it well enough in this thread.

--
Richard
Reply to
Richard

john jardine wrote: [...]

[...]

Microsoft has peaked and can only lose market share to Linux. Open Source is becoming a viable business model. Things are improving, but remember, Rome wasn't burned down in a day:)

Best,

Mike Monett

Reply to
Mike Monett

How about this analogy?

I often need to shave dimes and pennies off of hardware for production purposes (corresponding, of course to a multiple of that in the selling price), but when I buy a *tool* for *business use*, an extra $10 or $100 is often no big deal if I get something valuable in return.

Spending a certain amount of today's bountiful desktop disk space and processor processor bandwidth to get a tool that's as feature-rich as makes sense to the authors of the program (hopefully) and easy to install and configure (again) is not silly at all. Even on inexpensive products, we sure don't write everything in tightly crafted assembler any more. It's not as simple as possible, but rather as simple as makes sense with the resources at hand.

Best regards, Spehro Pefhany

--
"it's the network..."                          "The Journey is the reward"
speff@interlog.com             Info for manufacturers: http://www.trexon.com
 Click to see the full signature
Reply to
Spehro Pefhany

something.

Nobody forces you to use the latest windows software. If DOS3.22 works for you, why upgrade?

For simple middle-of-the-road embedded computing, yes.

--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman
[...]

[...]

Actually, it's a complete operating system that runs on top of DOS, the same as earlier versions of Windows. Here's a partial screen shot:

..\ 2F87BA86 Previous Directory \IE50REG 2F87BA86 Backup Copy of MSIE REG16x2.DAT \REGDATA 2F87BA87 Explorer 5.0 Verisign Certificates 93% slack \SYSTEM 2F87BA88 System Files \ZIP 2F87BB39 Backup Directory NISTIMEW CFG 310B6F05 31 Configure NIST Time LMOUSE COM 186A1940 34,658 Logitech Mouse WIN COM 28FA792A 44,170 Win 3.1 Original ANIMOUSE DAT 30FB555D 28 AniMouse Config REG DAT 3196691D 55,922 Win 3.1 Original REG16X2 DAT 2CCD8EFA 58,730 Explorer 5.0 Keep a backup copy in IE50REG NISTIME DIF 3193BD23 1,079 Nist Time Log WINSOCK DLL 20489086 30,516 Moved Here From G:\SYMPATIC HK DOC 2EC67370 9,757 HotKey ANIMOUSE EXE 1ED12800 378,464 AniMouse CALC EXE 186A1940 43,072 Win 3.1 Accessories CALENDAR EXE 186A1940 59,824 Win 3.1 Accessories

The columns show the file or directory name, extension, date in hex format, filesize, and a comment field that contains information about the file. This information goes with the file when I move or copy it to a different directory, and the information can be changed as needed without breaking links to other programs, such as image links in html files.

The cursor (not shown) hilites a file in yellow. Pressing various function or command keys will erase the file, copy or move it to a different directory, or execute a specific program associated with the file. For example, it loads an editor or file viewer as needed, or starts Windows and loads the appropriate program all with a single keystroke.

I have numerous search programs that can index the entire disk in minutes and locate any file in seconds. I never have to type in a filename or directory, and all the needed commands are under control of the cursor and function keys. I never have to remember all the options needed with various programs, such as PKZIP or PKUNZIP. They are all encoded and attached when the program loads.

This method is the opposite of the Windows procedure, where you load a program first, then search for the desired file. It is several orders of magnitude faster than Windows, and completely avoids the confusion and errors when you cannot locate the desired file or load the wrong one.

IMHO, this is the way Windows should have been designed from the beginning.

Best,

Mike Monett

Reply to
Mike Monett

release

ram. Most

calls a bad

back in

more ram

processor

trojans,

Well, I couldn't care less how much GHz or Gigabytes my machine has. I pay the $500 and take the box home. It works and I don't run out of space. Booting takes a minute, most applications start in less than 5 seconds except Protel that shuffles for a minute, automatically reloading the last jobs I am working on. On average I reboot once a day, typically when I have been using Protel a lot.

My editors have syntax highlighting, I can cut and paste between applications, I can view my pdf-files, either from the internet or from my own collection, I can print my own documents as pdf's, print the stuff on the printer in the other room, backup my files to the other computer in my small network, design my printed circuit boards and mail them to my manufacturer, use other graphical programs to make some really good looking pictures, write software for windows and a couple of microcontrollers such as 8051, PIC, AVR, SX, program them with my nifty device programmer, debug them in-circuit, have silly talks with my brother using skype, keep my website up-to-date, running my database, acces my bank account, the list is endless.

machine that

too slow.)

Always try to be happy ;)

--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman

program

you

Seems that you've got yourself organized well. But under windows I too select files and hit enter. Or click it with the right mouse key, and choose from print, mail-to, compile/make, copy, zip, or whatever is a valid option for that particular type of file under my mouse pointer. Win3.1 never attracted me. Much too much trouble with that. But a lot has improved since then.

--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman

It is. Gooey-Duck.

Tried to dig one once, but the sucker was about three feet down under a strata of clay on it's way to shale. Probably how it managed to survive on a beach about 4 miles from Seattle. I was probably the 10th guy to try to dig up that damn clam. (The commercial stuff is dug by divers below the tide line).

Hot stuff for sushi, I hear. Didn't used to be, then some marketeer, about 10-15 years ago, decided to boost its supposed aphrodisiac qualities based on its appearance. (Selling stuff is what this town is really good at. Started with those gold miners. Coffee, anyone).

Mark Zenier snipped-for-privacy@eskimo.com Washington State resident

Reply to
Mark Zenier

You obviously have never looked at the 1 Floppy demo from QNX. (Download from

formatting link

One does NOT need hundreds of megabytes for a GUI based desktop userinterface. Also look at RiscOS 3.11 that was available on a machine with 1MB of RAM (512kB of ROM for OS). Now almost 20 years later it is a bit dated, but Windows XP today does not have that much extra, and it still does not have anti-aliased font handling. A fullt featured DTP App with scaleble fonts (anti-aliased), with vector, and bitmap embedded picture support. (The pictures can actually be rotated, in the document which is still not possible with MS Word). This App ran from 1x 3.5" floppy.

The expectation that one needs multi-megabyte applications, that has been created largely by Microsoft is actually holding things up these days. Todays hardware, with apps written a bit better would be unbelievably fast.

Regards Anton Erasmus

Reply to
Anton Erasmus

[snip]

AmigaDOS, circa 1985, lets you do all that and occupies about 1 Mbyte of ROM/RAM and less than 5 Mbyte of disk space.

Reply to
Everett M. Greene

If a cold reading, screen test or other audition is successful, you will get a callback.

Every actor in LA and NY will tell you that. The majority of people on this thread are morons.

Now, there's also this fringe use of the term used by "computer programmers", whatever that means. Basically, if you call a function with a pointer to one of your own function, such that your function will be called at some time either synchronously (a-la qsort) or asynchronously (a-la signal(), or interrupt or button-press) then that target function is a callback.

An interrupt is a low-level callback, of sorts. A POSIX signal handler is a callback, of sorts. The qsort comparator is a callback. Basically any "registered" or "plug-in" function call is a callback. A callback can be used within a module or library for its own purposes or used as a mechanism to call external functions.

A virtual function in a child class is not, by definition, a callback, but the overall observer framework may use it like a callback, so for example you can have a CButtonObserver class with a buttonPress() method.

So if a framework defines a non-local control flow, where an application's functions are called somewhat asynchronously, then callbacks are used.

So if I pass a library a pointer to function X, but that library has no knowledge of function X other than the fact that it now has a pointer to it... and at some point the library calls function X, then X is a callback. This is what I mean by non-local control flow. X is not part of the core library implementation (a-la qsort), it's an externally provided function.

God damn it.

There are three types of programmer: Those who can use "callback" without having to write an essay, those like me who will write an essay, but still not articulate it clearly, and those who just write a

10 line "C" program so that other's go, "Oh, yeah... I see it.".
Reply to
pm940

"Anton Erasmus" schreef in bericht news:1103802690.d16ba34b331eb6562ca740108e8bb67e@teranews...

something.

You obviously never looked at a typical Linux distribution that comes on 4 CD's. Or what about 8 CD's and a DVD:

formatting link

A complete WIN98SE installation directory is 109MB.

No, but it comes as hundreds of megabytes these days, because there is little reason to squeeze it in less. What I remember from ~10 years back is that windows 3.x came on a bunch of floppies. That were perhaps 20 floppies or 30MB. Those were also the days that you really ran out of memory or disk space, if you were careless. Today I don't bother about it all. I save/keep everything, even emails that have megabyte attachements. It is not that it is a lost art or something, for instance PocketPC Windows doesn't take up that much space either.

My point is that the argument that Windows is 'bloated' doesn't hold. I bet that there are more PIC's running (relative) bloated code than PC's. Programmers at Microsoft aren't that stupid.

But I could be wrong about all that. My buggiest application is Protel. It is full of bugs. That said, I find it a brilliant piece of software.

[snip]

I don't look at the size of an application to judge it's value. Who knows what's in there, or wants to know.

Yes, and nobody seems to be able to deliver. Have you tried open-office ? Last time I checked, their spreadsheet was about 5 times slower than an older version of Excel (2000).

But here is a great oppertunity for you. You only have to write it a 'bit' better.

--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman

In Java, COM, DCOM, OLE, etc., they are called interfaces. In C++, "prototype" and "function declaration", are synonymous. A function name without parameters is a pointer, but you can also declare a variable name for a pointer to a function with a... call it a special syntax. You knew that, right?

ActiveX really is a good way to write reusable code - DLLs on steroids. And the remote access (DCOM+/RPC) capability is the balls. Version control is a positive side benefit of the whole architecture. It's still a mess - a miracle that MS could pull it off IMO.

DHTML isn't a COM thing, it's a DOM thing.

--
Best Regards,
Mike
Reply to
Active8

formatting link

Ehrr, does that WIN98SE include the equivalent set of applications, including all source code? Apples and pears again....

Compare it to Palm OS and it's applications and you'll see that even PocketPC is bloatware. Do you remember the phrase that WinCE brought back the hourglass on the PDA...

Tsss, compare a Internet Explorer with FireFox: half an OS compared to a browser pur sang.

Yes.

Well, the moment "hello world" produces an .exe of over 400kbyte, I do like to know....

Unfortunately, you ARE right here :-) OO really sucks with that.

Meindert

Reply to
Meindert Sprang

They're not stupid, but, working as a team, they do manage to produce prodigious amounts of very bad code. After a decade of effort, they still seem incapable of preventing buffer overflow exploits, and every generation of Windows runs slower and is more difficult to maintain.

I've seen a bit of the Windows source code, and it's a mess. Windows is simply bad programming.

John

Reply to
John Larkin

"Frank Bemelman" wrote

formatting link

That's because you get all the source code and about 3000 other applications as well. You should download a Knoppix live cd and see what comes packed on that. You just stick it in your drive and boot it. It detects all your hardware on the fly at boot time, no installation required.

A fresh install of XP with a copy of Office is about 3GB, that's a bit fat don't you think?

That's just plain wrong, Win 3.11 came on 6 floppies. It literally boots in about 2 seconds on anything faster than 200Mhz, I really need to dig out that old 40MB drive and try it on my p4 now. ;-)

Gem desktop ran on an 8088, loaded up quick and gave me a high-res desktop with task switching. It was allot better than Win286. AIR, it came on 1 5.25" floppy.

Yes they are, but it's not about stupidity. It's about selling stuff. It's just simple collusion between the hardware makers and MS. Why do you think Intel pushes software based hardware (printers, modems, sound cards, etc...)? HP needs at least four background start-up tasks just to run a printer as well as the driver. It's just to make sure you want something faster. OEMS preload so much junk onto new machines that they are crawling right out of the box. What about the fact that Excel contained a full 3D flight simulator game easter-egg? How can that not qualify as bloat?

Protel.

software.

these

knows

You should, if you put personal information into it.

open-office ?

an

It's written in Java, what would you expect? It also didn't cost hundreds of millions of dollars to develop. Have you tried the latest version of Excel? I promise you that it loads whole lot slower than the

2000 version. Maybe if you press the right keys and click in the right spots, you can get "Monster Truck Madness" to play. Perhaps even HALO-2 will be available after the install of the next MS Office Service Pack. ;-)
Reply to
Anthony Fremont

"John Larkin" schreef in bericht news: snipped-for-privacy@4ax.com...

It keeps pace with the hardware, it is not that it gets slower. On the contrary. Win3.0 was typically found on 386sx running at 33MHz. Now that was slow indeed. But if you go out to by a windows PC today, it is at least 2GHz or better, and it does not run slow at all. Of course you shouldn't upgrade software on old PC.

As you once told, you don't write in C or C++, but only in 68K assembler and Power Basic, IIRC. How can you be the judge of that? I've written a dozen or so of windows applications, and my first attempts were indeed a mess because there is a lot you need to know. But the more I have learnt about it, the more I realize that there is no simple approach to make all these little wonders happen. Embedded computing is kindergarten stuff, compared to what's under the hood of windows. Okay, it crashes sometimes, big deal.

There's a lot to complain about Windows, but I am reasonably happy with it. The buffer overflow issue is blown out of proportion, it's not really an issue. Heh, I don't even run antivirus software.

Most trouble I see is caused by non-microsoft application software. Like Acrobat reader, still use 5.0, tried 6.0 and ditched it after

5 minutes.
--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman

"Anthony Fremont" schreef in bericht news:agXyd.4189$ snipped-for-privacy@fe2.texas.rr.com...

You get what you pay for. Open office costs nothing, and I didn't like it. I don't care why, Java or not. Excel does it better, and yes, I have paid for it and helped reasing the 100 millions to develop it. I have no problems with that.

I'm not going to upgrade my Excel. There's no need. When I buy my next new computer I may purchase a new office bundle with it. As long as I don't get the monster trucks popping up with every mistake I make, I am sure I am going to enjoy it ;)

--
Thanks, Frank.
(remove 'q' and 'invalid' when replying by email)
Reply to
Frank Bemelman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.