rd

Smart HVAC Products Work Smarter, Not Harder

At the AHR Expo, manufacturers talked about what’s fueling their design of smart products and ensuring they are simpler, more integrated, and save energy and time.




rd

HVAC’s Smart Home Products Move Toward Mainstream Market

For residential HVAC contractors, smart homes are a fast-growing market that offers opportunity for profit.




rd

Department of Energy May Bump Up Furnace Standards

Two major HVAC industry organizations have weighed in on a DOE proposal that would phase out noncondensing gas furnaces for consumer use beginning in about six years.




rd

Regarding NMAP Retrigger for snmp-sysdescr

Posted by Ramu Burra via dev on Oct 31

Hi Daniel & NMAP team,

I hope this email finds you well.

I'm writing to inquire about the specific behaviour of Nmap's SNMP-SYSDescr query in situations where the target device
responds intermittently.

I'm particularly interested in knowing if there are any specific configuration options or techniques that can be
employed to increase the likelihood of successful SNMP-SYSDescr queries, especially when dealing with...




rd

Re: Regarding NMAP Retrigger for snmp-sysdescr

Posted by Daniel Miller on Oct 31

Ramu,

Nmap's snmp-sysdescr script currently uses a 5-second timeout and attempts
only once to send the SNMPv1 request. We agree that this could be improved
to provide better reliability. I will investigate further and respond again
with specific suggestions.

Dan




rd

Episode 14: Interview Ted Neward

In this Episode we talk to Ted Neward. Since Ted is active in the .NET and Java universes, we started out by discussing some of the differences between the two platforms. The main discussion, however, focussed on new features in the C# 3.0 language. These include LINQ (language-integrated query). A very interesting discussion about extension methods, lamda expression, typing (dynamic, duck, compiler) and other language "tricks" follows. We also visited the topic of language development on the .NET and Java platforms in general, also looking at topics such as concurrency and the Scala language.




rd

Episode 70: Gerard Meszaros on XUnit Test Patterns

In this episode we talk with Gerard Meszaros about problems and challenges doing unit testing in real-world projects. Starting from a short discussion about the importance of automated unit testing we spend most of this episode to talk about every day problems doing unit testing and how those problems can be solved. Based on this book on xunit testing patterns, Gerard talks about his experiences with unit test smells as an analogy to code smells. He describes an impressive set of unit testing patterns to overcome those difficult testing situations and illustrates them with nice examples everybody doing unit testing will feel familiar with.




rd

Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and interactivity, their use of Domain Driven Design, some of the technical building blocks as well as the approaches they use for performance measuring and scalability tuning.




rd

Episode 123: Microsoft OSLO with Don Box and Doug Purdy

In this episode we discuss Microsoft's OSLO platform with Doug Purdy and Don Box. We briefly discuss what OSLO is in general and then look at the various components of OSLO. We also look at how OSLO fits in with the general Microsoft strategy and how it compares to other DSL/Model-driven approaches. We then look at language modularization and composition and discuss the similarities with XML and Smalltalk. Finally, we discuss possible integrations of OSLO with other MD* approaches and technologies.




rd

Episode 134: Release It with Michael Nygard

This episode is a discussion with Michael Nygard about his book "Release It" which covers aspects of software architecture you often don't think of initially when starting to build a system. Some of the points we discussed were capacity planning, recovery as well as making the system suitable for operation in a data center.




rd

Episode 142: Sustainable Architecture with Kevlin Henney and Klaus Marquardt

This is another episode recorded at OOP 2009, thanks to SIGS Datacom and programme chair Frances Paulisch for making this possible. Here is the abstract from the conference program: Many software systems have fragile architectures that are based on brittle assumptions or rigid architectures that reduce options and make change difficult. On the one hand, an architecture needs to be fit for the present day, suitable for immediate use, and on the other it needs to accommodate the future, absorbing reasonable uncertainty. However, an approach that is overly focused on today's needs and nothing more can create an inflexible architecture. An approach that becomes obsessed with possible future changes creates an overly complex architecture that is unfit for both today's and tomorrow's needs. Both approaches encourage an early descent into legacy for a system. The considerations presented in this talk reflect an approach that is more about thinking in the continuous present tense than just the present or the future tense. This includes principles from lean thinking, practices common in agile processes and techniques for loosely coupled design.




rd

Episode 145: Spring in 2009 with Eberhard Wolff

In this episode we discuss the current state of the spring framework. We talk about core features (dependency injection, AOP) but also about the spring universe, i.e. some of the more specific frameworks such as Spring Batch.




rd

Episode 151: Intentional Software with Shane Clifford

This episode is a discussion with Shane Clifford, who is a development manager at Intentional Software. We discuss the idea behind intentional programming, key concepts of the technology as well as example uses and a little bit of history.




rd

Episode 175: Game Development with Andrew Brownsword

We discuss characteristics and performance properties of modern games and outline the challenges for software development.




rd

Episode 220: Jon Gifford on Logging and Logging Infrastructure

Robert Blumen talks to Jon Gifford of Loggly about logging and logging infrastructure. Topics include logging defined, purposes of logging, uses of logging in understanding the run-time behavior of programs, who produces logs, who consumes logs and for what reasons, software as the consumer of logs, log formats (structured versus free form), log meta-data, logging […]




rd

Episode 224: Sven Johann and Eberhard Wolff on Technical Debt




rd

Episode 229: Flavio Junqueira on Distributed Coordination with Apache ZooKeeper

 




rd

SE-Radio Episode 252: Christopher Meiklejohn on CRDTs

Robert Blumen talks to Christopher Meiklejohn about conflict-free replicated data types. The discussion covers consistency in distributed systems, CRDTs, and their use in NoSQL databases.




rd

SE-Radio Episode 257: Michael Nygard on Clojure in Practice

Michael Nygard of “Release It!” fame talks with Stefan Tilkov about his experience using the Clojure programming language. Topics include the tool chain and development process, the Clojure learning curve, and on-boarding new developers. Michael explains the similarities and differences compared to typical OO languages when implementing domain logic, and uses both game development and typical web development projects as examples. Finally, the two discuss how well Clojure can be used in the face of long-running projects, and some typical obstacles and strategies for introducing it to real-world scenarios.




rd

SE-Radio-Episode-287:-Success-Skills-for-Architects-with-Neil-Ford

Neal Ford chats with Kim Carter about the required skills of a Software Architect, creating and maintain them, transition roles. The importance of history, developing soft skills, and dealing with losing technical skills.




rd

SE-Radio Episode 298: Moshe Vardi on P versus NP

Felienne talks with Moshe Vardi about P versus NP. Why is this problem so central to computer science? Are we close to solving it?  Is it necessary to solve it? Progress toward computing hard problems efficiently with SAT solvers.  How SAT solvers work,; applications of SAT like formal verification.




rd

SE-Radio Episode 310: Kirk Pepperdine on Performance Optimization

Kirk Pepperdine talks with Diomidis Spinellis about performance optimization. Topics include development practices, tools, as well as the role of software architecture, programming languages, algorithms, and hardware advances.




rd

SE-Radio Episode 319: Nicole Hubbard on Migrating from VMs to Kubernetes

Edaena Salinas talks with Nicole Hubbard at KubeCon 2017. They discuss why WP engine is migrating from VMs to Kubernetes and how the migration is structured. Nicole explained the VM infrastructure at WP Engine and why there was a need to move...




rd

SE-Radio Episode 327: Glynn Bird on Developer Productivity with Open Source

Nate Black interviews Glynn Bird on using open source to develop your career or get a job, and how maximize productivity and learning. We discuss how to get your pull request accepted, how to make your own project successful, and how to survive updates.




rd

SE-Radio Episode 348 Riccardo Terrell on Concurrency

Felienne interviews Riccardo Terrell on his book ‘Concurrency in .NET: Modern patterns of concurrent and parallel programming’ on concurrency, parallelism and immutability and common issues that developers run into when solving concurrent problems.




rd

Episode 370: Chris Richardson on Microservice Patterns

Chris Richardson of microservices.io and author of the book Microservice Patterns discuss microservice patterns which constitute a set of best practices and building-block solutions to problems inherent microservice architecture.




rd

Episode 371: Howard Chu on the Lightning Memory Mapped Database (LMDB)

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP Project, discusses the key technical features of the Lightning Memory-mapped Database (LMDB) that make it one of the fastest, most efficient and safest embedded data stores in the world.




rd

Episode 377: Heidi Howard on Distributed Consensus

Heidi Howard, a researcher in the field of distributed systems, discusses distributed consensus. Heidi explains when we need it, when we don't need and the algorithms we use to achieve it.




rd

Episode 388: Bob Kepford on Decoupled Content Management Systems

Bob Kepford discusses Decoupled CMS. Many CMS practitioners are adopting a decoupled approach to improve scale, allow for more specialized roles, and to separate data collection from delivery. Host Jeff Doolittle spoke with Kepford about what makes a Decoupled CMS different.




rd

Episode 391: Jeremy Howard on Deep Learning and fast.ai

Jeremy Howard from fast.ai explains deep learning from concept to implementation. Thanks to transfer learning, individuals and small organizations can get state-of-the-art results on machine learning problems using the open source fastai library...




rd

Episode 394: Chris McCord on Phoenix LiveView

Chris McCord, author of the Phoenix Framework and Programming Phoenix 1.4, discusses Phoenix's LiveView functionality to showcase the power or real-time applications without the need for writing a single line of JavaScript.




rd

Episode 429: Rob Skillington on High Cardinality Alerting and Monitoring

Rob Skillington discusses the architecture, data management, and operational issues around monitoring and alerting systems with a large number of metrics and resources.




rd

Episode 440: Alexis Richardson on gitops

Alexis Richardson discusses gitops - a deployment model based on convergent infrastructure as code with host Robert Blumen.




rd

Episode 466: Casey Aylward on Venture Capital for Software Investing

Casey Aylward, Principal at Costanoa Ventures discusses Venture capital with a focus on early stage investing from the perspective of the entrepreneur and the VC with host Kanchan Shringi.




rd

Episode 485: Howard Chu on B+tree Data Structure in Depth

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP project, discusses the key features of B+Tree Data Structures which make it the default selection for efficient and predictable storage of sorted data.




rd

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.




rd

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.




rd

Episode 497: Richard L. Sites on Understanding Software Dynamics

Richard L. Sites discusses his new book Understanding Software Dynamics, which offers expert methods and advanced tools for understanding complex, time-constrained software dynamics in order to improve reliability and performance. Philip Winston spoke with Sites about the five fundamental computing resources CPU, Memory, Disk, Network, and Locks, as well as methods for observing and reasoning when investigating performance problems using the open-source utility KUtrace.




rd

Episode 517: Jordan Adler on Code Generators

In this episode, SE Radio host Felienne speaks with Jordan Adler of OneSignal about code generation, a technique to generate code from specifications like UML or from other programming languages such as Typescript. They also discuss code transformation, which can be us




rd

Episode 527: Adrian Kennard and Kevin Hones on Writing a Network OS from Scratch

Adrian Kennard and Kevin Hones, Founders of FireBrick routers and firewalls, discuss how to design, build, test and support a hardware router and network operating system from scratch, while sharing the lessons learned. You'll also learn that in certain..




rd

Episode 541: Jordan Harband and Donald Fischer on Securing the Supply Chain

Open source developers Jordan Harband and Donald Fischer join host Robert Blumen for a conversation about securing the software supply chain, especially open source. They start by reviewing supply chain security concepts, particularly as related to open..




rd

SE Radio 587: M. Scott Ford on Managing Dependency Freshness

M. Scott Ford, the CTO of Corgibytes and host of the Legacy Code Rocks podcast, discusses managing dependency freshness. SE Radio’s Sam Taggart speaks with him about why dependency freshness is important to ensure that your code has all the latest bug fixes, how exactly to measure dependency freshness, and some of the insights that teams can gain from monitoring freshness over time. Brought to you by IEEE Computer Society and IEEE Software Magazine.




rd

SE Radio 606: Charlie Jones on Third-Party Software Supply Chain Risks

Charlie Jones, Director of Product Management at ReversingLabs and subject matter expert in supply chain security, joins host Priyanka Raghavan to discuss tackling third-party software risks. They begin by defining different types of third-party software risks and then take a deep dive into case studies where third-party components and software have had cascading effects on downstream systems. They consider some frameworks for secure software development that can be used to evaluate third-party software and components – both as a publisher or as a consumer – and end by discussing laws and regulations with final advise from Charlie on how enterprises can tackle third-party software risks. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode is sponsored by WorkOS.




rd

Cherry MX Board 5.0

We expand our coverage of Cherry first-party keyboard offerings with a detailed look at the MX Board 5.0. With five switch options and a fairly unique ergonomic perspective via a wrist rest (yes, you read it right), the MX Board 5.0 is a 108-key unit that has white backlighting and onboard controls, too.... [PCSTATS]




rd

SteelSeries Apex 3 Water Resistant Gaming Keyboard Review

" Writing an entire article on the Apex 3 was a really easy task thanks to the higher actuation point and we did not make any mistakes like on the regular high-speed gaming-only keyboards. This is a good point to recommend when using the keyboard in corporate offices as well: the new SteelSeries domes are silent, while the full-size layout allows ... [PCSTATS]




rd

ASUS ROG Zenith II Extreme Alpha (TRX40) Motherboard Review

The rewards for offering a high-performance flagship motherboard on the TRX40 platform are clear. Vendors are all competing at price points well above �600 which culminates in motherboard options filled to the brim with the features that almost anybody could wish for. ASUS� ROG Zenith II Extreme was no exception to that point. However, ASUS has tak... [PCSTATS]




rd

ASRock X570 Phantom Gaming-ITX/TB3 Motherboard Review

"When it comes to mini-ITX AMD X570 motherboards there are only a handful to choose from. Today we are checking out ASRock�s offering which comes in the form of the X570 Phantom Gaming-ITX/TB3. We first saw the Phantom Gaming Series from ASRock with their Z390 Phantom Gaming X and we are hoping to see the same quality in the X570 Phantom Gaming-ITX... [PCSTATS]




rd

WordPress Uses RSS as Blog Export Format

If you export your WordPress blog, it is delivered to you as an RSS feed that holds all of the blog's entries, pages and comments. WordPress makes use of five namespaces and calls the format WordPress eXtended RSS (WXR). I'm working on a Java application that converts a WXR file into a set of static HTML pages.




rd

RSS Enclosure Support in WordPress

One of the biggest challenges for a software developer implementing the RSS 2.0 specification is the issue of enclosures in a feed item. The specification is infamously unclear on whether an item allows one enclosure or multiple enclosures.

The RSS Advisory Board worked on the RSS Best Practices Profile for nearly two years, investigating a lot of RSS readers and feed producers to see how they handled issues like this. We ultimately made the following recommendation for enclosure:

Support for the enclosure element in RSS software varies significantly because of disagreement over whether the specification permits more than one enclosure per item. Although the author intended to permit no more than one enclosure in each item, this limit is not explicit in the specification.

Blogware, Movable Type and WordPress enable publishers to include multiple enclosures in each item of their RSS documents. This works successfully in some aggregators, including BottomFeeder, FeederReader, NewsGator and Safari.

Other software does not support multiple enclosures, including Bloglines, FeedDemon, Google Reader and Microsoft Internet Explorer 7. The first enclosure is downloaded automatically, an aspect of enclosure support relied on in podcasting, and the additional enclosures are either ignored or must be requested manually.

For best support in the widest number of aggregators, an item SHOULD NOT contain more than one enclosure.

Because the profile was completed in 2007, it would be useful to see how current software handles RSS enclosures to evaluate whether any recommendations should be reconsidered. To start this effort the current WordPress was tested, since that massively successful platform publishes 60 million RSS feeds. WordPress enables audio files to be added to a blog post using the Audio icon in the block editor:

When three audio files were added to a blog post in WordPress, the item in the RSS feed contained three enclosure elements:

<enclosure url="http://example.com/Fanfare60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/CantinaBand60.wav" length="2646044" type="audio/wav" />
<enclosure url="http://example.com/ImperialMarch60.wav" length="2646044" type="audio/wav" />

Follow this blog for more updates on enclosure usage in feeds and feed readers.

As you probably guessed, we have an RSS feed.




rd

Has the RSS Advisory Board Followed the Roadmap?

There has been recent discussion about the roadmap that was added to the RSS 2.0 specification in August 2002 announcing that there would be no new additions to RSS, freezing its set of elements and attributes forever and ever amen. The roadmap stated, "We anticipate possible 2.0.2 or 2.0.3 versions, etc. only for the purpose of clarifying the specification, not for adding new features to the format."

The RSS Advisory Board was formed 20 years ago to publish the specification and "make minor changes to the spec per the roadmap," as stated in the launch announcement on July 18, 2003.

If you're wondering whether the board has followed the roadmap, this timeline of RSS elements answers that question. There are 44 elements in RSS. This table shows when each element was introduced, the group that added it, and the version in which it first appeared.

There were 33 elements added to RSS by Netscape in 1999 and 11 by UserLand from 2000 to 2002. No elements have been added by the RSS Advisory Board.

ElementDate AddedPublisherVersion
channel03/1999NetscapeRSS 0.90
channel-description03/1999NetscapeRSS 0.90
channel-link03/1999NetscapeRSS 0.90
channel-title03/1999NetscapeRSS 0.90
channel-image03/1999NetscapeRSS 0.90
channel-image-link03/1999NetscapeRSS 0.90
channel-image-title03/1999NetscapeRSS 0.90
channel-image-url03/1999NetscapeRSS 0.90
channel-textInput03/1999NetscapeRSS 0.90
channel-textInput-description03/1999NetscapeRSS 0.90
channel-textInput-link03/1999NetscapeRSS 0.90
channel-textInput-name03/1999NetscapeRSS 0.90
channel-textInput-title03/1999NetscapeRSS 0.90
channel-item03/1999NetscapeRSS 0.90
channel-item-link03/1999NetscapeRSS 0.90
channel-item-title03/1999NetscapeRSS 0.90
rss07/1999NetscapeRSS 0.91
channel-copyright07/1999NetscapeRSS 0.91
channel-docs07/1999NetscapeRSS 0.91
channel-image-description07/1999NetscapeRSS 0.91
channel-image-height07/1999NetscapeRSS 0.91
channel-image-width07/1999NetscapeRSS 0.91
channel-language07/1999NetscapeRSS 0.91
channel-lastBuildDate07/1999NetscapeRSS 0.91
channel-managingEditor07/1999NetscapeRSS 0.91
channel-pubDate07/1999NetscapeRSS 0.91
channel-rating07/1999NetscapeRSS 0.91
channel-skipDays07/1999NetscapeRSS 0.91
channel-skipDays-day07/1999NetscapeRSS 0.91
channel-skipHours07/1999NetscapeRSS 0.91
channel-skipHours-hour07/1999NetscapeRSS 0.91
channel-webMaster07/1999NetscapeRSS 0.91
channel-item-description07/1999NetscapeRSS 0.91
channel-cloud12/2000UserLandRSS 0.92
channel-item-category12/2000UserLandRSS 0.92
channel-item-enclosure12/2000UserLandRSS 0.92
channel-item-source12/2000UserLandRSS 0.92
channel-category08/2002UserLandRSS 2.0
channel-generator08/2002UserLandRSS 2.0
channel-ttl08/2002UserLandRSS 2.0
channel-item-author08/2002UserLandRSS 2.0
channel-item-comments08/2002UserLandRSS 2.0
channel-item-guid08/2002UserLandRSS 2.0
channel-item-pubdate08/2002UserLandRSS 2.0

A few judgment calls had to be made compiling this list. The image and textInput elements were originally placed under the top-level element of the feed, but that is counted as their introduction even though they later moved inside channel. The rss element wasn't in the first version of RSS created by Netscape. Instead the top-level element was rdf:RDF until it was changed by Netscape to rss four months later.