me

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.




me

Homebuilder Partners with Device Makers to Create Connected Home Experience

Products are emerging that help simplify homeownership.




me

HVAC Technologies Offer Solutions For Improved Energy Use in Home

Contractors have numerous options for offering homeowners solutions in energy management systems.




me

Homeowners Look for Individual Comfort Amidst Pandemic

If zoning technology was available before the pandemic, why has it taken so long for it to become an option that homeowners now consider?




me

Future Proofing Your Building: Where HVAC and Sustainability Come Together

With cost reduction, sustainability enablement, increased comfort and performance benefits, VRF systems allow commercial buildings to gain a competitive advantage by reducing their carbon footprint and providing custom comfort to occupants.




me

Nmap 26th Birthday Announcement: Version 7.94

Posted by Gordon Fyodor Lyon on Sep 01

Dear Nmap community,

Today is Nmap’s 26th birthday, which reminded me that I hadn’t yet
announced our Nmap 7.94 release from May. And it’s a great one! The biggest
improvement was the Zenmap and Ndiff upgrades from the obsolete Python 2
language to Python 3 on all platforms. Big thanks to Daniel Miller, Jakub
Kulík, Brian Quigley, Sam James, Eli Schwartz, Romain Leonard, Varunram
Ganesh, Pavel Zhukov, Carey Balboa, and Hasan Aliyev for...




me

How Many Homeowners Know What a Heat Pump Does?

A recent survey shows homeowners are unfamiliar with what an HVAC heat pump can accomplish.




me

Are HVAC Contractors Getting the Message on Heat Pumps?

His jacket was emblazoned with the logo of a manufacturer of high-performing heat pumps, but when I mentioned that we were thinking of getting one, the tech shot down the idea.




me

Heat Pump Installations Gain Momentum

Heat pump sales may look like they are slowing down, but research shows they are picking up speed.




me

Heat Pumps: What’s in a Name?

Experts discuss some of the issues that arise when selling and installing heat pumps in climates where the primary need is for cooling and not heating.




me

The Time is Now for HVAC Contractors to Install and Repair All-Electric Heat Pumps

All-electric options have come a long way since their inception, and there’s never been a better time to get on board.




me

Smart Heat Pumps: A Look at the Future of Home Heating

One innovation leading the way in home comfort and efficiency is an air-to-water monobloc heat pump, which offers a blend of efficiency, sustainability, and cutting-edge technology.




me

Cashing In on Heat Pumps: A Primer on Incentives, Rebates, and Tax Credits

With “heat pump” and “incentives” almost being synonymous at this point, contractors need to understand the basics to ensure customers are receiving the benefits.




me

Facts + Figures: AHRI Shipment Data for July 2021

Industry figures are estimates that are derived from the best available figures supplied by a sample of AHRI member companies.




me

Facts + Figures: AHRI Shipment Data for November 2021

Industry figures are estimates that are derived from the best available figures supplied by a sample of AHRI member companies.




me

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.




me

BlocPower Announces $150M in Financing for Building Decarbonization in Low-Income Communities

BlocPower, a climate technology company focused on greening America's buildings, announced a fundraising round of $150 million, including more than $24 million of Series B corporate equity led by VoLo Earth Ventures and $130 million of debt financing led by Goldman Sachs.





me

Mandating High-Efficiency Furnaces Will Limit Consumer Choice, Critics in HVAC Industry Say

Residential gas furnaces must all have a minimum AFUE of 95% beginning in five years. Some in the HVAC industry say the new Department of Energy rule will ultimately hurt homeowners.




me

Hydronic Furnaces are Changing the Forced Air Heating Game

Using water to transfer heat energy into the home can minimize or even eliminate the issues of dry air and loud operation.




me

Improving Home Comfort and Energy Efficiency with the Navien NPF Series Hydro-furnace

A homeowner in Pickering, Ontario works with an experienced HVAC pro to improve comfort, efficiency, and energy savings with a high-efficiency hydronic forced-air furnace upgrade.




me

CISA and NSA Release Enduring Security Framework Guidance on Identity and Access Management

Posted by CISA on Mar 21

Cybersecurity and Infrastructure Security Agency (CISA) - Defend Today, Secure Tomorrow

You are subscribed to Cybersecurity Advisories for Cybersecurity and Infrastructure Security Agency. This information
has recently been updated, and is now available.

CISA and NSA Release Enduring Security Framework Guidance on Identity and Access Management [...




me

Old Infosec Talks: Metlstorm's Take on Hacky Hacking

Posted by Dave Aitel via Dailydave on Oct 31

The Anatomy of Compromise

One of my demented hobbies is watching old infosec talks and then seeing
how well they hold up to modern times. Recently I excavated Metlstorm's
2017 BSides Canberra
<https://www.youtube.com/watch?v=OjgvP9UB9GI&list=TLGGvAY1CcIr-AcyNjEwMjAyNA>
talk on "How people get hacked" - a pretty generic topic that gives a lot
of room for opinion, and one a lot of people have opined on, but the talk
itself...




me

Episode 5: Model-Driven Software Development Pt. 1

In this Episode, Eberhard and Markus provide an introduction to Model-Driven Software Development. Since the discussion turned out to be too long, we separated things into two episodes, thus Episode 6 will be the second part of this discussion. In this first part we disucsss core concepts of MDSD, the relationship to MDA, and hint at a couple of tools.




me

Episode 6: Model-Driven Software Development Pt. 2

After discussing some of the more technical aspects of MDSD in the last episode, we take a look at other important topics in this one. This includes some tips on how to introduce MDSD into projects and how the development process has to be adapted for this to work, as well as a look at the return on investment for MDSD. The relationship of MDSD and Agile software development is also discussed. Finally, we take a look at offshoring in the context of MDSD.




me

Episode 18: Resource Management

In this episode Michael and our guest Prashant Jain talk about patterns for resource management. Efficient management of resources is critical in the execution of any kind of software. Ranging from embedded software in a mobile device to software in a large enterprise server, it is important that the resources, such as memory, threads, file handles, or network connections, are managed efficiently to allow the systems to function properly and effectively. Michael and Prashant discuss various patterns, such as Lazy Acquisition, Caching, Leasing and Evictor and explain when, why, and how to apply them for effective resource management.




me

Episode 24: Development Processes Pt.1

In this episode Arno and Alex talk about the basics of software development processes. They discuss why and when software development processes are needed and also why some developers don't like them. They discuss the theories behind different processes and talk about defined vs empiric processes in general. This episode is the first in a row that will later on describe specific processes like eXtreme programming or the unified process.




me

Episode 31: Agile Documentation

In this episode, our guest Andreas Rueping and Markus talk about documenting software. While this is a topic that many people don't like or consider fun, it is nonetheless very important. Based on his book, Agile Documentation, we talk about various aspects documenting software such as what to document, when to document, which media to use as well as specifically a number of layouting tips for nice documents.




me

Episode 37: eXtreme Programming Pt.1

This is the first of two episodes where Arno and Alex discuss eXtreme Programming in se-radio's development process track. eXtreme Programming (XP) revolutionized the way of thinking about software development methodologies and helped to make the agile movement popular. In this episode they discuss the very basics of XP, its value system, principles and the basic practices used in an XP project. The second episode will continue the introduction adding the missing practices and how to introduce XP into projects.




me

Episode 38: Interview James Noble

Designers, programmers, engineers, we must all return to programming! Very few programmers tend to see their (sometimes rather general) difficulties as the core of the subject and as a result there is a widely held consensus as to what programming is really about. If these notes prove to be a source of recognition or to give you the appreciation that we have simply written down what you already know about the programmer's trade, some of our goals will have been reached.




me

Episode 43: eXtreme Programming Pt.2

This is the second part of our two part discussion of the eXtreme Programming development methodology. While the first part introduced the values, principles and basic practices, this time Arno and Alex speak about the practices that set the context for an XP project and how to get started, and they discuss some FAQs they often get when introducing XP.




me

Episode 44: Interview Brian Goetz and David Holmes

This is another episode on concurrency. We talk to two experts in the field, Brian Goetz and David Holmes about aspects of concurrency we hadn't really covered before. We start out by discussing liveness and safety and then continue to talk about synchronizers (latches, barriers, semaphores) as well as the importance of agreeing on protocols when developing concurrent applications. We then talked about thread confinement as a way of building thread-safe programs, as well as using functional programming and immutable data. The next set of topics covers various ways of how compilers can optimize the performance wrt. to concurrency, talking about techniques such as escape analysis as well as lock elision and coarsening. We then covered how to test concurrent programs and the consequences of the Java memory model on concurrency. We then went on to look at some more advanced topics, namely, lock-free programming and atomic variables. We also briefly discussed the idea of transactional memory. Finally, we looked at how better language support - specifically, a more declarative style of concurrent programming as e.g. in the Fortress language - can aid in improving the quality of concurrent programs.




me

Episode 50: Announcements and Requests

This is another episode where we mainly announce topics related to the podcast itself.




me

Episode 52: DSL Development in Ruby

In this episode, we're talking to Obie Fernandez about agile DSL development in Ruby. We started our discussion by defining what a DSL is, the difference between internal and external DSLs as well as the importance of the flexibly syntax of the host language in order to make DSLs worthwhile. We then looked at a couple of real world examples for DSLs, specifically, at Business Natural Languages. We then progressed to the main part of the discussions, which centered around the features of Ruby that are important for building DSLs. These include the flexible handling of parentheses, symbols, blocks as well as literal arrays and hashes. We then discussed Ruby's meta programming feautures and how they are important for building DSLs: instantiation, method_missing callback, class macros, top level functions and sandboxing. Features like eval, class_eval, instance_eval and define_method are also important for DSLs in Ruby, as well as using alias_method for simple AOP.




me

Episode 57: Compile-Time Metaprogramming

This episode is about compile-time metaprogramming, and specifically, about implementing DSLs via compile-time metaprogramming. Our guest, Laurence Tratt, illustrates the idea with his (research) programming language called Converge.

We started by talking about the importance of a custom syntax for DSL and took a brief look at the definition of DSLs by a chap called Paul Hudak. We then briefly covered the disctinction between internal and external DSLs.

More to the point of this episode, we discussed the concept of compile-time metaprogramming, and the language features necessary to achieve it: in converge, these concepts are called splice, quasi-quote and insertion. We then looked at how the Converge compiler works, and at the additional features that are required to implement DSLs based on the metaprogramming features mentioned above. Using an example, we then walked through how to implement a simple DSL.

Looking at some of the more technical details, we discussed the difference between the parse tree and the abstract syntax tree and at different kinds of parsers - specifically, the Earley parser used by Converge. In multi-stage languages (i.e. languages that execute programs and meta programs) error reporting is important, but non trivial. We discussed how this is done in Converge. We finally looked at how to integrate Converge's expression language into your DSL and how to package DSL definition for later use.

The last segment look at the process of implementing a DSL in converge and about some of the history and practical experience with Converge. Lessons learned from building Converge wrap up the episode.




me

Episode 68: Dan Grossman on Garbage Collection and Transactional Memory

This episode features a discussion with Dan Grossman about an essay paper he wrote for this year's OOPSLA conference. The paper is about an analogy between garbage collection and transactional memory. In addition to seeing the beauty of the analogy, the discussion also serves as a good introduction to transactional memory (which was mentioned in the Goetz/Holmes episode) and - to some extent - to garbage collection.




me

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.




me

Episode 72: Erik Meijer on LINQ

This episode is a discussion with Erik Meijer on LINQ. This is a relatively technical discussion about the following topics: what is LINQ, what are the common abstractions between the different data structures one can access with LINQ, what is the relationship to established languages for querying, how does the integration into the type system of the host language work, how to specify the mapping between the language level classes and the data, and how optimizations are implemented (lazy loading, prefetching, etc.).




me

Episode 73: Real Time Systems with Bruce Powel Douglass

This episode is a conversation with Bruce Powel Douglass on real time systems. We started by discussing what real time software is, and explored the difference between hard and soft real time. We then looked at different scheduling strategies, and the meaning of terms like urgency and importance in the context of scheduling. Next was a discussion of typical architectural styles for real time systems and how architectures are described in this context. This led us to a discussion about the importance of modeling, formalisms and languages as well as the role of automatic code generation from those models. We then looked at how to model QoS aspects and the role of SysML for modeling real time systems. We then had a brief look at which programming languages are used these days for real time systems and the role of static analysis to determine various properties of those programs in advance. The last part of the discussion focused on some best practices for building real time systems, the challenges in distributed real time systems and how real time systems can be tested effectively.




me

Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

In this Episode we discuss fault tolerance based on the new book by Bob Hanmer. This is the actually the first part of the discussion, the remainder will be published in the next episode of SE Radio. We start by discussing some of the context for fault tolerant systems and the imperfect world assumption. We then discuss a number of terms we will need when discussing the fault tolerance patterns. We then discuss the fault tolerance mindset and connect fault tolerance to a number of related subject areas, such as software quality. We then discuss the shared context for the patterns that follow, among them the important observation that fault tolerance does not come for free! Finally we provide an overview over the different sections covered in the book and start the detailed discussion of the patterns by looking at the Architectural Patterns section. The next episode will discuss the remaining patterns in the book.




me

Episode 78: Fault Tolerance with Bob Hanmer Pt. 2

This is the second part of the discussion on fault tolerance with Bob Hanmer (if you didn't listen to Episode 77, which contains part one, please go back and listen now; this episode builds on that previous one!) We start by discussing a set of error detection patterns. Among are the well-known approaches such as checksums and voting. We then look at error recovery patterns, including restart, rollback or roll forward. The next section looks at error mitigation patterns, which include shedding load and doing fresh work before stale. The last patterns section then looks at fault treatment patterns. We conclude the episode with a small discussion about how to design systems using (these and other) patterns, and with some thoughts on why actually wrote the book.




me

Episode 79: Small Memory Software with Weir and Noble

In this Episode we're discussing patterns for small memory software with the authors of the like-named book Charles Weir and James Noble. We look at various aspects of the small memory problem: How can you manage memory use across a whole system? What can you do when you have run out of primary storage? How can you fit a quart of data into a pint pot of memory? How can you reduce the memory needed for your data? How do you allocate memory to store your data structures? Answers to all those questions are provided in this Episode, and of course in their book.




me

Episode 83: Jeff DeLuca on Feature Driven Development

In this episode we talk with Jeff DeLuca about Feature Driven Development (FDD). As one member of the agile methods family FDD is not so famous as Scrum or Extreme Programming but is becoming more and more popular, especially for situations where you have fixed price contracts. As the inventor of FDD Jeff gives short introduction to the method itself, talks about the basic ideas behind FDD and discusses with us how FDD relates to other members of the agile family.




me

Episode 85: Web Services with Olaf Zimmermann

In this Episode we're talking about Web Services with IBM's Olaf Zimmermann. We mainly focus on the WS-* stack. We also discuss a couple of SOA foundations and architectural decisions that need to be taken when building an SOA using Web Serivces. We also briefly mention the REST vs. WS-* debate.




me

Episode 92: Introduction to Game Development

In this Episode, Arno talks with Oliver Jucknath about the art of writing computer games. A lot of myth is attached to this area of computing, and while a game technically is just another program, it is written in a different context than typical business applications. This is true at the code level, where aggressive optimization is a focus throughout development. It also applies at the team level, where collaboration between specialists is pronounced. And the business context is different as well, which in turn influences the development effort as a whole.




me

Episode 114: Christof Ebert on Requirements Engineering

In this episode we talk to Christof Ebert about requirements engineering. As the name "engineering" suggests, we need to be systematic when working and managing requirements. Christof will structure RE into several activities, namely elicitation (identifying the relevant requirements), specification (clearly describing requirements), analysis (synthesizing a solution), verification and validation (achieving good requirements quality), comittment (allocating requirements to a project, product release or iteration), and management (keeping track of the implementation status of requirements). In this episode we discuss these activities and highlight lots of practical guidance.




me

Episode 135: Introduction to Software Configuration Management with Petri Ahonen

In this episode Michael interviews one of our regular listeners: Petri Ahonen. Petri introduces Software Configuration Management by defining key terms and describing relevant concepts.




me

Episode 137: SQL with Jim Melton

In this episode, Arno talks to Jim Melton about the SQL programming language. In addition to covering the concepts and ideas behind SQL, Jim shares stories and insights based on his many years' experience as SQL specification lead.




me

Episode 138: Learning as a Part of Development with Allan Kelly

In this episode, Allan shares his insights about how learning is a necessary part of software development. He covers the personal as well as the team and the organizational level and offers practical advice.




me

Episode 147: Software Development Manager

Michael and Markus discuss what makes a good R&D manager and how to potentially become an R&D manager. You will learn what some of the essential skills are, what the challenges are, and what the 'mission/vision/strategy thing' is actually good for.




me

Episode 159: C++0X with Scott Meyers

This episode is a conversation with Scott Meyers about the upcoming C++0x standard. We talk a bit about the reasons for creating this new standard and then cover the most important new features, including upport for concurrency, implicitly-typed variables, move semantics, variadic templates, lambda functions, and uniform initialization syntax. We also looked at some new features in the standard library.