This article addresses the limitations of using Java Persistence Query Language (JQL) strings in object-oriented Java applications, specifically the lack of compile-time checking which can lead to runtime errors and hinder refactoring. It introduces the JPA 2 Criteria API as a type-safe alternative that resolves these issues by allowing query construction through Java code, enabling...
As the global transition to IPv6 accelerates, network administrators and IT professionals must adapt their infrastructure to support the new protocol. This blog post provides a practical, step-by-step guide to setting up an IPv6-enabled local area network (LAN) using Linux. Starting with an overview of IPv6 fundamentals and its key benefits—such as an expanded address space, simplified routing,...
Sophisticated, at least from a social engineering point of view, syndicates operate in South Africa bombarding organisations with fake government tender or courier emails, often sending multiple scams daily. This two-part series explores how to protect your organisation from these, and other fraudulent emails. In Part 1, we focus on email authentication protocols—SPF, DKIM, and DMARC—and...
Submitted by Mark Clarke on Wed, 06/10/2015 - 08:57 Note: This article is old and needs to be updated but is reproduced here for history. It doesn't cover API tokens, oAuth2/OpenID, Kerberos etc. Our Certified Ethical Hacker CEH training course is attended by all types, from system administrators and application developers to cyber security professionals. A common question from developers...
Beyond standard command and parameter substitution lies the often-overlooked power of process substitution. This abstract explores how process substitution transcends simple piping by allowing the output of a command to be treated as a file for another command's input, or conversely, a command's file output to be directed as input to another process. This capability unlocks elegant solutions...
This article delves into the often-overlooked intricacies of Bash subshells, particularly those invoked through pipelines. While seemingly straightforward for basic input/output redirection, Bash pipelines concurrently execute each command within a subshell, a key detail with significant performance implications. Through practical examples, we demonstrate this parallel execution using the time...
Careers in Information Technology (IT) offer unparalleled opportunities for growth, innovation, and impact. From cybersecurity to cloud computing, software development to data analysis, the realm of IT encompasses a vast array of specialized roles that play crucial roles in driving the digital transformation of businesses and organizations worldwide. As technology continues to permeate every...
Life as a Java developer used to be about writing awesome code. Understanding the latest APIs and hottest trends in application design and architecture and how you could leverage this all for fun and profit. For those that wanted to, you could delve into the fascinating or hellish depth of the Java VM, garbage collection and performance tweaking. One looked forward to a new version of Java and...
In my previous blog post, I set out our recommendations for starting out on your cybersecurity journey dealing with the fundamental skills required to become a cybersecurity professional. In this post, we start to look at specifically cybersecurity-focused certifications. In the world of cybersecurity, obtaining certifications is one way to demonstrate your knowledge and expertise in the...
As artificial intelligence begins to automate many of the entry-level jobs in IT, the cycle of automation started by the first industrial revolution is disrupting a sector previously thought a safe haven. It has become more important than ever to find opportunities for knowledge workers where demand for skills outstrips supply and where machines cannot yet replace humans. One such sector...
 The possibly unexpected answer to the above is C. This is one of those trick questions they like to ask in certification exams or interviews. To understand why the answer is C and not A one needs to appreciate what the operators do. This type of "trivia" is often glossed over when one is learning Java but having a solid understanding of what is going on turns one from a mediocre...
Ever since Arduino first captured the imagination of the world I have harboured the desire to learn and master the art of hardware hacking. Actually, even before the Arduino, I wished to know more about the devices that I programmed, almost exclusively microprocessors, and to be able to create new solutions using hardware and not just software. My thought, at that stage, was that I would first...
Showing 1 to 13 of 13 entries.