av

Episode 378: Joshua Davies on Attacking and Securing PKI

Joshua Davies discusses TLS, PKI vulnerabilities in the PKI, and the evolution of the PKI to make it more secure, with host Robert Blumen.




av

Episode 387: Abhinav Asthana on Designing and Testing APIs

Abhinav Asthana, a founding partner and CEO of the API development tool Postman, discusses API design and testing, where to start, which types of APIs to offer, what tools you can use, what features to expose and what is his favorite API to reference.




av

Episode 402: Rich Harris on the Svelte JavaScript Framework

Rich Harris, author of the JavaScript module bundler Rollup, discusses his JavaScript framework Svelte as a high-performance alternative to mainstay frameworks like React, Angular, and Vue. We begin with a brief overview of the framework and how...




av

Episode 412: Sam Gavis Hughson on Technical Interviews

Felienne spoke with Gavis-Hughson about how to prepare for the dreaded 'whiteboard interview'.




av

Episode 460: Evan Weaver on FaunaDB

Evan Weaver of Fauna discusses the Fauna distributed database. Host Felienne spoke with him about its design and properties, as well as the FQL query language, and the different models it supports: document-based as well as relational.




av

Episode 464: Rowland Savage on Getting Acquired

Rowland Savage, author of How to Stick the Landing: The M&A Handbook for Startups, discusses how company acquisitions work, the three types, and why it is so important for software engineering startups to know the details to make an acquisition happen.




av

Episode 465: Kevlin Henney and Trisha Gee on 97 Things Every Java Programmer Should Know

Trisha Gee and Kevlin Henney of 97 things every Java developer should know discusses their book, which is a collection of essays by different developers covering the most important things to know. Host Felienne spoke withGee and Henney about all things...




av

Episode 487: Davide Bedin on Dapr Distributed Application Runtime

Davide Bedine, a cloud solution architect at Microsoft and professional Dapr enthusiast joined host Jeff Doolittle to discuss his book, Practical Microservices with Dapr and .NET. Dapr, the Distributed Application Runtime, simplifies cloud-native...




av

Episode 494: Robert Seacord on Avoiding Defects in C Programming

Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.




av

Episode 494: Robert Seacord on Avoiding Defects in C Programming

Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.




av

Episode 528: Jonathan Shariat on Designing to Avoid Worst Case Outcomes

Jonathan Shariat, coauthor of the book Tragic Design, discusses harmful software design. SE Radio host Jeremy Jung speaks with Shariat about how poor design can kill in the medical industry, accidentally causing harm with features meant to bring joy...




av

SE Radio 554: Adam Tornhill on Behavioral Code Analysis

Adam Tornhill, founder and CTO of CodeScene, joins host Giovanni Asproni to speak about behavioral code analysis. Behavioral code analysis is a set of practical techniques aimed at identifying patterns in how a development organization interacts with the codebase they're building. It can be used to prioritize technical debt to maximize return on investment; to identify communication and team-coordination bottlenecks in code; to drive refactorings guided by data from how the system evolves; and to detect code quality problems before they become maintenance issues. The episode starts with a broad description of the techniques, providing some examples from real projects, and ends with suggestions on how to get started with applying them. During the conversation, Adam and Giovanni touch on a set of related topics, including the applicability of the techniques to legacy, green-, and brown-field projects; ethical and privacy implications; and the importance of context when judging code quality.




av

SE Radio 563: David Cramer on Error Tracking

In this episode, David Cramer, co-founder and CTO of Sentry, joins host Jeremy Jung for a conversation about error tracking. The discussion starts with treating performance problems as errors, why you might not need logs, and how most applications share the same problems. From there they consider other topics including capturing information by hooking into runtimes and frameworks, issues with the quality of Open Telemetry data, how front-end applications are constantly changing and why that makes them hard to instrument. Finally, they discuss how Sentry's architecture has evolved, and why they switched from a permissive license to the Business Source License.




av

SE Radio 567: Dave Cross on GitHub Actions

Dave Cross, owner of Magnum Solutions and author of GitHub Actions Essentials (Clapham Technical Press), speaks with SE Radio host Gavin Henry about GitHub actions, the value they provide, and the best practices for using them in your projects. Cross describes the vast range of things that developers can do with GitHub Actions, including some use cases you might never have thought about. They start with some general discussion of CI/CD and then consider the three main types of events that drive GitHub actions before digging in to details about fine-grained action events, Action Marketplace, contexts, yaml, docker base images, self-hosted runners, and more. They further explore identity management, permissions, dependency management, saving money, and how to keep your secrets secret.




av

SE Radio 569: Vladyslav Ukis on Rolling out SRE in an Enterprise

Vladyslav Ukis, author of the book Establishing SRE Foundations: A Step-by-Step Guide to Introducing Site Reliability Engineering in Software Delivery Organizations, discusses how to roll out SRE in an enterprise. SE Radio host Brijesh Ammanath speaks with Vlad about the origins of SRE and how it complements ITIL (Information Technology Infrastructure Library). They examine how firms can establish foundations for rolling out SRE, as well as how to overcome challenges they might face in adopting. Vlad also recommends steps that organizations can take to sustain and advance their SRE transformation beyond the foundations.




av

Raspberry Pi Enthusiast Creates Coronavirus Live Global Tracker Display

There are so many things that can be done with a little spare time and a Raspberry Pi that it boggles the mind; the little developer board can be made to do just about anything builders can dream up. One of the most recent projects we've seen using the Pi turned up on Reddit from a person called jul-bruegger who combined the Raspberry Pi Zero... [PCSTATS]




av

RIOTORO Aviator Classic Gaming Headset Review

Riotoro just released their very first 7.1 virtual surround sound gaming headset called the Aviator Classic and today it�s up to us to put it to the test. ... [PCSTATS]




av

How to Read an RSS Feed with Java Using XOM

There are a lot of libraries for processing XML data with Java that can be used to read RSS feeds. One of the best is the open source library XOM created by the computer book author Elliotte Rusty Harold.

As he wrote one of his 20 books about Java and XML, Harold got so frustrated with the available Java libraries for XML that he created his own. XOM, which stands for XML Object Model, was designed to be easy to learn while still being strict about XML, requiring documents that are well-formed and utilize namespaces in complete adherence to the specification. (At the RSS Advisory Board, talk of following a spec is our love language.)

XOM was introduced in 2002 and is currently up to version 1.3.9, though all versions have remained compatible since 1.0. To use XOM, download the class library in one of the packages available on the XOM homepage. You can avoid needing any further configuration by choosing one of the options that includes third-party JAR files in the download. This allows XOM to use an included SAX parser under the hood to process XML.

Here's Java code that loads items from The Guardian's RSS 2.0 feed containing articles by Ben Hammersley, displaying them as HTML output:

// create an XML builder and load the feed using a URL
Builder bob = new Builder();
Document doc = bob.build("https://www.theguardian.com/profile/benhammersley/rss");
// load the root element and channel
Element rss = doc.getRootElement();
Element channel = rss.getFirstChildElement("channel");
// load all items in the channel
Elements items = channel.getChildElements("item");
for (Element item : items) {
  // load elements of the item
  String title = item.getFirstChildElement("title").getValue();
  String author = item.getFirstChildElement("creator",
    "http://purl.org/dc/elements/1.1/").getValue();
  String description = item.getFirstChildElement("description").getValue();
  // display the output
  System.out.println(">h2>" + title + ">/h2>");
  System.out.println(">p>>b>By " + author + ">/b>>/p>");
  System.out.println(">p>" + description + ">/p>");

All of the classes used in this code are in the top-level package nu.xom, which has comprehensive JavaDoc describing their use. Like all Java code this is a little long-winded, but Harold's class names do a good job of explaining what they do. A Builder uses its build() method with a URL as the argument to load a feed into a Document over the web. There are also other build methods to load a feed from a file, reader, input stream, or string.

Elements can be retrieved by their names such as "title", "link" or "description". An element with only one child of a specific type can be retrieved using the getFirstChildElement() method with the name as the argument:

Element linkElement = item.getFirstChildElement("link");

An element containing multiple children of the same type uses getChildElements() instead:

Elements enclosures = item.getChildElements("enclosure");
if (enclosures.size() > 1) {
  System.out.println("I'm pretty sure an item should only include one enclosure");
}

If an element is in a namespace, there must be a second argument providing the namespace URI. Like many RSS feeds, the ones from The Guardian use a dc:creator element from Dublin Core to credit the item's author. That namespace has the URI "http://purl.org/dc/elements/1.1/".

If the element specified in getFirstChildElement() or getChild Elements() is not present, those methods return null. You may need to check for this when adapting the code to load other RSS feeds.

If the name Ben Hammersley sounds familiar, he coined the term "podcasting" in his February 2004 article for The Guardian about the new phenomenon of delivering audio files in RSS feeds.




av

Does a Forest Have Rights? In Ecuador, It Does.

Journalist Peter Yeung explains how Los Cedros has remained protected for years thanks to Ecuador’s constitution extending rights to nature.




av

Can Massive Election Turnout Save Democracy?

An extremely tight race for the presidency is sparking a last-minute, Black-led GOTV effort aimed at Black voters in swing states.








av

Null object in javascript - Stack Overflow

good answer to what null is about in javascript




av

The TikTok food trend that’s making Brits travel 4,000 miles

7 July marks World Chocolate Day, but it seems there's one viral chocolate that's on everyone's lips




av

How much do you know about Navratri?

See how much you know with our Navratri quiz




av

Meet the two boys trying to save Scottish oysters

Press packers Callum and Jamie are finding out what people in their local community are doing to help the mollusks




av

Quiz of the Week: Have you been following this week's news?

Test your knowledge of recent news with our Quiz of the Week.




av

Gary Lineker to leave Match of the Day: Take a look at his football career in pictures

After 25 years of presenting BBC Match of the Day, Gary Lineker will be stepping down as the host of the football show at the end of this season. Once a footballer, Gary Lineker has had a long career in the sport. Keep reading to find out more.




av

So bad. I don't have any students to tutor now.



  • Editing & Writing Topics

av

<Did you understand> <Have you understood> what I just said?



  • Ask a Teacher

av

Five actions to achieve excellent energy savings in old electrical installations

Not all existing electrical installations lack energy efficiency, but most of them do. Especially if they were built 15-20 years ago and older. Although it is generally acknowledged that substantial energy savings are possible in most existing installations, the process... Read more

The post Five actions to achieve excellent energy savings in old electrical installations appeared first on EEP - Electrical Engineering Portal.




av

Five power quality devices that every commercial plant must have installed

Nowadays everybody speaks about power quality. For many reasons, I would say. Electrical energy is now polluted more than ever, and consumers are more sensitive to power disruptions and fluctuations than a small flower to the stronger wind. But, it... Read more

The post Five power quality devices that every commercial plant must have installed appeared first on EEP - Electrical Engineering Portal.







av

What steps should be taken to avoid choosing the incorrect current and voltage transformers?

Electrical systems normally use current and voltage transformers for protection and measurement purposes. They represent the power system’s eyes and ears, and it’s essential to fully understand how they work, how to make the correct specification and most importantly, the... Read more

The post What steps should be taken to avoid choosing the incorrect current and voltage transformers? appeared first on EEP - Electrical Engineering Portal.




av

Potential Energy Savings In Utility Buildings Using EIB

Flexibility, utilisation value and energy saving are the three main requirements for utility buildings (administration, office and public buildings, schools, hospitals, etc.). Apart from recouping investment costs, so-called life-cycle costs are also becoming increasingly important. These are made up of... Read more

The post Potential Energy Savings In Utility Buildings Using EIB appeared first on EEP - Electrical Engineering Portal.




av

Your Cyber Monday in EEP! Save Big on Premium Membership and Video Courses

Hello, hope all is well with you! It’s our pleasure to share with you two Cyber Monday deals for our new electrical engineers, expiring on December 3rd: 20% on EEP Pro Premium Membership and 30% off on all courses and... Read more

The post Your Cyber Monday in EEP! Save Big on Premium Membership and Video Courses appeared first on EEP - Electrical Engineering Portal.



  • Energy and Power
  • News

av

Isolation power solutions for ultimate power availability, efficiency and safety in hospitals

Things are changing fast, really fast. Technology we used a few years ago is now obsolete, and if you take a look for a second – it’s always about power availability, efficiency, and safety. This technical article deals with Schneider... Read more

The post Isolation power solutions for ultimate power availability, efficiency and safety in hospitals appeared first on EEP - Electrical Engineering Portal.




av

8 tips to avoid ground loops when dealing with signal level circuits

General recommendation is to properly design and implement the facility’s grounding system to avoid unwanted involvement of ground loops with the operation of the equipment. This kind of approach can also eliminate the need to consider equipment modifications and to... Read more

The post 8 tips to avoid ground loops when dealing with signal level circuits appeared first on EEP - Electrical Engineering Portal.




av

Write to us with any questions you may have

Would you like to ask us questions about the services we have available? Please contact us. We appreciate your feedback as it helps us to continue to serve you to the best of our ability.




av

How to Train Your Dragon disc download now available

Teachers can now download Film Education's popular How to Train Your Dragon CD-ROM activities aimed at Primary Literacy.




av

Have Your Say

Have Your Say about what films we show for your school during this year's Film Week which will take place from 16-26 Oct in Eng, Wales and N. Ireland and 1 - 9 Nov in Scotland and selected UK cities




av

The Navigators

Followed by Q&A with director Ken Loach in association with the London Labour Film Festival




av

Navigators Archive

Clips and photos from a Q&A with Ken Loach and Alex Gordon for our FIlm Week screening of the Navigators




av

Failure cases of LV/MV electrical equipment and what should have been done (to avoid them)

Generally, the useful life of power system components heavily depends upon the level of care given to them and their duty cycles. For example, a circuit breaker on mainly switching duty can last 40 to max. 50 years. The majority... Read more

The post Failure cases of LV/MV electrical equipment and what should have been done (to avoid them) appeared first on EEP - Electrical Engineering Portal.




av

Coach's Corner: Hire Right, Avoid PR Disasters

Hiring the right people through good interviewing and vetting processes can help you choose the best possible people to represent your company moving forward, and avoid PR crises.




av

Spot On Solutions launches SOS Navigator

Spot On Solutions, a leading digital marketing agency with a niche focus on the restoration and home services industries announces the launch of their new on-demand training program – SOS Navigator.