pro

Hybrid Heat Pumps Offer Practical Compromise

Hybrid systems offer a pathway that balances environmental concerns with practical considerations, ensuring a more sustainable and feasible transition towards cleaner energy sources.




pro

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.




pro

[PATCH 0/1] Improved the legibility of Makefile

Posted by Ariel Otilibili on Sep 17

Hello committers,

The same patch is on this PR: https://github.com/nmap/nmap/pull/2938

Have a good weekend,
Ariel

Ariel Otilibili (1):
Improved the legibility of `Makefile`

Makefile.in | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)




pro

[PATCH 1/1] Improved the legibility of `Makefile`

Posted by Ariel Otilibili on Sep 17

* source files obtained by a wildcard
* headers and objects generated by differences.

```
$ grep -P '(SRCS|HDRS|OBJS) =' Makefile.in |
sed -e 's/^export.*= //g; s/$.*//g; s/OBJS = //' |
sed -ne '2p' |
tr ' ' ' ' |
sed -e 's/.h//' |
sort -d |
grep -vP '^$' > headers

$ grep -P '(SRCS|HDRS|OBJS) =' Makefile.in |
sed -e...




pro

NSConnection Probe

Posted by Harrison Neal on Oct 11

Good day,

It appears that nmap doesn't currently recognize TCP-bound NSConnection (
https://developer.apple.com/documentation/foundation/nsconnection ).

Example server code:

NSConnection *a = [NSConnection connectionWithReceivePort:[[NSSocketPort
alloc] init] sendPort:nil];
[a setRootObject:[[NSObject alloc] init]];
[a runInNewThread];
[NSThread sleepForTimeInterval:300.0f];

Example client code:

NSLog(@"%@ ", [[NSConnection...




pro

Re: NSConnection Probe

Posted by Harrison Neal on Oct 11

Apologies, it looks like the probe suggestion was cut off now that I
re-read it.

Probe TCP NSConnection_rootProxy...




pro

Apple Releases Security Updates for Multiple Products

Posted by CISA on Mar 28

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.

Apple Releases Security Updates for Multiple Products [
https://www.cisa.gov/news-events/alerts/2023/03/28/apple-releases-security-updates-multiple-products ] 03/28/2023 01:00
PM EDT

Apple...




pro

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.




pro

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.




pro

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.




pro

Episode 53: Product Line Engineering Pt. 1

Michael Kircher and Markus Voelter introduce the topic of software product line engineering. They motivate when and why product lines are important to consider and what makes them so special. Further, they introduce some key terminology, such as platform, core asset, feature model, commonality, and variability.




pro

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.




pro

Episode 58: Product Line Engineering Pt. 2

Variability is one of the key concerns in software product line engineering. The episode introduces the concepts of structural and non-structural (or configurative) variability. It also discusses how to find and model variability, and especially how to implement variability in the solution artifacts. Michael and Markus discuss a series of variability mechanisms that can be used with today's programming languages and technologies.




pro

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company that provides tooling for variability management and product derivation. Besides some clarifications on terms like product line architecture and reference architecture, you also learn what kind of preconditions need to exist before product line engineering can be applied successfully.




pro

Episode 108: Simon Peyton Jones on Functional Programming and Haskell

We start our discussion with a brief look at what Haskell is and how a pure functional language is different from non-pure languages. We then look at the basic building blocks and the philosophy of the language, discussing concepts such as the lambda calculus, closures, currying, immutability, lazy evaluation, memoization, and the role of data types in functional languages. A significant part of the discussion is then spent on the management of side effects in a pure language - in other words, the importance of monads. We conclude the episode with a look at Haskell's importance and community today.




pro

Episode 153: Jan Bosch on Product Lines and Software Ecosystems

This episode is a conversation with Jan Bosch about product line engineering (PLE). Jan has worked in various roles and industries and academia in the context of product lines. In this episode we look at Jan's view of what is next for product lines: software ecosystems. What is their relationship to PLE and how should PLE change to remain relevant?




pro

Episode 161: Agile Product Management with Roman Pichler

In this episode, we discuss with Roman Pichler how Scrum impacts product management and how agile product management differs from traditional approaches. The topics covered include product owners on large projects and product owner teams, facilitating customer feedback through early and frequent releases, envisioning the product, and creating products with the minimum functionality. Enjoy!




pro

Episode 162: Project Voldemort with Jay Kreps

Jay Kreps talks about the open source data store Project Voldemort. Voldemort is a distributed key-value store used by LinkedIn and other high-traffic web sites to overcome the inherent scalability limitations of a relational database. The conversation delves into the workings of a Voldemort cluster, the type of consistency guarantees that can be made in a distributed database, and the tradeoff between client and the server.




pro

Episode 188: Requirements in Agile Projects

Recording Venue: Paddington, London Guests: Suzanne Robertson and James Robertson, Atlantic Systems Guild Neil Maiden, Editor of the Requirements column in IEEE Software, talks with Suzanne and James Robertson of the Atlantic Systems Guild about the emergence and impact of agile practices on requirements work. The interview begins with an exploration of how agile practices have […]




pro

Episode 207: Mitchell Hashimoto on the Vagrant Project

Charles Anderson talks to Mitchell Hashimoto about the Vagrant open source project, which can be used to create and configure lightweight, reproducible, and portable development environments. Vagrant aims to make new developers on a project productive within minutes of joining the project instead of spending hours or days setting up the developer’s workstation. The outline […]




pro

Episode 222: Nathan Marz on Real-Time Processing with Apache Storm

Nathan Marz is the creator of Apache Storm, a real-time streaming application. Storm does for stream processing what Hadoop does for batch processing. The project began when Nathan was working on aggregating Twitter data using a queue-and-worker system he had designed. Many companies use Storm, including Spotify, Yelp, WebMD, and many others. Jeff and Nathan […]




pro

Episode 223: Joram Barrez on the Activiti Business Process Management Platform

Josh Long talks to Activiti cofounder Joram Barrez about the wide world of (open source) workflow engines, the Activiti BPMN2 engine, and what workflow implies when you’re building process-driven applications and services. Joram was originally a contributor to the jBPM project with jBPM founder Tom Baeyens at Red Hat. He cofounded Activiti in 2010 at […]




pro

SE-Radio-Episode-249:-Vaughn-Vernon-on-Reactive-Programming-with-the-Actor-Model




pro

SE-Radio Epislode 250: Jürgen Laartz and Alexander Budzier on Why Large IT Projects Fail

Alex Budzier of the Oxford Saïd Business School and Jürgen Laartz of McKinsey Berlin join Robert Blumen to talk about the their research on large IT project failures. Why do large projects fail and to what extent are these failures avoidable?




pro

SE-Radio Episode 270: Brian Brazil on Prometheus Monitoring

Jeff Meyerson talks with Brian Brazil about monitoring with Prometheus, an open source tool for monitoring distributed applications. Brian is the founder of Robust Perception, a company offering Prometheus engineering and consulting. The high level goal of Prometheus is to allow developers to focus on services rather than individual instances of a given service. Prometheus is based off of the Borgmon monitoring tool, widely used at Google, where Brian previously worked. Jeff and Brian discuss the tradeoffs of choosing not to replicate our monitoring data. In some situations, the monitoring system will lose data because of this decision. Other topics that are discussed are distributed consensus tools, integrations with Prometheus, and the broader topic of monitoring itself.




pro

SE-Radio Episode 289: James Turnbull on Declarative Programming with Terraform

James Turnbull joins Robert Blumen for a discussion of Terraform, an infrastructure-as-code tool, and a deep dive into how Terraform implements the declarative programming model.




pro

SE-Radio Episode 306: Ron Lichty on Managing Programmers

Ron Lichty talks with SE Radio’s Nate Black about managing programmers. Topics include: why programming management is hard, what makes a good programming manager, the costs of micromanagement, self-organizing teams, team dynamics and motivation, and product team performance.




pro

SE-Radio Episode 307: Harsh Sinha on Product Management

Bryan Reinero talks with Harsh Sinha, VP of  Engineering at TransferWise, about Product Management. Mr. Sinha details how requirements are derived from user needs, how to measure product success, and how successful product management is done.




pro

SE-Radio Episode 317: Travis Kimmel on Measuring Software Engineering Productivity

Kishore Bhatia talks with Travis Kimmel about Engineering Impact: In the age of data-driven decision making, how does one go about measuring, communicating, and improving engineering productivity? We’ll learn from Travis’ experience building data analytics tools in this space, with insights and best practices for engineering teams and business stakeholders for measuring value and productivity.




pro

SE-Radio Episode 322: Bill Venners on Property Based Tests

Bill Venners speaks to Matthew Farwell about Property Based Tests, how they can be used, when they should not be used. We also cover how to define a property, how to generate the data required for a property based test.




pro

SE-Radio Episode 326 Dmitry Jeremov and Svetlana Isakova on the Kotlin Programming Language

Dmitry Jeremov and Svetlana Isakova speak to Matthew Farwell about the Kotlin programming language.




pro

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.




pro

SE-Radio Episode 332: John Doran on Fixing a Broken Development Process

Learn how a business that struggled with outages, performance problems, and an inability to ship overcame their problems by introducing monitoring, docker, continuous integration, and some fresh perspectives.




pro

SE-Radio Episode 340: Lara Hogan and Deepa Subramaniam on Revitalizing a Cross-Functional Product Organization

Travis Kimmel talks with Lara Hogan and Deepa Subramaniam about evidence-based tactics that product and engineering leaders can use to can use to diagnose problems that are holding back their teams, and build healthier, high-performing organizations.




pro

SE-Radio Episode 347: Daniel Corbett on Load Balancing and HAProxy

Guest Daniel Corbett discusses how to scale your application with the help of load balancing. Hear details on HAProxy and the load balancing ecosystem as a whole.




pro

SE-Radio Episode 358: Probabilistic Data Structure for Big Data Problems

Dr. Andrii Gakhov, author of the book Probabilistic Data Structures and Algorithms for Big Data Applications talks about probabilistic data structures and their application to the big data domain with host Robert Blumen.




pro

Episode 374: Marcus Blankenship on Motivating Programmers

Motivation comes through relationships, safety, and environments which allow everyone to contribute.




pro

Episode 379: Claire Le Goues on Automated Program Repair

Felienne interviews Claire Le Goues about automatic program repair. Can programs repair themselves and what techniques are involved in that?




pro

Episode 389: Ryan Singer on Basecamp's Software Development Process

Ryan Singer on Basecamp’s “Shape Up” software development process. Basecamp has ditched the backlog and 2-week sprint in favor of solution “shaping” and strategic 6-week projects, using tools like scope mapping, checklists, and hill charts to understand and reduce risk.




pro

SE-Radio Episode 390: Sam Procter on Security in Software Design

Sam Procter of the SEI discusses architecture design languages, specifically Architecture Analysis and Design Language, and how we can leverage the formal modeling process to improve the security of our application design and improve applications overall.




pro

Episode 418: Functional Programming in Enterprise Applications

Vladimir Khorikov discusses functional programming in enterprise applications with Jeremy Jung.




pro

Episode 425: Paul Smith on The Crystal Programming Language and the Lucky Web Framework

Paul Smith discusses the Crystal Programming Language and the Lucky web framework with Jeremy Jung.




pro

Episode 462: Felienne on the Programmers Brain

Felienne joins host Jeff Doolittle as a guest on the show to discuss her book, The Programmers Brain. While programmer’s brains are not special in comparison to the brains of others, they face unique cognitive challenges...




pro

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...




pro

Episode 471: Jason Meller on Choosing the Right Tech Stack for a Greenfield Project

CEO and security expert Jason Meller discusses modern tech stacks across a variety of programming languages to consider when building your next project or startup.




pro

Episode 483: Alexander Pugh on Robotic Process Automation

Alexander Pugh discusses why and when to use Robotic Process Automation (RPA). Host Jeremy Jung spoke with Pugh about interacting with systems without APIs like mainframes; the importance of having developers involved when building bots; the difficulty...




pro

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.




pro

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.




pro

Episode 501: Bob Ducharme on Creating Technical Documentation for Software Projects

Nikhil Krishna speaks to Bob DuCharme an experienced technical writer and author about how to write and maintain technical documentation for software products. In the episode different mediums to distribute documentation and tools to maintain documentation are discussed.




pro

Episode 526: Brian Campbell on Proof of Possession Defenses

Brian Campbell, Distinguished Engineer at Ping Identity discusses cryptographic defences against stolen tokens for the OAUTH2 protocol with host Priyanka Raghavan. The discussion explores various subtopics such as the history of Proof of possession...