The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
As you do lots of debugging, the following quote is appropriate:
… Es regiert der Herr des Hasses
Hässlich ich bin so hässlich so grässlich hässlich ich bin der Hass!
Hassen ganz hässlich hassen ich kann's nicht lassen ich bin der Hass!
Attention Attention unknown flying object approaching the planet!
Interfaces by themselves are not evil and used properly when needed they make development much easier - because you can rely on dependency injection rather than tightly coupled code(I probably don't know what I am taking about here but I thought I would use some jargon...).
There are case where interfaces have made things a lot easier for me - recently I was hitting an issue with an email class I was using, so instead of rewriting a whole bunch of code I created an interface and passed in the new class by interface.
I then discovered that there was a way around the issue I had and did not need to use the new library, so all I needed to do was to reference the old class when passing the mail class by interface - it took less than 5 seconds to reference the old class again.
In my work life I work on a huge application with all sorts of interfaces and it does make debugging a lengthy process - so like anything else when overused they can cause problems.
“That which can be asserted without evidence, can be dismissed without evidence.”
Man, you don't understand interfacitis.
Interface are good they can solve problem!
Interfacitis is when interface becomes the goal without any particular end and introduce problem instead of solving them...
Interfacitis is like when people tells you "always create an interface before creating the class or when one create an interface with 42 method and growing, constantly...
It's like.. water is good. Too much water, you drown!
Interfaces are not inherently bad, nor are they the problem.
It's the (non)discoverability of the concrete implementation which makes using an interface problematic.
Much of the time one is looking at an interface, it's because some [perceived] bug is brought up; thus, you're really trying to find the implementation.
The problem comes about when that implementation is abstracted away in a manner that the researcher "just has to know about"--some configuration file on app startup or whatever--as opposed to a more inline factory-type "GetImplementationForX(params)" which the developer can trace and discover that, in the error condition, it's implementation #n they need to research.
Fortunately, a lot of that discovering is made easier with modern tools, where we can right-click and see the implementations of IWhatever, so it's not as bad as it once was.
I definitely agree with the aspects of over-engineering (i.e., trying to cram extra functionality where it doesn't belong) and trying to solve problems which don't exist being an issue though.
just yesterday tossed out an old PC, and I actually paused looking at the internal dvdrw wondering if I should pull it out, but nah, for what?
today bored, decided to brush up on [long not done] c programming, remembered I had a really useful file of routines/info ... where? ... apparently on an old [backup] dvdrom (from 2010).
burger! sheet! fork! ... ok, so pop down to the store tomorrow and buy one (usb- about $20-30)
but then remembered! have an old laptop [not mine - borrowed about 4 years ago] ... anyway cancel shopping trip, woohoo! likely 5 or more years [if ever] before need one again
I'm over keeping old crap "just in case." - particularly tech. (future: borrow or do it at client.)
offloaded [to recycling] 4 old PC's and 3 old laptops plus a big box of related bits (and a boatload of unrelated stuff) in the last month, (gonna return that borrowed one soon)
having done that actually feel really good about it ... already preparing for more to dump next week
-> plan for new year is less work and instead long overdue home repairs & improvements
- last thing I need for that is piles of "still good" useless crap and clutter
I've been on holidays all week, and it seems that all I've been doing is going through old stuff and throwing out useless crap.
My old college notes (20+ years ago) might have made an interesting read, but realistically this is all useless to me now. That was a few binders worth. I can't imagine anyone hangs on to that. Do you?
I tend to keep boxes until the items that came in them are no longer under warranty...problem is, they tend to pile up at the back of the closet or in the basement, then I either forget about them, or they get buried by other stuff so I never do it. I've had a lot of catching up to do.
A mint-condition Blackberry Playbook with the box and manuals it came with might be a great find for a collector, but why am I keeping this for the next guy? I'm not going to be offered half the money I originally spent on it if I tried to eBay it. Same with my older Android tablets.
Over the years I've transferred all my important CDs and DVDs on hard disks (now that it's cheaper to do so than burning on disc). I have thousands of them to get rid of - and I'm finding out nobody will take them for recycling.
That said, I still have spindles full of old MSDN discs...maybe next round.
Next week I'll probably be going through the hardware pile. Last year I finally got rid of things like IDE, SCSI, parallel and serial cables, some video cards and the like, but it seems like the pile didn't diminish at all. I should get more ruthless this time around...
On my last PC build my collection of old crap saved me some heartache...
I had bought an AMD motherboard that could take a regular AMD CPU - or an APU. The APU provides the on-board graphics output, but I didn't need that, so I bought just a regular CPU without that extra stuff. I was going to use my NVidia GPU instead.
I thought I'd plug the card in, plug the CPU in, then boot up and the BIOS would auto-recognize it didn't have an APU, and use the PCIx slot instead where my GPU was...
So there I am - my options being: Buy a different CPU or buy a different motherboard. I couldn't return either of the ones I had because they were long out of the return window. Sigh. What to do?
Hmm - well, the motherboard had an empty PCI slot - so I dug thru my pile and found an old 8 meg PCI graphics card. I hoped it would work...and it did!
Booted up into the BIOS, changed the defaults to use the PCIx slot for video, then rebooted and all was fine. Had I not had that old video card, I would've been out a couple hundred dollars or more.
I keep all kinds of old "junk" - because I never know when I will need it. It's saved my bacon so many times in the past.
Maybe this sounds like going off-track, but it isn't!
Looking all the way back to your first use of a computer: What sort of backup medium have you used over the years? (If you want to rephrase that to "What backup medium would I have used if I had practiced good backup routines?" - that's OK with me.)
I have made backups (or had original files) on 8", 5.25" (two varieties), 3.5" (three varieties) and even 2" floppies. Half-inch open-reel tape. Even punched paper tape. Two different QIC cartridges. Two types Travan tape cartridges. DAT. SCSI disks. FW 400 disks. FW 800 disks. External USB disks with classical B, mini B, micro B and micro B SuperSpeed connectors. SDHC cards. xD cards. DV tape. USB2 memroy sticks. And don't get me started on analog media for sound, still pictures and home movies...
Part of the explanation of this mess is that I always wanted to be in the forefront, using the newest technology, under the assumption that it would last the longest. I have spent many hundred hours moving files from one medium to another one, and I must admit that sometimes, I started too late: I could borrow an reader for an evening, but had to prioritize which tapes to read - time didn't allow them all to be saved. I had to sacrify some of it. In other cases, I could save none of it: No reader was available when I came across those backups in my archive that I had forgotten about.
That is just the first step. I have a pile of "saved" files, but no program that can read Lotus Manuscript documents. Or AMI documents. Or Notis documents. For most sound files I have codecs - but for some of them, I have to boot up an old Win98 PC. Similar with some strange photo formats.
For a number of years now, I have calmed down the race towards the latest and greatest technology: I soon have moved everything over to high capacity USB2 disks, under a single backup structure. USB2 won't disappear overnight. When another technology has proven to be similarly stable, moving the files over will be far simpler/faster than playing card tricks with floppies, tape cartridges or flash cards. USB2 is no longer state of the art, but I don't want that: I want the longlevity gold medal winner.
People are not going to loose their backup files because the backup disk is lost or stolen or the substrate deteriorates so that the files cannot be read. Most private files will be lost by not having the equipment available to read them. You may have the reader, but your current PC does not have a suitable interface. If it has, maybe no driver for the reader has been available since Win98. If you have a driver, the file format may be unreadable by the software you've got available. I had to buy another SCSI cable when I bought a new unit requiring then ninth kind of SCSI plug in my setup. I complained to the salesman, he said "You are lucky! There are at least 14 different plugs used for SCSI!" - that's when I decided to boycott SCSI for all new equipment.
For most cases, you can in principle send the disk, tape or whatever away to some company that specializes in recovering old files. It could cost you hundreds of dollars, maybe more. And it could take weeks. It is very tempting to conclude "Sh*t happens", and forget that you ever had those files. Actually, I have kept a fair share of all the backup media I have ever used, as a "computer museum" - at least a couple units in each format. But for those I couldn't save all the information, I have given up all hope of ever completing the transfer.
Not software engineering, the real one. Software engineering used to compare with the latter like astrology compares with astrophysics.
In my bitter experience, many brand new products doesn't work properly from the very start. I'll name few examples: a GPS watch, a blood pressure monitor, a TV soundbar, even a vacuum cleaner.
On the other side, my Windows 8 never crashes, seldom hangs.
I kinda know what you mean, but ... my suspicion is that it's the "software engineering" side of new devices that lets down the hardware engineer side.
A sous vide I bought, with WiFi and BlueTooth. That works wonderfully, if you ignore the WiFi and bluetooth (and definitely the app that comes with it)
I don't own a GPS watch, or even a smart watch: mine has hands, is made of titanium, and was a gift last century!
Vacuum cleaners ... blame the EU, I do. I have a "old" 2200W mains machine which works, even on cat hair. Modern ones ... the EU cut the max power in two stages to 900W and they suck. In both senses. They are rechargeable mostly because the manufacturers needed to find something to sell them on, since "actually cleaning" was no longer an option.
Sent from my Amstrad PC 1640 Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
It really isn't so much about the power as you might think. It's all about air flow. It's a bit like with amplifiers. Twice the power only gives 3db more sound
And modern vacuums simply are to small to have a proper airflow.
If you have the space you should buy one of these[^].
They never were more than 1000w but they will last you your lifetime.
That's a bit misleading. Twice the power gives twice the 'sound'. Sound pressure level has a logarithmic scale of measurement where +3db is a multiplying factor of 2. A logarithmic scale of measurement is used because the human ear is also logarithmic, automatically compensating for increases in sound pressure level so the perceived increase in loudness isn't linear.
An increase of 3db is a doubling of the SPL. It's twice as loud, although to the brain doesn't seem so, but that's a physiological phenomenon.
In my past it has been if there is an Engineering problem it's too late to fix it or it will cost too much so let the Software Engineers fix it they can make it work so we code around problems and at least make it work till the next version (hate it)
But then again " It's software that makes Hardware Happen"