Categories
Hints and Tips Performance

“Do it in the Database” Anti-pattern

Reuven M Lerner’s article titled “Use Your Database” in the August 2015 Linux Journal re-iterates the point I make in my post about moving logic to the database to improve performance.

Don’t forget how fast your DBMS is nor how much processing power you almost certainly have sitting idle on your DB server(s). Use it!

Categories
Coolermaster Hardware Water Cooling

AIO Water Cooling – Nepton 120XL

I have had a number of disappointing experiences with all in one water coolers over the years, but I have decided to give the CoolerMaster Nepton 120XL a go for my AMD 4350 server. There is a review here.

The Nepton 120XL looks like a nicely engineered unit unlike the Corsair H60i it replaces which neither felt quality nor delivered a quality end result. I’ll report back on temperature figures in due course, but I am hopeful of an improvement over the stop-gap Artic Freezer Pro 13 I have in the case currently. I’m also adding a couple of quiet Corsair 120mm fans to assist airflow should it be required. To be fair to the Arctic Cooling Freezer Pro 13 it does a perfectly fine job of cooling – but it can get pretty loud under load and isn’t exactly quiet at idle.

I am not planning to overclock the box significantly but I’d like the extra cooling headroom to do so and water cooling is generally quieter in my experience provided the pump isn’t noisy (I’m looking at you H60i!). I’ve not yet decided on whether I should invest in a dedicated fan controller like the NZXT Sentry 3. I doubt I would use it to be honest, but it is an option. I like the look – it would go well in the Corsair SPEC-03 Blue LED case.

Categories
Hardware Linux Utilities

Hardware Monitoring on Linux

There are a few graphical applets that show hardware status on Linux, but I really like the Python based curses interface of glances. Check it out – a really clean interface, remote monitoring via the web. Obligatory screenshot:

glances_screenshot_phenom

 

Categories
Acorn Atom Hardware

My Computing Journey

Early Years and the 6502

As a teenager I developed a strong interest in computing. I badgered my late father to buy me the Acorn Atom – the predecessor of the BBC micro. That was a major expense for him at the time and led to some significant sacrifices for him – something I absolutely did not fully appreciate at the the time and something for which I will be eternally grateful. I remember him spending all day on the bus to Cambridge and back just to get me some additional memory chips to expand the Acorn Atom. It’s been nearly 25 years since he died – still seems like yesterday. RIP Dad.

The Acorn Atom was a decent machine but not without it’s faults. It had a tendency to overheat – something that I solved through the judicious placement of ice cold cans of Coke above the heatsink. I taught myself a variety of programming languages on the Atom: Basic, Forth and 6502 assembler to name but a few.

Categories
Linux

My Linux Journey

My first Linux distribution was Slackware Linux. There were only a couple of choices back in 1993/1994 – Slackware and Yggdrasil. I distinctly remember installing Slackware from 24 3.5 inch floppy disks (these things in case you are too young to remember them). A somewhat tedious but oddly rewarding experience.

I used Slackware linux for many years, using it to build numerous SMTP servers, Usenet servers, web servers and even a point-of-presence dial-up server using an ISDN card. Slackware was, and continues to be, a very clean Linux system. You learn a lot more about Linux using Slackware than you ever will using Ubuntu or Redhat. There is a saying in the Linux world: “If you know Red Hat, you know Red Hat. If you know Slackware, you know Linux.” – certainly true in my view.

Categories
Hints and Tips SQL

Underscore matching in LIKE clauses

Speaking with an old colleague last week made me realize that some developers do not appreciate the significance of the underscore (_) in LIKE clauses.

A somewhat artificial example from PeopleSoft:

A developer wants to find all record definitions where the override SQL table name starts with ‘PS_’ followed by the string ‘DEFN’. They try this:

SELECT * FROM PSRECDEFN WHERE SQLTABLENAME LIKE 'PS_%DEFN%'

But that gives them too many rows because the underscore matches any character in that position. So they craft a better solution:

Categories
Hints and Tips SQL

Character Classes in SQL Server LIKE

Although SQL Server does not support regular expressions natively, character classes in LIKE clauses offer a subset of the flexibility that is often forgotten. Some examples:

For example:

SELECT TOP 10 * FROM PS_JOB WHERE EMPL_STATUS LIKE '[ALPS]'

Is equivalent to:

SELECT TOP 10 * FROM PS_JOB WHERE EMPL_STATUS IN ('A','L','P','S')

But this is NOT the same as this because the character class check is normally case sensitive:

SELECT TOP 10 * FROM PS_JOB WHERE EMPL_STATUS LIKE '[aLPS]'

You can also mix ranges and lists of values. For example, to find all OPRIDs in PSOPRDEFN starting with a lowercase letter or numerics 1,2,6,7 or 8:

Categories
Antec Cases Hardware

Antec 1080 AMG – RIP

After over 10 years this monster of a tower case has gone to the recycling centre. It’s been replaced by a cheap (but surprisingly good) Corsair SPEC-03 gaming case. Whilst the Corsair is positively flimsy in comparison to the Antec, it offers some decent features at a great price point. It is surprisingly quiet too. My AMD FX-4350 idles at 20 degrees in this case even with a very average CPU cooler – the Artic Cooling Freezer 13 Pro. I’m planning to replace the cooler in due course – probably with another Noctua as in my other builds.

My main reason for moving away from the Antec case was space considerations, although the better cooling, front mounted USB 3.0 ports and reduced noise have all been positives as well. Recommended.

 

Categories
Hints and Tips PeopleTools

PeopleTools Encryption Algorithm Change

Placeholder link to a very useful RemotePSAdmin post on the subject:

PeopleTools Encryption Change

Most importantly, the versions where this change occurred are:

8.52.24, 8.53.17, and 8.54.04

Categories
High Availability Peoplesoft PeopleTools Weblogic

Load Balancing <> High Availability <> Seamless Failover

Having a load balancer and multiple Peoplesoft VM’s at the Web and App layer with a clustered database server does not guarantee “seamless failover” for the end user – it all depends how it is all configured.

Here’s a nice example:

  • Load Balancers (x2 actually)
  • Multiple Weblogic servers
  • Multiple Application servers
  • Clustered DB server

The load balancer feeds the Weblogic servers with sessions and maintains “session stickiness” via a cookie. They in turn each know about the application servers so they can load balance across them too. All good? Nope.

Hmmm … the Weblogic servers are single server domains. With different session cookie names.

So, if a Weblogic server fails the load balancer will re-direct the session to another one. But that server is not even looking for the same session cookie name. End result for the users … the PeopleSoft login page.

But even if all the Weblogic servers did share the cookie name we have another problem – there is no session replication between the Weblogic servers as they were configured as single server domains. No Coherence, no wl_sessions table in a DB somewhere – nothing. End result for the users … the PeopleSoft login page.