Personal computing discussed

Moderators: Captain Ned, emkubed

 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Wed Oct 18, 2017 11:08 pm

whm1974 wrote:
Just wondering, but is there anyone still using CP/M on i8080/Z80 machines in 2017? Apple II systems with a Z80 card counts as well.

Well, you can still buy Z-80 chips; someone must be using 'em for something!
Nostalgia isn't what it used to be.
 
whm1974
Gerbil Elder
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Re: Obsolete IT in the wild

Wed Oct 18, 2017 11:57 pm

just brew it! wrote:
whm1974 wrote:
Just wondering, but is there anyone still using CP/M on i8080/Z80 machines in 2017? Apple II systems with a Z80 card counts as well.

Well, you can still buy Z-80 chips; someone must be using 'em for something!

For embedded stuff we can assume? Come to think of it, didn't the C128 also have a Z80 chip as well and You could get CP/M for that if you wanted it?
 
synthtel2
Gerbil Elite
Posts: 683
Joined: Mon Nov 16, 2015 10:30 am

Re: Obsolete IT in the wild

Thu Oct 19, 2017 2:17 am

Aren't TI-83/84/+ calculators Z-80-based? Academia still manages to move plenty of those.
 
SuperSpy
Gold subscriber
Minister of Gerbil Affairs
Posts: 2294
Joined: Thu Sep 12, 2002 9:34 pm
Location: TR Forums

Re: Obsolete IT in the wild

Thu Oct 19, 2017 7:20 am

synthtel2 wrote:
Aren't TI-83/84/+ calculators Z-80-based? Academia still manages to move plenty of those.

https://xkcd.com/768/
Desktop: i7-4790K @4.8 GHz | 32 GB | EVGA Gefore 1060 | Windows 10 x64
Laptop: MacBook Pro 2017 2.9GHz | 16 GB | Radeon Pro 560
 
Aranarth
Graphmaster Gerbil
Posts: 1099
Joined: Tue Jan 17, 2006 6:56 am
Location: Big Rapids, Mich. (Est Time Zone)
Contact:

Re: Obsolete IT in the wild

Thu Oct 19, 2017 7:38 am

Arvald wrote:
Aranarth wrote:
I was in a manufacturing plant and there was a huge IBM tower in the middle of a room with 200+ cables running to it.

I asked if it was a minicomputer cause it looked OLD.

Was told it was not a computer but a PLC! (programmable logic controller)

It had 48kb of "ram" in the form of programmable registers and this in turn controlled conveyor belts etc on the manufacturing floor.

I think the machine was built in the late 1950's.

PLCs are much smaller now but still tend to have low ram compared to a PC.


Registers are not really ram either.
Main machine: Core I7 -2600K @ 4.0Ghz / 16 gig ram / Radeon RX 580 8gb / 500gb toshiba ssd / 5tb hd
Old machine: Core 2 quad Q6600 @ 3ghz / 8 gig ram / Radeon 7870 / 240 gb PNY ssd / 1tb HD
 
Aranarth
Graphmaster Gerbil
Posts: 1099
Joined: Tue Jan 17, 2006 6:56 am
Location: Big Rapids, Mich. (Est Time Zone)
Contact:

Re: Obsolete IT in the wild

Thu Oct 19, 2017 7:46 am

[quote="Glorious"
And, lolno, a few people being allowed to get Macs through procurement (because they need them or really want them personally) is not the bell being rung as the impending death of MS enterprise. Especially not when I can show another press release from 5.5+ years ago saying the exact same sort of thing about Apple acceptance at GE.

I mean, for heaven's sake.[/quote]

I'm at GE Aviation, anyone who gets a MAC because it is supposedly is "better" shoots themselves in the foot.
There is VERY limited support for MAC.

IOS on the other hand is very nice except they have no clue about not screwing things up. We use mobileiron and 3-4 times a year we get warning not to update to latest version of ios because it breaks mobileiron. Often ios breaks it the SAME WAY ios did the last 3 times and we have to again wait for a new version of ios. This l;eads me to beleive the issue is on Apple's side not mobileiron.
Main machine: Core I7 -2600K @ 4.0Ghz / 16 gig ram / Radeon RX 580 8gb / 500gb toshiba ssd / 5tb hd
Old machine: Core 2 quad Q6600 @ 3ghz / 8 gig ram / Radeon 7870 / 240 gb PNY ssd / 1tb HD
 
Glorious
Gold subscriber
Grand Admiral Gerbil
Posts: 10862
Joined: Tue Aug 27, 2002 6:35 pm

Re: Obsolete IT in the wild

Thu Oct 19, 2017 8:17 am

K-L-Waster wrote:
Out of curiosity, is that a newly-developed upgrade, or has it actually taken that long for the certifications and approvals to trickle through?


I really don't know, it's a OE (Optical Emission) instrument, and just like the X-rays there is an contracted company that does maintenance etc... I know the individual name of the contractors, can't recall the name of the company or the manufacturer. If you are really interested I can call the chem lab manager.

The chem lab is staffed and operated by represented employees (unionized workers), I just help maintain the software that receives the messages their proprietary (and evidently windows XP only) software sends to us. As far as I was concerned a new machine just showed up(I am not the main chem lab support guy on my "team"). We ran some tests but since nothing broke I didn't have to prove it wasn't our fault (despite how only change involved was THEIRS, this kind of thing is annoyingly typical).

It was a short trip.

Aranarth wrote:
Registers are not really ram either.


Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/

Aranarth wrote:
I'm at GE Aviation, anyone who gets a MAC because it is supposedly is "better" shoots themselves in the foot.
There is VERY limited support for MAC.


Of course. This is why I was insisting that End User had no idea what he is talking about.

Aranarth wrote:
IOS on the other hand is very nice except they have no clue about not screwing things up. We use mobileiron and 3-4 times a year we get warning not to update to latest version of ios because it breaks mobileiron. Often ios breaks it the SAME WAY ios did the last 3 times and we have to again wait for a new version of ios. This l;eads me to beleive the issue is on Apple's side not mobileiron.


I didn't have an iphone at the time, but I routinely saw those same sort of emails at my company.

As I said, even on mobile, Apple does not do anything to make Enterprise life easier. When I got mine, for instance, last week I was quite angry that I had to put in my personal AppleID because that is ridiculous (or at least should be!) for a work-issued device.

But you have to, right? Can't download apps without it or whatever. So what did the mobile group do here? Oh, there's a folder-thing on it which is a really a webpage with two links in it, one of which actually links to the *WRONG* app in the appstore (I need the enterprise version of the 2FA app, not the generic one).

Thanks? If that's the best they can do, maybe just don't do anything?

Oh, and I love how you can't filter priority alerts on the subject line in the mail app. Great. You have to "VIP" mark the new special email address that now sends out priority tickets and that requires explicitly making a contact. None of this is done automatically, it's all done by the end-user despite how it's the same for everyone because you can *ONLY* filter based on that!

Considering that priority ticket alerting is the only reason I have the phone, yay, great, awesome, fantastic!
 
jihadjoe
Gerbil Elite
Posts: 672
Joined: Mon Dec 06, 2010 11:34 am

Re: Obsolete IT in the wild

Thu Oct 19, 2017 9:04 am

whm1974 wrote:
Just wondering, but is there anyone still using CP/M on i8080/Z80 machines in 2017? Apple II systems with a Z80 card counts as well.

Not in any sort of production environment, but a buddy still has his old Apple ][ in mint condition. Will update this post with pics when/if I find them.
 
notfred
Maximum Gerbil
Posts: 4471
Joined: Tue Aug 10, 2004 10:10 am
Location: Ottawa, Canada

Re: Obsolete IT in the wild

Thu Oct 19, 2017 10:02 am

Got a customer asking for adding a feature to something that we shipped 10 years ago. Embedded never dies!
 
spiketheaardvark
Gerbil In Training
Posts: 3
Joined: Fri May 12, 2017 5:31 pm

Re: Obsolete IT in the wild

Thu Oct 19, 2017 10:17 am

bthylafh wrote:
spiketheaardvark wrote:
I loath those hasp keys. Only place I've seen them is to protect software whose only purpose is to run $100k+ scientific equipment. What good is it to pirate the software that I can't use without the machine? University pay hundreds of thousands of dollars for a machine and yearly service contract at 5-10% the cost of the machine and they get all stingy with the software to run the thing.


Probably to deter people who'd balk at paying four to five figures to upgrade to a newer version of the software and would go the yo-ho-ho route instead. Scientific instrument s/w is insanely expensive even without a support contract.


I wish they had newer versions. Most of our software is . . . quirky . . . at best.
 
Mr Bill
Gold subscriber
Gerbil Jedi
Posts: 1538
Joined: Mon Jan 21, 2002 7:00 pm
Location: Colorado Western Slope
Contact:

Re: Obsolete IT in the wild

Thu Oct 19, 2017 10:38 am

spiketheaardvark wrote:
bthylafh wrote:
spiketheaardvark wrote:
I loath those hasp keys. Only place I've seen them is to protect software whose only purpose is to run $100k+ scientific equipment. What good is it to pirate the software that I can't use without the machine? University pay hundreds of thousands of dollars for a machine and yearly service contract at 5-10% the cost of the machine and they get all stingy with the software to run the thing.


Probably to deter people who'd balk at paying four to five figures to upgrade to a newer version of the software and would go the yo-ho-ho route instead. Scientific instrument s/w is insanely expensive even without a support contract.


I wish they had newer versions. Most of our software is . . . quirky . . . at best.
Along that line of thought... HP Chemstation for chromatography. I heard interesting stories about the software for the HP-4500 ICP-MS that was written by a team of Japanese programmers for Hewlett Packard (now Agilent). Its in effect Chemstation for plasma instruments and actually I liked it the best compared to the other plasma vendors I've used (e.g. Thermo Jarrel Ash, Leeman Labs, Perkin Elmer).
X6 1100T BE | Gigabyte GA-990FXA-UD3 AM3+ | XFX HD 7870 | 16 GB DDR3 | Samsung 830/850 Pro SSD's | Logitech cherry MX-brown G710+ | Logitech G303 Daedalus Apex mouse | SeaSonic SS-660XP 80+ Pt | BenQ 24' 1900x1200 IPS | APC Back-UPS NS-1350 | WinXP64 Pro
 
Ryu Connor
Gold subscriber
Global Moderator
Posts: 4302
Joined: Thu Dec 27, 2001 7:00 pm
Location: Marietta, GA
Contact:

Re: Obsolete IT in the wild

Thu Oct 19, 2017 11:26 am

Glorious wrote:
Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/


I'm actually pondering buying that after watching some videos of it. I feel like a masochist saying this, but that seems fun.
All of my written content here on TR does not represent or reflect the views of my employer or any reasonable human being. All content and actions are my own.
 
Aranarth
Graphmaster Gerbil
Posts: 1099
Joined: Tue Jan 17, 2006 6:56 am
Location: Big Rapids, Mich. (Est Time Zone)
Contact:

Re: Obsolete IT in the wild

Thu Oct 19, 2017 12:26 pm

Glorious wrote:

Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/


I have programmed PLC's just not in a production environment.
I found relatively simple.

Only had 16 channels though.
Main machine: Core I7 -2600K @ 4.0Ghz / 16 gig ram / Radeon RX 580 8gb / 500gb toshiba ssd / 5tb hd
Old machine: Core 2 quad Q6600 @ 3ghz / 8 gig ram / Radeon 7870 / 240 gb PNY ssd / 1tb HD
 
Glorious
Gold subscriber
Grand Admiral Gerbil
Posts: 10862
Joined: Tue Aug 27, 2002 6:35 pm

Re: Obsolete IT in the wild

Thu Oct 19, 2017 12:37 pm

Aranarth wrote:
I have programmed PLC's just not in a production environment.
I found relatively simple.

Only had 16 channels though.


The one that TIS-100 really reminds me of wasn't a PLC(and certainly not ladder logic), but the Foxboro I/A Series DCS: A bunch of program blocks (which can only contain "programs" of 20-50 steps that manipulate limited registers) with instructions to interact with other "logically adjacent" program blocks. If the desired program block you wish to interact with is not "logically adjacent", you have to send to special blocks which are essentially relays.

The similarity really hit home because, one time, after a brown-out, I had a situation in which some blocks were inactive, that is, they weren't working whereas the overall system was. That was relatively trivial: find them, re-activate. ---BUT, um, some of them were inactive but not recognized as such. Yikes!

Yeah. The gigantic Level 1 system that mostly ran our caster had all sort of functions that didn't work. We were running without them, as I was back-tracking dozens of these program blocks trying to diagnose which ones weren't working in real-time. I had every HMI in the maintenance area open, trying to see what wasn't triggering when another program block said it should.

TIS-100 is a like *REALLY* reductionist version of that.
 
Glorious
Gold subscriber
Grand Admiral Gerbil
Posts: 10862
Joined: Tue Aug 27, 2002 6:35 pm

Re: Obsolete IT in the wild

Thu Oct 19, 2017 12:50 pm

Glorious wrote:
I had every HMI in the maintenance area open


BTW, in line with the thread, every one of those HMIs is running on Windows XP SP1.

The vendor used to swap failed machines as part of the support contract. They stopped doing that 2-3 years ago because they are completely obsolete.

I made the expediter buy a pallet of the same model of refurbished Dell Workstations.

You know, so we can keep the place running.
 
Chuckaluphagus
Silver subscriber
Gerbil Elite
Posts: 773
Joined: Fri Aug 25, 2006 4:29 pm
Location: Boston area, MA

Re: Obsolete IT in the wild

Fri Oct 20, 2017 12:51 pm

Ryu Connor wrote:
Glorious wrote:
Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/


I'm actually pondering buying that after watching some videos of it. I feel like a masochist saying this, but that seems fun.

TIS-100 is a really great game, and I definitely recommend it. If I ever get around to beating it (it's very hard for a someone like me who doesn't code), I swear I'm going to add "TIS-100 Assembly" to the list of skills on my resume and see whether anyone notices.
 
the
Gerbil Elite
Posts: 917
Joined: Tue Jun 29, 2010 2:26 am

Re: Obsolete IT in the wild

Sun Oct 29, 2017 7:47 pm

Glorious wrote:
Aranarth wrote:
Registers are not really ram either.


Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/


My tin foil hat is saying that that 'game' is actually some one's real world problem that they packaged into a game for other's to solve for them. This was ultimately the cheaper business solution than hiring real veteran assembler programmers for that platform.

Of course I didn't say this, my tin foil hat did.
Dual Opteron 6376, 96 GB DDR3, Asus KGPE-D16, GTX 970
Mac Pro Dual Xeon E5645, 48 GB DDR3, GTX 770
Core i7 3930K@4.2 Ghz, 32 GB DDR3, GA-X79-UP5-Wifi
Core i7 2600K@4.4 Ghz, 16 GB DDR3, GTX 970, GA-X68XP-UD4
 
mattshwink
Gerbil First Class
Posts: 184
Joined: Wed Jul 16, 2008 7:54 am
Location: Alexandria, VA

Re: Obsolete IT in the wild

Sun Oct 29, 2017 8:20 pm

Not as old as some of the stuff on this thread, but in the last month two of our development teams escalated two separate issues that they couldn't connect to SMB shares through their custom java code. The problem was their libraries (in both instances) only supported SMB v1. One effort was a new effort (upgrading an old legacy client-server app into a web app) and the other was I think an upgrade to a current app (not completely) new. I had to point out to them that it SMB v1 was an almost 30 year old protocol and V2 and V3 were 11 and 6 years old. I told them we would not be supporting SMB v1 and would not turn it on, even though it is possible.
 
whm1974
Gerbil Elder
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Re: Obsolete IT in the wild

Sun Oct 29, 2017 8:38 pm

the wrote:
Glorious wrote:
Aranarth wrote:
Registers are not really ram either.


Yeah, and if you really want to get a feel for what programming one of those things is like, check out this "game" http://www.zachtronics.com/tis-100/


My tin foil hat is saying that that 'game' is actually some one's real world problem that they packaged into a game for other's to solve for them. This was ultimately the cheaper business solution than hiring real veteran assembler programmers for that platform.

Of course I didn't say this, my tin foil hat did.

Hey if it get kids to learn how code in assembly and do it well, so what? I wish something like this was around when I was a kid.
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Sun Oct 29, 2017 8:41 pm

mattshwink wrote:
Not as old as some of the stuff on this thread, but in the last month two of our development teams escalated two separate issues that they couldn't connect to SMB shares through their custom java code. The problem was their libraries (in both instances) only supported SMB v1. One effort was a new effort (upgrading an old legacy client-server app into a web app) and the other was I think an upgrade to a current app (not completely) new. I had to point out to them that it SMB v1 was an almost 30 year old protocol and V2 and V3 were 11 and 6 years old. I told them we would not be supporting SMB v1 and would not turn it on, even though it is possible.

Haven't really kept up with it, but I imagine SMB V1 has a lot of potential security vulnerabilities?

Going off on a tangent, you'd be surprised how much RS-232 serial is still used behind the scenes. A lot of modern devices still have hidden RS-232 functionality on an internal connector (or at least PCB pads) even if they don't have an external connector, for engineering/diagnostic purposes. Many modern motherboards still have an internal COM port header as well (can be brought out to the rear panel with a passive expansion slot bracket), even though the DB-9 serial connector has generally been absent from the ATX port cluster for a decade or so. (Some legacy RS-232 devices still work better with a native COM port than they do with a USB serial dongle; I imagine the internal header is there to cater to these edge cases.)
Nostalgia isn't what it used to be.
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Sun Oct 29, 2017 8:44 pm

whm1974 wrote:
Hey if it get kids to learn how code in assembly and do it well, so what? I wish something like this was around when I was a kid.

I still believe that all software developers should be taught assembly language at some point, even though few will ever need to use it directly IRL. IMO understanding what happens "under the hood" potentially makes you a better developer, even if you're coding in a higher level language.
Nostalgia isn't what it used to be.
 
mattshwink
Gerbil First Class
Posts: 184
Joined: Wed Jul 16, 2008 7:54 am
Location: Alexandria, VA

Re: Obsolete IT in the wild

Sun Oct 29, 2017 8:53 pm

just brew it! wrote:
Haven't really kept up with it, but I imagine SMB V1 has a lot of potential security vulnerabilities?

Going off on a tangent, you'd be surprised how much RS-232 serial is still used behind the scenes. A lot of modern devices still have hidden RS-232 functionality on an internal connector (or at least PCB pads) even if they don't have an external connector, for engineering/diagnostic purposes. Many modern motherboards still have an internal COM port header as well (can be brought out to the rear panel with a passive expansion slot bracket), even though the DB-9 serial connector has generally been absent from the ATX port cluster for a decade or so. (Some legacy RS-232 devices still work better with a native COM port than they do with a USB serial dongle; I imagine the internal header is there to cater to these edge cases.)


Yes, SMB v1 is highly vulnerable as it does no security checking whatsoever (both Microsoft and US Cert say it should be disabled). The WannaCry and Petya ransomware exploit it.

As for serial I know :) Our network guys still sometimes connect via serial to the switches because it is sometimes the only way. Just on Friday I was working with a user that had been escalated to me as here machine was getting replaced and moved to Windows 10. The guys had never seen the connection her label printer used (parallel or serial!) which her old tower had. Her new Surface Pro dock did not have those connections. I told her those connections were old and that all we could do was give her a new label printer that supported USB (she was happy with that).
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Sun Oct 29, 2017 9:49 pm

mattshwink wrote:
As for serial I know :) Our network guys still sometimes connect via serial to the switches because it is sometimes the only way. Just on Friday I was working with a user that had been escalated to me as here machine was getting replaced and moved to Windows 10. The guys had never seen the connection her label printer used (parallel or serial!) which her old tower had. Her new Surface Pro dock did not have those connections. I told her those connections were old and that all we could do was give her a new label printer that supported USB (she was happy with that).

You might be surprised if you take a peek inside that new label printer. Some USB devices are just legacy serial designs with an internal USB serial chip tacked on. :wink:
Nostalgia isn't what it used to be.
 
whm1974
Gerbil Elder
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Re: Obsolete IT in the wild

Sun Oct 29, 2017 11:01 pm

just brew it! wrote:
whm1974 wrote:
Hey if it get kids to learn how code in assembly and do it well, so what? I wish something like this was around when I was a kid.

I still believe that all software developers should be taught assembly language at some point, even though few will ever need to use it directly IRL. IMO understanding what happens "under the hood" potentially makes you a better developer, even if you're coding in a higher level language.

How much is assembly language used these days in PC programming? It's my understanding that the majority of coding is done in C/C++. While to my knowledge, with 8-bit machines at least, during the 80's it was assembly and some form of BASIC.
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Sun Oct 29, 2017 11:23 pm

whm1974 wrote:
just brew it! wrote:
whm1974 wrote:
Hey if it get kids to learn how code in assembly and do it well, so what? I wish something like this was around when I was a kid.

I still believe that all software developers should be taught assembly language at some point, even though few will ever need to use it directly IRL. IMO understanding what happens "under the hood" potentially makes you a better developer, even if you're coding in a higher level language.

How much is assembly language used these days in PC programming? It's my understanding that the majority of coding is done in C/C++. While to my knowledge, with 8-bit machines at least, during the 80's it was assembly and some form of BASIC.

In PC programming, not much. C/C++ compilers have gotten good enough that the business case for hand optimization has mostly gone away. In most cases it's just not cost-effective, when the performance benefit over a "still relatively close to the metal" high-level language like C is only a few percent.

Assembly is still used to some extent in the low-level embedded field. But even that has mostly moved to C these days unless you're dealing with the bottom-tier, high-volume, "per-unit cost is everything" market served by parts like the 30 cent microcontroller I linked in your 8-bit CPU thread.

I last used assembly a couple of years ago, but that was an unusual case: futzing around with the bootstrap loader for an embedded application that ran on a "soft core" RISC processor in an FPGA. As a WAG, less than 0.1% of software developers would ever need to deal with something like that.

Yes, a lot of 8-bit code was done in assembly or BASIC back in the day. Compilers for Pascal and C existed too (and saw some uptake), though the 8-bit platforms of the day struggled to run the compiled code efficiently, and the runtime libraries could occupy a substantial portion of the available RAM (leaving little room for application code). Borland's Turbo Pascal got its start on 8-bit CP/M systems.

Trivia: The first commercially marketed software product I wrote was a drop-in replacement runtime library for programs compiled with Digital Research's 8-bit Pascal compiler. Written entirely in hand-optimized 8080 assembly language, it reduced the memory footprint of the library by more than 50%, and dramatically increased I/O performance. Sadly, it never really took off, since Turbo Pascal arrived on the scene shortly thereafter and blew DR Pascal out of the water.
Nostalgia isn't what it used to be.
 
notfred
Maximum Gerbil
Posts: 4471
Joined: Tue Aug 10, 2004 10:10 am
Location: Ottawa, Canada

Re: Obsolete IT in the wild

Mon Oct 30, 2017 8:18 am

I'm a C programmer, but I still need to know enough assembly to work out exactly what has gone wrong when I get a crash in from the customers. Modern C compilers with the optimiser on really do some strange things with the code and working out exactly which bit went wrong is not always obvious, looking at the assembly helps. Aside from that it's basically bootup or when you want to do really weird stuff that you need to get in to assembly.

On optimisation, every time I've seen a rule of thumb about how to hand optimise, it's turned out to be wrong given modern CPUs and modern compilers. A common one is that copies are slow so you should just have one copy and reference count. It turns out that modern CPUs are screamingly fast and reference counts need to do an atomic access which means cross core synchronisation when can be more clock cycles than just copying the data for small amounts of data.

Even if you spend all day in C, you still need to be aware of some very low-level processor hardware concepts e.g. on ARM the lack of cache coherency and the weakly ordered memory model in comparison to x86.
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Mon Oct 30, 2017 9:35 am

notfred wrote:
I'm a C programmer, but I still need to know enough assembly to work out exactly what has gone wrong when I get a crash in from the customers. Modern C compilers with the optimiser on really do some strange things with the code and working out exactly which bit went wrong is not always obvious, looking at the assembly helps.

I've seen the "strict-aliasing" optimization (which gcc enables at optimization level 2) burn people before. With strict aliasing, you can't reliably use casting to tell the compiler that the data being referenced by a pointer is of a different type than what was originally declared. Much hilarity ensues when people assume "hey, I'm still pointing at the same memory address, I should get the same bits".

notfred wrote:
Even if you spend all day in C, you stigcc's ll need to be aware of some very low-level processor hardware concepts e.g. on ARM the lack of cache coherency and the weakly ordered memory model in comparison to x86.

Yeah, I think a lot of people who grew up on x86 are a little spoiled in this regard. The CPU jumps through hoops to make sure that DMA is cache is coherent, misaligned memory accesses are handled transparently, etc... on other ISAs you're going to get unpredictable behavior (corrupted data) or fatal exceptions if you just blindly assume the hardware will "do what I meant".

I had to deal with those kinds of issues on the above-mentioned FPGA project. Many of the bugs I ended up chasing were cache coherency issues (separate instruction and data caches mean any routines that move program code around in memory need to carefully manage the caches), or due to misaligned accesses silently returning bad data (CPU just rounded the address down to the nearest alignment boundary and didn't throw an exception).

Some of the other engineers on that FPGA project also insisted that we had to compile with all optimizations off because "the optimizer is buggy". No, their code was buggy, in ways the optimizer was exposing...
Nostalgia isn't what it used to be.
 
chuckula
Gold subscriber
Gerbil Jedi
Posts: 1775
Joined: Wed Jan 23, 2008 9:18 pm
Location: Probably where I don't belong.

Re: Obsolete IT in the wild

Tue Nov 21, 2017 4:18 pm

So I know it's not "obsolete" in the same way that a mimeograph would be considered "obsolete" but I am dealing with an older (Core 2 era) Dell system that has a weird and annoying idiosyncrasy. I'm using it as a platform to overwrite old hard drives before they go off for recycling. To do that I'm just using a USB stick that boots a minimal Linux environment that lets me do low-level overwrites of the drives, no fuss no muss. [EDIT: You should have seen the hoops I had to jump through for the really old PATA drives that needed a 32-bit ancient Dell that wouldn't even boot from USB and needed a bootable Linux CD (not DVD!) to work... it's actually kind of hard to find ISO images that are small enough to fit on a CD these days]

Except for one thing that was freaking me out until I figured out the bug. The machine boots fine using the USB stick when there also is a SATA hard drive installed. The SATA hard drive doesn't have to be bootable or even have a recognizable partition installed, it just has to be hooked up. However, the machine will not boot at all using the exact same USB stick and the exact same BIOS settings that say "boot from USB" when there is no hard drive physically present in the machine. This became a real issue when I tried to boot the machine to wipe out a portable USB hard drive that of course was not connected to the SATA ports.

It's just a bizarre and annoying bug.
4770K @ 4.7 GHz; 32GB DDR3-2133; GTX-1080 sold and back to hipster IGP!; 512GB 840 Pro (2x); Fractal Define XL-R2; NZXT Kraken-X60
--Many thanks to the TR Forum for advice in getting it built.
 
just brew it!
Gold subscriber
Administrator
Posts: 51055
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Obsolete IT in the wild

Tue Nov 21, 2017 6:58 pm

I've seen bizarre boot order bugs too. A lot of older systems (and probably some newer ones too) just have weird issues with boot order and detection of boot drives. You'd think this would've been a solved problem by now given the age of the PC ecosystem, but apparently not.
Nostalgia isn't what it used to be.
 
Yan
Silver subscriber
Gerbil First Class
Posts: 198
Joined: Fri Dec 21, 2012 9:37 pm
Location: Ottawa

Re: Obsolete IT in the wild

Tue Nov 21, 2017 7:21 pm

chuckula wrote:
it's actually kind of hard to find ISO images that are small enough to fit on a CD these days].


My favourite live CD is System Rescue CD, but there are several others.

Who is online

Users browsing this forum: No registered users and 3 guests