Home | Published Work | Books


Cybersecurity

2023/04: 🎧 To The Point podcast: With Software, Hope is a Strategy? With Jonathan Knudsen (Part 2)
2023/04: 🎧 To The Point podcast: With Software, Hope is a Strategy? With Jonathan Knudsen (Part 1)
2023/03: CyRC special report: Secure apps? Don’t bet on it
2023/03: CyRC Special Report: How companies fared in the aftermath of Log4Shell
2022/05: CyRC Case Study: Securing BIND 9
2022/04: 📺 CyRC Vulnerability Analysis: CVE-2022-1271 in gzip, but it’s not as bad as it sounds
2022/03: CyRC Vulnerability Analysis: Two distinct Spring vulnerabilities discovered – Spring4Shell and CVE-2022-22963
2022/03: How to cybersecurity: Software supply chain security is much bigger than you think
2022/02: How to cybersecurity: Gravity is a harsh mistress
2021/12: How to cyber security: Software supply chain risk management
2021/11: A stitch in BIND saves nine
2021/10: How to cybersecurity: Heartbleed deep dive
2021/09: How to cyber security: Butter knives and light sabers
2021/08: How to cyber security: Invisible application security
2021/07: How to cyber security: Addressing security fatigue
2021/06: How to cyber security: Embedding security into every phase of the SDLC
2021/06: CyRC Vulnerability Advisory: Denial of service vulnerabilities in RabbitMQ, EMQ X, and VerneMQ
2021/05: How to cyber security: Leverage AST solution data to make risk-based decisions
2021/04: How to cyber security: 5G is not magic
2021/03: How to cyber security: Minimize risk and testing time with Intelligent Orchestration
2021/02: How to cyber security: Containerizing fuzzing targets
2021/01: How to cyber security: Faceplanting in 10 lines of code
2020/12: How to cyber security: Software security is everyone's responsibility
2020/12: Fuzzing Bitcoin with the Defensics SDK, part 2: Fuzz the Bitcoin protocol
2020/12: Fuzzing Bitcoin with the Defensics SDK, part 1: Create your network
2020/11: How to cyber security: Gotta go fast...but why?
2020/11: New survey shows integrating application security testing gaining traction in DevOps
2020/10: How To Cyber Security: Put the Sec in DevOps with Intelligent Orchestration
2020/08: How to cyber security: Pain in the *AST
2020/07: How to Cyber Security: Fuzz a tank
2020/07: Find more bugs by detecting failure better: An introduction to SanitizerProcessMonitorAgent
2020/06: How to Cyber Security: Software testing is cool
2020/05: How to Cyber Security: Fuzzing does not mean random
2020/04: How to Cyber Security: Application security is critical for data security
2020/03: Tips for working from home without losing your marbles or compromising security
2020/03: How to Cyber Security: Software is manufacturing
2020/02: How to Cyber Security: It's all about developers, except when it's not
2020/01: How to Cyber Security: A journey of a thousand miles
2019/12: How to Cyber Security: Software is critical infrastructure
2019/11: How to Cyber Security: Unicorns and donkeys
2018/08: Seeker: Attaching an Agent and Getting Results
2018/08: Seeker: Installation and Initial Setup
2018/05: Understanding Defensics Instrumentation
2018/04: I See Red. Am I an Elite Hacker?
2018/03: Of Course Fuzzing Fits in a DevSecOps World
2017/03: How to Debug Interoperability in Defensics
2016/04: Don't Let Bad Apples Ruin Your Pie
2016/03: 📺 ISSA Webinar: Security Software Supply Chain: Is What You See What You Get?
2016/03: Synopsys at MIT Media Lab Hackathon
2015/11: Wikipedia: Software Bill of Materials
2015/10: Because Software Matters (webcast)
2015/05: ISSA Journal: Software Supply Chain Management with BOMtotal
2015/01: What is Fuzzing? The Poet, the Courier, and the Oracle
2014/10: 📺 BSides Raleigh: How Better Testing Can Prevent the Next Heartbleed
2014/04: AAMI Horizons: Practical Considerations of Fuzzing
2014/04: 📺 Codenomicon Training Videos Volume 1
2014/04: 📺 Codenomicon Training Videos Volume 2
2013/11: Fuzz Testing Maturity Model
2013/07: ISSA Journal: Make Software Better with Fuzzing
2013/05: AAMI BI&T: Security and Safety for Medical Devices and Hospitals
2013/01: DeviceLine Radio Show: Jonathan Knudsen on Fuzzing Devices
2012/12: Fuzz Testing: Improving Medical Device Quality and Safety
2012/11: 📺 Codenomicon Technical Deep Dive: Bluetooth L2CAP
2012/04: Professional Tester: That warm, fuzzy feeling ...and how you can get it

Lego Robots

2004/11: Macworld: Killer Mac Robots
2001/02: JavaWorld: Imaginations run wild with Java Lego robots
2000/12: NZZ Folio: Papa spielen, Papa glücklich (German)
2000/08: O'Reilly Network: Mindstorms in Education
2000/05: O'Reilly Network: The Straight and Narrow
2000/03: LDraw.org: Drawing Lego Models
2000/03: O'Reilly Network: Tools to Save Your Mindstorms Models
2000/02: O'Reilly Network: Programming with NQC
2000/01: O'Reilly Network: Lego Mindstorms: an Introduction
2000/01: O'Reilly Network: Building instructions for The Unofficial Guide to Lego Mindstorms Robots
1999/10: O'Reilly Network: Fun and Learning at MindFest

GeekDad

2010/12: Wired: Where Are the Stories For Girls?
2010/11: Wired: High Tech Holiday Haiku
2010/11: Wired: Seeing Things in Person: More HD Than HD
2010/10: 📺 Wired: Remixing in the Key of Glee
2010/09: Wired: Please, Don't Over-Engineer My Toast
2010/09: Wired: Teaching Kids Computers, Part 2
2010/09: Wired: Sometimes the Remote Pushes Your Buttons, Too
2010/09: Wired: Teaching Kids Computers, Part 1
2010/08: Wired: Put. The Kraken. Back!

Java Technologies

2011/05: 📺 Using JLayer in Swing Applications
2011/05: Installing Linux on an ARM-based BeagleBoard
2011/05: Getting Started with the Oracle Java ME Embedded Client
2011/05: Running a Small Server with the Oracle Java ME Embedded Client
2011/03: Java Tutorial: How to Decorate Components with JLayer
2004/06: 2004 JavaOne Daily Prompt column
2004/06: What's New in the J2ME Wireless Toolkit 2.3 beta
2003/12: Wireless Developer: The J2ME Wireless Toolkit 2.1
2003/12: Learning Path: Getting Started with MIDP 2.0
2003/10: Introduction to Mobile Blogging
2003/09: MIDP Emulators
2003/08: Sun CAT 1.0 Design and Implementation
2003/08: Sun CAT 1.0
2003/08: Learning Path: MIDP Application Security
2003/07: Taking Pictures with MMAPI
2003/06: 2003 JavaOne Daily Prompt column
2003/06: MIDP Application Security 4: Encryption in MIDP
2003/05: Understanding JSR 185
2003/03: Creating 2D Action Games with the Game API
2003/02: Understanding MIDP 2.0's Security Architecture
2003/01: What's New in the J2ME Wireless Toolkit 2.0
2002/12: MIDP Application Security 3: Authentication in MIDP
2002/11: What's New in MIDP 2.0
2002/10: MIDP Application Security 2: Understanding SSL and TLS
2002/10: PeekAndPick 2.0 Design and Implementation
2002/10: PeekAndPick 2.0 (binary release)
2002/09: MIDP Application Security 1: Design Concepts and Cryptography
2002/08: Obfuscating MIDlet Suites with ProGuard
2002/07: Java Programming on the Sharp Zaurus
2002/07: Getting Started with JXTA for J2ME
2002/06: New Features in the J2ME Wireless Toolkit 1.0.4
2002/06: Mobile Media API Overview
2002/06: Understanding MIDlet Memory
2002/05: PeekAndPick 1.1 Design and Implementation
2002/05: PeekAndPick 1.1 (binary release)
2002/05: Obfuscating MIDP Applications with JAX
2002/03: 2002 JavaOne Daily Prompt column
2002/03: Parsing XML in J2ME
2002/03: Wireless Development Tutorial Part II
2002/02: Wireless Development Tutorial Part I
2002/01: Networking, User Experience, and Threads
2001/12: Session Handling in MIDP
2001/10: J2ME Device List
2001/10: Intro to Mobility
2010/03: Getting started with OCAP, Part 1: Running the OCAP RI
2010/03: Getting started with OCAP, Part 2: Writing applications for the OCAP RI
2010/04: Getting started with OCAP, Part 3: Building the OCAP RI
2001/11: XML Journal: XML Going Wireless
2001/02: O'Reilly: The Big Small Platform
2000/07: EXE: A Java Chat Client for PalmOS
2000/06: EXE: The Big Small Platform
2000/06: O'Reilly: Why Learn Java?
2000/06: O'Reilly: Java Jonathan's Top Ten Tips and Tricks
2000/06: O'Reilly: 2000 JavaOne show coverage
1997/08: Bite-Size Java, monthly from August 1997 to May 2000
2000/03: O'Reilly Conference on Java, daily coverage
1998/09: Javaworld: Image processing with Java 2D