Page 3 of 4

Re: deskrule 1106 beta

Posted: 2015 Dec 29, 13:57
by Kilmatead
dunno wrote:I think that my skills as a brick layer, plumber, milwright, and Aviation technician are going to be worth a premium
Hey, I already had a horse break my nose this week, I don't need no hammock-lubber breaking my balls over who's more likely to survive the upcoming apocalypse, ya hear? I got more cans of tuna in the pantry than you do. :D

Once being a member of the brick-layer's journeyman adventure myself (when in doubt, make it more romantic than it is), I'm all for humility. I've always espoused real work over this silly white-collar-criminal nonsense these computer kids get paid for. They help their brother-in-law fix a roof one weekend and they suddenly think they know what's-what and who's-who in the building trade. Overpaid wankers, the lot of 'em. :D

Not so sure about not needing to plug stuff into a 747 though - you can't even turn the radio on in a Toyota any more without needing a masters-degree in iPhone-attachments. :cry:

Instructional videos are great for "So you want to replace a window in your house?", type-o-things, but it doesn't work so well watching a disembodied mouse-pointer zip around the slightly-out-of-focus screen highlighting text while some kid whose voice has yet to drop warbles on about how many threads it takes to screw in a light bulb.

Re: deskrule 1106 beta

Posted: 2015 Dec 29, 19:59
by drac
RightPaddock, thanks for your contributions. I LIKE your expression - it definitely meshes well with my philosophies. I used both the PDP-8 and the PDP-11 - the latter being a wonderful machine. I wrote some great software on the PDP-11 and was sorry when I had to move on. That was the last mini-computer I used. After that it was micro computers (8008 and that ilk) and then PC's. Glad you know what a FlexWriter is. A nice machine for the time.

Dunno, no doubt your "real world" skills are more valuable and more useful than the ability to write elegant code for a computer. I think people appreciate a well running jet engine (especially if one is flying on the plane it powers) than well written code that is only noticed by a few insiders. Most people cannot tell the difference (outwardly) between elegant code and sloppily written, inefficient code. A fast computer can hide many flaws. But a beautiful brick wall or a well turned piece of wood is immediately appreciated by people with no knowledge or skills in those areas.

Re: deskrule 1106 beta

Posted: 2015 Dec 29, 20:47
by drac
Kilmatead,

Yes, C is one of the lowest level "high level" languages available. But it cannot do what a creative programmer can do. I wrote the BIOS for a computer (while at Univac). I had 512 bytes to work with (this was the first Univac system that used bytes instead of word of various lengths). Others had tried and failed to fit the required functionality into that limited space. I had two advantages, I worked on some of the hardware design for the computer and (unlike the C compiler) I can think outside the box. The instruction set included 8 bit, 16 bit and 32 bit instructions. But the computer processed data in 16 bit chunks. So an 8 bit instruction had 8 bits of wasted space. I used that otherwise unused space to store constants that would normally reside in their own section of the BIOS. Yes, it WAS messy and difficult to understand, but it fit in the 512 bytes. One could probably add code to C to take advantage of that sort of thing, but since it would be of limited use (not many BIOS programs are needed for a computer), it would not be worth the trouble. Now, with very fast computers and virtually unlimited storage, there is little need for such skills. And while C code may be more elegant, in most situations VBScript or Basic can produce code that the user would not be able to distinguish from C. And for the same reason, as you say, Assembler's advantages are not worth the extra time and skill needed to use it.

Today's BIOS programs have more space and better user interfaces than the whole computer that early users had at their disposal. So, sure, C is fine for writing such firmware - but one could probably use Basic as well. Not many people use C any more it is all C++ or Visual C. I guess that makes you a dinosaur along with me and my Assembler code.

I do agree with your response about computer nerds. Linux does offer that uncouth swagger that Windows or Mac cannot. I never used Linux but I did use UNIX. And I consider them interchangeable as far as the above is concerned.

Malware is not just elegant because of its minimalism. It ANTICIPATES. It protects itself, it hides from AV software and then resurfaces after the AV has "cleaned" the computer. If normal software was written with that level of awareness of malware, then the malware would not have a chance. Software does NOT, in general protect itself very well or heal itself. Way back, when it was discovered that buffer overflow was a common way for malware to attack a program, why weren't all buffer overflows fixed? This is easy to do, Microsoft knew about it and how to prevent it, yet for YEARS afterwards, after many rounds of patches and even a newer version of Windows, buffer overflows were still being exploited, WHY??? Sure one could say poor coding practices, average programming talent and ineffective management. However, I think it partly due to the fast computers and abundant storage that forgive sloppiness. In the days when computer resources were expensive and people were cheap, the best talent was hired to write programs. Only the best of the best were allowed to write the time critical parts of the code - those where most of the execution time was spent. In those days spending a week to remove a few reads or a write from a frequently used loop or code segment was worth the price.

When AI takes over and we all become batteries, it will be because the machines still value elegance over sameness and strive for perfection rather then tolerating "good enough".

Re: deskrule 1106 beta

Posted: 2015 Dec 29, 22:11
by Kilmatead
drac wrote:I had 512 bytes to work with
Back in 1979 my first home-computer (if you could call it that) interfaced with the television and ran a cut-down version of Basic which actually ran within the interleaved video, allowing 1,760 bytes for all programme text. And since I was just beginning, that was enough to play with - but after awhile (kids being kids) I wanted to write larger programmes with what passed as "resources" back in the day. Since there was nowhere left to store this stuff, I learned Z80 assembly so I could hack the video display even more and write to the odd-bits (see link above) which meant that anything I put there became visible "noise" on the screen, but if I was willing to tolerate losing most of the main display, I could expand my available memory by about 200 bytes which (as you would appreciate) was an extravagant decadence. Ironically, in order to get the code into the screen memory raw, part of the Basic programme itself had to be a rudimentary assembler, to catch what wasn't converted on paper first, so my 200 bytes was really only 125 bytes once all was said and done, but hey... it worked.

And the moral of the story: Never underestimate the lengths an 11-year-old will go for an extra 200 bytes. :D
drac wrote:Not many people use C any more... I guess that makes you a dinosaur along with me and my Assembler code.
I don't mind being a dinosaur, but I'd contend your assertion about not many people using it. Many projects are maintained in C (granted most are imported from the Linux world, but that's no bad thing), not least among them being the PCRE library (in Apache, PHP, Apple Safari, and windows itself, to a degree). Since C++ can link to standard C libraries, there's an awful lot of legacy code floating around the place that is free to use and robust as all get out, and we all know how lazy C++ programmers can be, they'll take anything if it means writing less code. :wink: (And at the end of the day, if you strip out all the unnecessary rubbish and nonsense in C++, you end up [aside from a few reserved words] with C.)

If the StackOverflow forums are to be considered, the (ANSI) C forum itself has about a hundred new questions asked every day relating to plain old traditional C, so somebody must be learning it. Yes, no doubt the majority of them are in India, but that's how the world works these days, and is no bad thing for it.

I prefer marching down the lonely and unpopular road, even if just to prove a point - somebody's gotta do it. :shrug:

Re: deskrule 1106 beta

Posted: 2015 Dec 30, 02:58
by dunno
Kilmatead wrote: Hey, I already had a horse break my nose this week, I don't need no hammock-lubber breaking my balls over who's more likely to survive the upcoming apocalypse, ya hear? I got more cans of tuna in the pantry than you do. :D
electrocuted, septic tank, broken nose (never look a gift horse in the mouth), you need full body armour with full face helmit :-)
speaking of Armageddon, I have a instructional video "how to handle a M1 rifle" done by the US Army in the 50's, great video, clear and concise, in those days the american government produced some great instructional videos, there's several on youtube.

I have a question regarding multi core computers,
Why is it that my quad core notebook chokes when I ask it to execute different tasks in different applications?, it sometimes chokes up to the extent that even the mouse becomes inactive, I dont understand this, surely a multi core computer should be able to delegate task "a" to one cpu and task "b" to another cpu, what are the other cpu's doing that they can't handle mouse instructions ?, isn't it grossly inefficient and complex to split the same task across 4 cpu's rather than one just one cpu ?.

Re: deskrule 1106 beta

Posted: 2015 Dec 30, 13:26
by Kilmatead
dunno wrote:surely a multi core computer should be able to delegate task "a" to one cpu and task "b" to another cpu, what are the other cpu's doing that they can't handle mouse instructions?, isn't it grossly inefficient and complex to split the same task across 4 cpu's rather than one just one cpu?.
You'll find all of these questions answered in fairly plain language here as it's a common enough complaint. The trouble is multi fold - Windows itself tries to balance the loads, though it's not very good at it (and never was), but they are making inroads. Add to that that the "hardware revolution" has far surpassed any software development, so most (even the "big name") applications are not written very efficiently - either through poor use of threading, or the dev's just think Windows should do it and so throw their lot into the general pool hoping for the best.

This isn't anyone's fault really... multithreaded software is astonishingly difficult to write (not all data-sets lend themselves to that kind of processing anyway, since the algorithms used were never optimised for the brave new non-linear world). Even more fun may be had when software tries to second-guess what the system is attempting to do by setting its own core-affinities on a multi-core processor, a tactic which occasionally backfires spectacularly. Add to that the core-controllers which attempt to compensate for everything else (what should be targeted at the GPU as opposed to the CPU and which is offloaded more efficiently), and pretty much you can understand why Sally "accidentally" became pregnant when she took all the precautions in the first place. Battle-plans and first-contact with the enemy, and all that malarkey. :D

Also, as hardware goes, the CPU (however many you may have) can only work with what it's given - data is held in RAM which (no matter how many GB's you have) has a limited amount of bandwidth on the bus lanes (literally) available to/from the CPU itself, so while it can hold a lot of information, it can't do much with it by itself. And then there's the hard-discs... thankfully SSD's have solved much of that bottleneck, but even then SATA III has been saturated and the upcoming generation does not have a clear winner: PCI-Express, NVMe, M.2, AHCI, U.2, SFF-8639 and SATA Express are all competing technologies (yes, we're back to VHS vs. Betamax), and who will come out on top is anyone's guess.

And most consumers haven't got a clue - they read the marketing hype on the box that says "State of the art Quad Core technology lets you work faster with more power"... yeah, well, hype is hype. To be sure, the tech available these days is fantastic, but almost all of it is criminally underused, and it's very difficult to point a finger at a single bogeyman and blame it all on that - the intermix is just too complex. :shrug:

Even tech-heads have to muddle through and balance things as best they can. The best a regular consumer can hope for is... well... Ketamine? Diazepam? The world was so much easier when you could just mix up LSD in your kitchen, tune in, turn on, and drop out.

Re: deskrule 1106 beta

Posted: 2015 Dec 30, 14:52
by dunno
Kilmatead wrote:
dunno wrote: Even tech-heads have to muddle through and balance things as best they can.
Many thanks for your lengthy response, I now know that I can't expect much from software designers, and that hardware will always surpass the capability of programmers.

@drac
why don't you focus your intellect on improving cpu mutli threading with your ASM skills,

Re: deskrule 1106 beta

Posted: 2015 Dec 30, 21:54
by drac
Dunno,

As Kilmatead pointed out, the issues with multithreaded apps is not all the software. First it is the OS. The OS needs to be able to assign different tasks to different cores. That is fine if you are running 4 separate programs - the OS can assign each to its own core. But as K said, there is the bandwidth of the memory (and other components like storage) to contend with. Also as K said, a single application cannot always use multithreading because it cannot have one part working independently of another. If you are using a word processor, the program is waiting for you to type or click, there is no benefit in having two threads. Video processing, can benefit from multithreading because the program can process different frame in separate threads. Some complex math problems can benefit from multithreading as well. But mostly it is separate programs each having their own core. That is why server systems often have 8 or 16 core CPU's. They have a lot going on and can benefit from many cores.

Part of being intelligent is understanding the problem and knowing when a solution is viable and when it is not. All the world's problems could be solved by eliminating everyone in it except me - but that just creates a new set of problems. :-)

Re: deskrule 1106 beta

Posted: 2015 Dec 31, 01:12
by dunno
drac wrote:Dunno,Part of being intelligent is understanding the problem and knowing when a solution is viable and when it is not.
Excuses, excuses. I'm amazed that hackers can turn my pc into jelly with beautifully crafted super efficient, ultra stealthy code, yet the "White Hats" are incapable of creating a OS or software which can multi thread properly. multi threading is a basic function of a pc yet software STILL chokes a pc, shame on you programmers for not addressing a basic pc function. It's like building a house and installing half the roof, "it's ok the owner will just have to move around when it rains".
drac wrote: All the world's problems could be solved by eliminating everyone in it except me - but that just creates a new set of problems. :-)
I find it amusing that you always sign off by reminding everyone how intelligent you are, "thou doth protest to much methinks". Real Intelligence understands hubris and it's nemesis.

Re: deskrule 1106 beta

Posted: 2015 Dec 31, 21:03
by drac
Dunno,

That code the hackers wrote is NOT multithreaded. Multithreading is not a wonderful miracle of modern PC's. It is a useful feature when running multiple, independent programs on the same computer. Most applications cannot benefit from multithreading - it is not the programmers or the OS that is the issue, it is the nature of the application.

As to me pointing out my intelligence, I think you are reading more into my words then I intended. Looking at posts from past conversations I spend more time gushing over Kilmatead and his (apparent) brilliance then I do touting my own skills or abilities. It just so happens that for this particular series of posts, a bit of nostalgia recalling some of my past triumphs seemed useful to making some points. So, yes, in this case I acknowledge that I am guilty of flaunting. And you are correct in being suspicious of anyone that has to toot their own horn, but since none of you know me, not sure who else could provide the info. I am NOT the most intelligent or knowledgeable person on this forum. I don't think I pretend to be. (OK, here it comes) I AM intelligent and I am not ashamed of it nor am I shy about using that ability when needed. And, you are correct, I should allow the reader to form their own conclusions and not have the need to say it outright. That is my personality flaw and I own it. I will strive to be more humble and, in the future, refrain from the sin of pride (IQ=140).

Re: deskrule 1106 beta

Posted: 2016 Jan 01, 01:36
by dunno
drac wrote:(IQ=140).
LOL you just don't get it.
IQ != Intelligence, that's a seriously hubristic mistake.

You fail to grasp the basic point I'm trying to make, I'll spell it out for you...
You genius programmers are so full of intelligence yet you can't make multi threading work, how many more years is it going to take to get a basic function of a pc to work correctly so that pc's don't choke when running your cool looking, bloated software ?.

Have a great new year.

Re: deskrule 1106 beta

Posted: 2016 Jan 01, 01:38
by profess
Happy New Year all.
Now move away from the keyboard......

Re: deskrule 1106 beta

Posted: 2016 Jan 01, 13:33
by pj
dunno wrote:
drac wrote:(IQ=140).
LOL you just don't get it.
IQ != Intelligence, that's a seriously hubristic mistake.

You fail to grasp the basic point I'm trying to make, I'll spell it out for you...
You genius programmers are so full of intelligence yet you can't make multi threading work, how many more years is it going to take to get a basic function of a pc to work correctly so that pc's don't choke when running your cool looking, bloated software ?..
First, why spend all that effort when current technology runs about 3 orders of magnitude faster than the first 4.77 MHz PC and has been exhaustively pointed out won't change execution time appreciably?

If you want faster response run less stuff on a single machine that wasn't really designed for serious parallel computing, which is what you really want. Instead stick a second or third PC on your desk and link them to a single kbrd and mouse via software to get better performance. Still costs less than a high performance server and didn't take 10,000 man-hours of software development for little gain.

-------------------------
PJ in. (typos due to replying from phone without glasses on the morning after) FL

Re: deskrule 1106 beta

Posted: 2016 Jan 01, 14:54
by dunno
pj wrote: Instead stick a second or third PC on your desk and link them to a single kbrd and mouse via software to get better performance. Still costs less than a high performance server and didn't take 10,000 man-hours of software development for little gain.
ah now I get it, the solution to my problems is to buy a seperate pc for each application, great solution to multi threading bloatware, i'm going to rush out and buy a pc for each application that I have.

err is this 1st April...

Re: deskrule 1106 beta

Posted: 2016 Jan 01, 21:52
by drac
Dunno,

While you are correct that IQ is not an indication of real world intelligence, my inclusion of some of my accomplishments in MY real world where I solved real problems in unique ways IS an indication of intelligence. So you don't like it when I "brag" about my successes and you don't like it when I mention IQ (even jokingly). I guess you don't like anything I do that might suggest I am intelligent by anyone's measure.

You continue to talk about multithreading. I and others continue to tell you that what you want is not feasible in the real world. I am not sure how to say it in a way that makes my point clearly. Running three separate PC's is not an example of multithreading - it is multitasking. It is the same as one multicore PC that is properly multitasked via software. The link below talks about similar terms, maybe in a way that makes sense to you.

https://gabrieletolomei.wordpress.com/m ... threading/

The above link suggests that there are a lot of issues in creating a multithreaded application. It does not mention in detail why only some applications (like a graphics processor) lend themselves to multithreading.

Note that there is a BIG difference between making an application multithreading and making that multithreaded application perform any faster than the non-multithreaded version of the application. This is what I have referred to as most real world applications NOT being good candidates for multithreading. If the effort and complexities of making an application multithreading does not produce a faster result, then there is no good reason to go through that extra work. And that leads us back to intelligence. I said in an earlier post "part of being intelligent is understanding the problem and knowing when a solution is viable" In most cases, it is not viable to create a multithreaded version of a program. Any program that waits for user input is not a good candidate for multithreading. Any application that must be done in a specific order such as (A+B) multiplied by C is not a good candidate. I cannot do the multiplication until I have done the addition. Any program that shares a time limited resource (like communicating with an HDD) is unlikely to benefit much from multithreading. Though good OS logic to order reads/writes to minimize seek times can speed up sharing that resource. An SSD is a slightly different animal since seek time (normally the slowest part of disk access) is not a factor. But it is still a slow device compared to the speed of the CPU and RAM.

You want multithreaded applications because you think they are going to make your computer more efficient or seem faster. I am telling you that your premise is wrong. I am saying that for almost every application (with a few exceptions I have already mentioned and which may already have multithreading in them) you would not get ANY benefit from multithreading.