The times move fast. Must faster than I do, when it comes to computer hardware.
As mentioned in the last blog, I would reveal what kind of monitor I have been using for all this time.
Above is a picture of my new setup.
The Old Monitor
An Iiyama original. The Vision Master Pro 454 HM903DT B
It was quite a good monitor at the time and it did manage to perform fine for decades.
The New Monitor
The new monitor is visible at the top of the blog. It's a HP1 Z2n G2 27 inch monitor and it is awesomeness.
very sturdy heavy metal adjustable stand
especially compared to my old monitor. I had to up the anti-aliasing on my games, as the jaggies were very noticeable, now that the contrast is awesome.
just a little difficult to find the buttons.
the brightness needs some getting used to, especially if the screen is a bright white. Especially in the evenings, the brightness needs to be turned down.
it's obviously a huge difference in size and weight. The desktop (the real one) has a lot more real estate now. Getting used to having more room to put the keyboard.
I expect a lot of energy savings with the new monitor, as well as a reduction in generated heat.
zero problems in all my operating systems in getting the highest resolution. Almost didn't have to do anything at all.
Conclusion: with the new graphics card and the new monitor I sit and stare in silent admiration at the beautiful images that my games can conjure up for me.
I tend to postpone upgrading my computers until it either breaks down or it gets too cramped in performance/memory/etc. This tends to take a long time.
So a colleague of mine was upgrading his computer, and I managed to get his old graphics cards.
Seeing as I am on a budget, I was looking into what the difference in performance were for second hand graphics cards.
A lot of graphics cards are replaced because there are better ones, even though the old cards still work perfectly fine.
And he just happens to buy the latest and greatest, which is still a pretty good deal after 7 years, compared to what I buy.
My original graphics card
It's a AMD Radeon HD 5700 Series.
"New" graphics card
It's a Nvidia GeForce 770.
Some notes of mine.
typeyou cannot tell any more what kind of graphics card it is from just looking at the physical hardware. With any luck you can find the manufacturer, but that's it. There's just not more room or not important.external connectorsSo, no more VGA connector. And of course my old monitor only has a VGA Connector. (Don't ask, I'll write about it in the next blog about how ancient it is). It gave me an excuse to upgrade my monitor.internal power cable for PCI Express cardsThe old graphics card had only one internal power connector, a 6 pin. The new graphics card had both a 6 pin and an 8 pin. Time to look in the attic for my spare cables box.noiseit's rather depressing that the new graphics card has three fans and is more quiet than my old graphics card which has only one fan.heavinesswith all the fans, and the cooling fins, this new graphics card is a seriously heavy beast in pure weight. I hope my motherboard can cope with it.plasticinstead of screws, my case has plastic easy-to-use click-and-go thingies to fasten cards. Of course, plastic is the first thing to become brittle after several years. No surprises there.
All in all, I am extremely happy. Except for a few little surprises mentioned above, I had the entire setup working relatively quickly.
I recently wished to convert some of my childrens DVDs to MP4, so I could put them on their individual tablets.
I've dabbled with this in the past, on Linux, and it has always been quite a chore to do.
Everything from obscure commandline commands and GUIs that provided a lot of options that were basically meaningless to me (without proper research).
Of course, this caused a lot of grief. Sound not synchronised to the video, or the entirely wrong soundtrack, or converted only the trailers, etc.
But recently I found Handbrake1, and I was much impressed. A nice gui that only takes a little while to learn, and only for special cases (say for example if you do not wish to have the default English soundtrack).
It has sensible defaults.
The only issue was the installation, as it requires, of course, libcss and all that.
So, sometimes when you have an existing software structure, with lots of domain rules inside, it becomes difficult to change. Especially when there is a lot of cohesion between your classes.
This is the problem of tight coupling, as opposed to loose coupling1.
I recently encountered this in our software.
And of course, I needed to change something deep inside.
Now, I didn't need to change anything about the domain logic. It was very good and working as intended.
But I needed a change purely for technical reasons. In this case, the domain logic was used in a Batch Processing on Hibernate Entities, and the domain logic was (in this case, not normally) generating a lot of Entities, and they were all persisted in the Session Context, which naturally grew. And then the dirty check and the session closing takes a long time, etc, etc. See reference  on why this's bad.
So I was looking for a way to persist entities, without adding them to all the collections with the CascadeType without changing the domain logic too much, and also keep the default behaviour as standard.
I didn't want to use inheritance, as it was a persisted Hibernate Entity.
So, I came up with the following hack:
Quite simply, I can now add behaviour to an Entity when I need it.
As me and my colleague say "A seemingly innocent first step on a slippery slope to hell."
Of course, this kind of abuse has always been possible, but it is now easier to do than ever (without having to create an entire class for the priviledge).