Ada Gem Archive
The Ada Gem of the Week is enjoying it's well earned retirement. But we hope you'll enjoy looking through the archives.
- Introducing the AdaCore Blogby Jamie Ayre 1/9/2015
- Gem #161 : So long and thanks for all the memories!by Jamie Ayre 8/4/2014
- Gem #160 : Developing unit tests with GNATtestby Vasiliy Fofanov 6/23/2014
- Gem #159 : GPRinstall - Part 2by Pascal Obry 5/19/2014
- Gem #158: GPRinstall - Part 1by Pascal Obry 4/28/2014
- Gem #157: Gprbuild and Code Generation 3/3/2014
- Gem #156: Listing Control in GNATby Robert Dewar 2/4/2014
- Gem #155: Enhancing the GPRBuild Database for a New Languageby Vincent Celier 12/9/2013
- Gem #154: Multicore Maze Solving, Part 2by Pat Rogers 10/28/2013
- Gem #153: Multicore Maze Solving, Part 1by Pat Rogers 10/9/2013
- Gem #152 : Defining a New Language in a Project Fileby Vincent Celier 9/23/2013
- Gem #151 : Specifying Mathematical Properties of Programsby Yannick Moy 7/1/2013
- Gem #150: Out and Uninitializedby Robert Dewar 6/17/2013
- Gem #149 : Asserting the truth, but (possibly) not the whole truthby Yannick Moy 6/3/2013
- Gem #148 : Su(per)btypes in Ada 2012 - Part 3by Yannick Moy 5/20/2013
- Gem #147 : Su(per)btypes in Ada 2012 - Part 2by Yannick Moy 5/6/2013
- Gem #146 : Su(per)btypes in Ada 2012 - Part 1by Yannick Moy 4/22/2013
- Gem #145: Ada Quiz 3 - Statementsby Valentine Reboul 4/8/2013
- Gem #144: A Bit of Bytes: Characters and Encoding Schemes 3/25/2013
- Gem #143 : Return to the Sources 3/11/2013
- Gem #142 : Exception-ally 2/25/2013
- Gem #141 : Con-figure it out 2/11/2013
- Gem #140: Bridging the Endianness Gapby Thomas Quinot 1/28/2013
- Gem #139 : Master the Command Line - Part 2 1/14/2013
- Gem #138 : Master the Command Line - Part 1 12/10/2012
- Gem #137: Ada Quiz 2 - An Heir and a Spare?by Valentine Reboul 11/26/2012
- Gem #136: How tall is a kilogram?by Vincent Pucci 11/12/2012
- Gem #135 : Erroneous Execution - Part 4by Bob Duff 10/29/2012
- Gem #134 : Erroneous Execution - Part 3by Bob Duff 10/15/2012
- Gem #133 : Erroneous Execution - Part 2by Bob Duff 9/24/2012
- Gem #132 : Erroneous Execution - Part 1by Bob Duff 9/10/2012
- Gem #131 : Type-Safe Database API - Part 3 8/7/2012
- Gem #130 : Type-Safe Database API - Part 2 7/23/2012
- Gem #129 : Type-Safe Database API - Part 1 7/9/2012
- Gem #128 : Iterators in Ada 2012 - Part 2 6/25/2012
- Gem #127: Iterators in Ada 2012 - Part 1 6/11/2012
- Gem #126 : Aggregate Library Projectsby Pascal Obry 5/28/2012
- Gem #125: Detecting infinite recursion with GDB's Python APIby Jerome Guitton 5/14/2012
- Gem #124 : Scripting GPS for Static Analysisby Yannick MoyNicolas Setton 4/30/2012
- Gem #123: Implicit Dereferencing in Ada 2012by Christoph Grein 4/17/2012
- Gem #122: Breakpoint Commands — Part 2by Jerome Guitton 4/10/2012
- Gem #121 Breakpoint Commands — Part 1by Jerome Guitton 3/12/2012
- Gem #120 : GDB Scripting — Part 2by Jean-Charles Delay 3/12/2012
- Gem #119 : GDB Scripting— Part 1by Jean-Charles Delay 2/27/2012
- Gem #118: File-System Portability Issues and GNATCOLL.VFS 2/13/2012
- Gem #117: Design Pattern: Overridable Class Attributes in Ada 2012 2/1/2012
- Gem #116: Ada and C++ Exceptionsby Quentin Ochem 2/1/2012
- Gem #115: Lego Mindstorms Ada Environment — Part 2by Pat Rogers 2/1/2012
- Gem #114: Logging with GNATCOLL.Traces 2/1/2012
- Gem #113: Visitor Pattern in Ada 11/7/2011
- Gem #112: Lego Mindstorms Ada Environment — Part 1by Pat Rogers 10/17/2011
- Gem #111: The Distributed Systems Annex, Part 5 — Embedded Name Serverby Thomas Quinot 10/3/2011
- Gem #110: Ada Plug-ins and Shared Libraries — Part 2by Pascal Obry 9/21/2011
- Gem #109: Ada Plug-ins and Shared Libraries — Part 1by Pascal Obry 9/5/2011
- Gem #108: Gprbuild and Configuration Files — Part 2by Johannes Kanig 6/17/2011
- Gem #107: Preventing Deallocation for Reference-counted Typesby Ada Magica 6/6/2011
- Gem #106: Lady Ada Kisses Python — Part 2 5/23/2011
- Gem #105: Lady Ada Kisses Python — Part 1 5/9/2011
- Gem #104: Gprbuild and Configuration Files — Part 1by Johannes Kanig 4/26/2011
- Gem #103: Code Archetypes for Real-Time Programming — Part 5by Marco Panunzio 4/11/2011
- Gem #102: SOAP/WSDL client partby Pascal Obry 3/28/2011
- Gem #101: SOAP/WSDL server partby Pascal Obry 3/14/2011
- Gem #100: Reference Counting in Ada - Part 3: Weak References 2/28/2011
- Gem #99: Reference Counting in Ada - Part 2: Task Safety 2/14/2011
- Gem #98: High Performance Multi-core Programming - Part 2by Pat Rogers 1/31/2011
- Gem #97: Reference Counting in Ada - Part 1 1/17/2011
- Gem #96: Code Archetypes for Real-Time Programming - Part 4by Marco Panunzio 12/6/2010
- Gem #95: Dynamic Stack Analysis in GNATby Quentin Ochem 11/22/2010
- Gem #94: Code Archetypes for Real-Time Programming - Part 3by Marco Panunzio 11/8/2010
- Gem #93: High Performance Multi-core Programming - Part 1by Pat Rogers 10/25/2010
- Gem #92: Code Archetypes for Real-Time Programming - Part 2by Marco Panunzio 10/11/2010
- Gem #91: Smart Completion (Part 2 of 2)by Quentin Ochem 9/27/2010
- Gem #90: The Distributed Systems Annex, Part 4 — DSA and Cby Thomas Quinot 9/14/2010
- Gem #89: Code Archetypes for Real-Time Programming - Part 1by Marco Panunzio 6/22/2010
- Gem #88: GPS - Smart Completion (Part 1 of 2)by Quentin Ochem 6/14/2010
- Gem #87: The Distributed Systems Annex, Part 3 — Mailboxesby Thomas Quinot 6/2/2010
- Gem #86: Ada Quiz 1 - Basic Typesby Quentin Ochem 5/17/2010
- Gem #85:The Distributed Systems Annex 2 — Distributed Objectsby Thomas Quinot 5/3/2010
- Gem #84: The Distributed Systems Annex 1 - Simple client/serverby Thomas Quinot 4/19/2010
- Gem #83: Type-Based Security 2: Validating the Inputby Yannick Moy 4/5/2010
- Gem #82: Type-Based Security 1: Handling Tainted Databy Yannick Moy 3/22/2010
- Gem #81: GNAT Semaphoresby Pat Rogers 3/8/2010
- Gem #80: Speedy Shift and Rotate in SPARKby Rod Chapman 2/25/2010
- Gem #79: Where did my memory go? (Part 3) 2/8/2010
- Gem #78: Where did my memory go? (Part 2) 1/25/2010
- Gem #77: Where did my memory go? (Part 1) 1/11/2010
- Gem #76: Tokeneer Discovery - Lesson 6by Dean KuoAngela Wallenburg 12/14/2009
- Gem #75: Tokeneer Discovery - Lesson 5by Dean KuoAngela Wallenburg 11/30/2009
- Gem #74: Tokeneer Discovery - Lesson 4by Dean KuoAngela Wallenburg 11/16/2009
- Gem #73: Tokeneer Discovery - Lesson 3by Dean KuoAngela Wallenburg 11/2/2009
- Gem #72: Tokeneer Discovery - Lesson 2by Dean KuoAngela Wallenburg 10/19/2009
- Gem #71: Tokeneer Discovery - Lesson 1by Dean KuoAngela Wallenburg 10/5/2009
- Gem #70: The Scope Locks Idiomby Pat Rogers 9/21/2009
- Gem #69: Let's SPARK! — Part 2by Yannick Moy 9/7/2009
- Gem #68: Let's SPARK! — Part 1by Yannick Moy 6/29/2009
- Gem #67: Managing the GPS Workspace 6/15/2009
- Gem #66: GPS's Key Shortcuts Editor 6/1/2009
- Gem #65: gprbuild 5/18/2009
- Gem #64: Handling Multiple-Unit Source Files 5/4/2009
- Gem #63: The Effect of Pragma Suppressby Gary Dismukes 4/21/2009
- Gem #62: C++ constructors and Ada 2005by Javier MirandaArnaud Charlet 4/6/2009
- Gem #61: Interfacing with C++ constructorsby Javier MirandaArnaud Charlet 3/23/2009
- Gem #60: Generating Ada bindings for C++ headersby Arnaud Charlet 3/9/2009
- Gem #59: Generating Ada bindings for C headersby Arnaud Charlet 2/23/2009
- Gem #58: Ada / Java exception handlingby Quentin Ochem 2/9/2009
- Gem #57: Ada / Java cross dispatchingby Quentin Ochem 1/26/2009
- Gem #56: Creating Ada to Java calls using GNAT-AJISby Quentin Ochem 1/12/2009
- Gem #55: Introduction to Ada / Java Interfacingby Quentin Ochem 12/8/2008
- Gem #54: Scripting Capabilities in GNAT (Part 2) 11/24/2008
- Gem #53: Safe and Secure Software: Chapter 12: Conclusionby John Barnes 11/17/2008
- Gem #52: Scripting Capabilities in GNAT (Part 1) 11/10/2008
- Gem #51: Safe and Secure Software: Chapter 11, Certified Safe with SPARKby John Barnes 11/3/2008
- Gem #50: Overload Resolutionby Bob Duff 10/27/2008
- Gem #49: Safe and Secure Software: Chapter 10, Safe Concurrencyby John Barnes 10/20/2008
- Gem #48: Extending Interfaces in Ada 2005by Quentin Ochem 10/13/2008
- Gem #47: Safe and Secure Software : Chapter 9, Safe Communicationby John Barnes 10/6/2008
- Gem #46: Incompatibilities between Ada 83 and Ada 95by Robert Dewar 9/29/2008
- Gem #45: Safe and Secure Software : Chapter 8, Safe Startupby John Barnes 9/22/2008
- Gem #44: Accessibility Checks (Part III)by Bob Duff 9/15/2008
- Gem #43: Safe and Secure Software : Chapter 7, Safe Memory Managementby John Barnes 9/8/2008
- Gem #42: Safe and Secure Software : Chapter 6, Safe Object Constructionby John Barnes 7/7/2008
- Gem #41: Accessibility Checks (Part II: Ada2005)by Ramón Fernández 6/30/2008
- Gem #40: Safe and Secure Software : Chapter 5, Safe Object Oriented Programmingby John Barnes 6/16/2008
- Gem #39: Efficient Stream I/O for Array Typesby Pat Rogers 6/9/2008
- Gem #38: Safe and Secure Software : Chapter 4, Safe Architectureby John Barnes 6/2/2008
- Gem #37: Bounded Buffer package in GNAT Hierarchy (Part 2)by Pat Rogers 5/26/2008
- Gem #36: Safe and Secure Software : Chapter 3, Safe Pointersby John Barnes 5/19/2008
- Gem #35: Bounded buffer package in GNAT hierarchy (Part 1)by Pat Rogers 5/12/2008
- Gem #34: Safe and Secure Software : Chapter 2, Safe Typingby John Barnes 5/5/2008
- Gem #33: Accessibility Checks (Part I: Ada95)by Ramón Fernández 4/28/2008
- Gem #32: Safe and Secure Software : Chapter 1, Safe Syntaxby John Barnes 4/21/2008
- Gem #31: Preconditions/postconditionsby Robert Dewar 4/14/2008
- Gem #30: Safe and Secure Software : Introductionby John Barnes 4/8/2008
- Gem #29: Introduction to the Ada Web Server (AWS)by Pascal Obry 3/31/2008
- Gem #28: Changing Data Representation (Part 2)by Robert Dewar 3/17/2008
- Gem #27: Changing Data Representation (Part 1)by Robert Dewar 3/3/2008
- Gem #26: The Mod Attributeby Bob Duff 2/25/2008
- Gem #25: How to Search Text 2/11/2008
- Gem #24: Null Considered Harmful (Part 2—Efficiency)by Bob Duff 1/28/2008
- Gem #23: Null Considered Harmfulby Bob Duff 1/14/2008
- Gem #22: Ada Speaks Many Languagesby Robert Dewar, Vasiliy Fofanov, Franco Gasperoni, Yang Zhang 12/17/2007
- Gem #21: How to parse an XML text 12/10/2007
- Gem #20: Using pragma Shared_Passive for data persistenceby Pascal Obry 12/3/2007
- Gem #19: XML streaming of Ada objectsby Pascal Obry 11/26/2007
- Gem #18: Warnings in GNATby Bob Duff 11/19/2007
- Gem #17: Pragma No_Return, Part 2 (functions)by Bob Duff 11/12/2007
- Gem #16: Pragma No_Returnby Bob Duff 11/5/2007
- Gem #15: Timersby Anh Vo 10/29/2007
- Gem #14: Interrupt Handling Idioms (Part 2)by Pat Rogers 10/22/2007
- Gem #13: Interrupt Handling Idioms (Part 1)by Pat Rogers 10/15/2007
- Gem #12: Limited Types in Ada 2005 — <> Notation Part 2by Bob Duff 10/8/2007
- Gem #11: Limited Types in Ada 2005 — Constructor Functions Part 2by Bob Duff 10/1/2007
- Gem #10: Limited Types in Ada 2005 — Extended Return Statementsby Bob Duff 9/24/2007
- Gem #9: Classwide Operations, Iterators, and Generic Algorithmsby Matthew Heaney 9/17/2007
- Gem #8: Factory Functionsby Matthew Heaney 9/10/2007
- Gem #7: The Beauty of Numeric Literals in Adaby Franco Gasperoni 6/25/2007
- Gem #6: The Ada95 Multiple Views Idiom vs. Ada05 Interfacesby Matthew Heaney 6/18/2007
- Gem #5: Key-Based Searching In Set Containersby Matthew Heaney 6/11/2007
- Gem #4: PWM Position Control for Radiocontrol Servosby Michael Gonzalez Harbour 6/4/2007
- Gem #3: Limited Types in Ada 2005 — Constructor Functionsby Bob Duff 5/28/2007
- Gem #2: Limited Types in Ada 2005 — <> Notation in Aggregatesby Bob Duff 5/21/2007
- Gem #1: Limited Types in Ada 2005 — Limited Aggregatesby Bob Duff 5/14/2007