Gems: Quick summary of links to the precious Ada Gems
Please note that this is a mere summary of links to the Ada Gems of AdaCore without authorization.
quotation: "expert tips and insights that will help you get the most out of Ada."
newest Gems from AdaCore
Gem #1: Limited Types in Ada 2005 — Limited Aggregates Bob Duff 20070514
Gem #2: Limited Types in Ada 2005 — <> Notation in Aggregates Bob Duff 20070521
Gem #3: Limited Types in Ada 2005 — Constructor Functions Bob Duff 20070528
Gem #4: PWM Position Control for Radiocontrol Servos Michael Gonzalez Harbour 20070604
Gem #5: Key-Based Searching In Set Containers Matthew Heaney 20070611
Gem #6: The Ada95 Multiple Views Idiom vs. Ada05 Interfaces Matthew Heaney 20070618
Gem #7: The Beauty of Numeric Literals in Ada Franco Gasperoni 20070625
Gem #8: Factory Functions Matthew Heaney 20070910
Gem #9: Classwide Operations, Iterators, and Generic Algorithms Matthew Heaney 20070917
Gem #10: Limited Types in Ada 2005 — Extended Return Statements Bob Duff 20070924
Gem #11: Limited Types in Ada 2005 — Constructor Functions Part 2 Bob Duff 20071001
Gem #12: Limited Types in Ada 2005 — <> Notation Part 2 Bob Duff 20071008
Gem #13: Interrupt Handling Idioms (Part 1) Pat Rogers 20071015
Gem #14: Interrupt Handling Idioms (Part 2) Pat Rogers 20071022
Gem #15: Timers Anh Vo 20071029
Gem #16: Pragma No_Return Bob Duff 20071105
Gem #17: Pragma No_Return, Part 2 (functions) Bob Duff 20071112
Gem #18: Warnings in GNAT Bob Duff 20071119
Gem #19: XML streaming of Ada objects Pascal Obry 20071126
Gem #20: Using pragma Shared_Passive for data persistence Pascal Obry 20071203 (permanent store)
Gem #21: How to parse an XML text Emmanuel Briot 20071210
Gem #22: Ada Speaks Many Languages Robert Dewar, Vasiliy Fofanov, Franco Gasperoni, Yang Zhang 20071217
Gem #23: Null Considered Harmful Bob Duff 20080114
Gem #24: Null Considered Harmful (Part 2 — Efficiency) Bob Duff 20080128
Gem #25: How to Search Text Emmanuel Briot 20080211
Gem #26: The Mod Attribute Bob Duff 20080225
Gem #27: Changing Data Representation (Part 1) Robert Dewar 20080303
Gem #28: Changing Data Representation (Part 2) Robert Dewar 20080317
Gem #29: Introduction to the Ada Web Server (AWS) Pascal Obry 20080331
Gem #30: Safe and Secure Software : Introduction John Barnes 20080408 booklet begin
Gem #31: preconditions/postconditions Robert Dewar 20080414
Gem #32: Safe and Secure Software : Chapter 1, Safe Syntax John Barnes 20080421
Gem #33: Accessibility Checks (Part I: Ada95) Ramon Fernandez-Marina 20080428
Gem #34: Safe and Secure Software : Chapter 2, Safe Typing John Barnes 20080505
Gem #35: bounded buffer package in GNAT hierarchy (Part 1) Pat Rogers 20080512
Gem #36: Safe and Secure Software : Chapter 3, Safe Pointers John Barnes 20080519
Gem #37: Bounded Buffer package in GNAT Hierarchy (Part 2) Pat Rogers 20080526
Gem #38: Safe and Secure Software : Chapter 4, Safe Architecture John Barnes 20080602
Gem #39: Efficient Stream I/O for Array Types Pat Rogers 20080609
Gem #40: Safe and Secure Software : Chapter 5, Safe Object Oriented Programming John Barnes 20080616
Gem #41: Accessibility Checks (Part II: Ada2005) Ramon Fernandez-Marina 20080630
Gem #42: Safe and Secure Software : Chapter 6, Safe Object Construction John Barnes 20080707
Gem #43: Safe and Secure Software : Chapter 7, Safe Memory Management John Barnes 20080908
Gem #44: Accessibility Checks (Part III) Bob Duff 20080915
Gem #45: Safe and Secure Software : Chapter 8, Safe Startup John Barnes 20080922
Gem #46: Incompatibilities between Ada 83 and Ada 95 Robert Dewar 20080929
Gem #47: Safe and Secure Software : Chapter 9, Safe Communication John Barnes 20081006
Gem #48: Extending Interfaces in Ada 2005 Quentin Ochem 20081013
Gem #49: Safe and Secure Software: Chapter 10, Safe Concurrency John Barnes 20081020
Gem #50: Overload Resolution Bob Duff 20081027
Gem #51: Safe and Secure Software: Chapter 11, Certified Safe with SPARK John Barnes 20081103
Gem #52: Scripting Capabilities in GNAT (Part 1) Emmanuel Briot 20081110
Gem #53: Safe and Secure Software: Chapter 12: Conclusion John Barnes 20081117 booklet end
Gem #54: Scripting Capabilities in GNAT (Part 2) Emmanuel Briot 20081124
Gem #55: Introduction to Ada / Java Interfacing Quentin Ochem 20081208
Gem #56: Creating Ada to Java calls using GNAT-AJIS Quentin Ochem 20090112
Gem #57: Ada / Java cross dispatching Quentin Ochem 20090126
Gem #58: Ada / Java exception handling Quentin Ochem 20090209
Gem #59: Generating Ada bindings for C headers Arnaud Charlet 20090223
Gem #60: Generating Ada bindings for C++ headers Arnaud Charlet 20090309
Gem #61: Interfacing with C++ constructors Javier Miranda, Arnaud Charlet 20090323
Gem #62: C++ constructors and Ada 2005 Javier Miranda, Arnaud Charlet 20090406
Gem #63: The Effect of Pragma Suppress Gary Dismukes 20090421
Gem #64: Handling Multiple-Unit Source Files Emmanuel Briot 20090504
Gem #65: gprbuild Emmanuel Briot 20090518
Gem #66: GPS’s Key Shortcuts Editor Emmanuel Briot 20090601
Gem #67: Managing the GPS Workspace Emmanuel Briot 20090615
Gem #68: Let’s SPARK! - Part 1 Yannick Moy 20090629
Gem #69: Let’s SPARK! - Part 2 Yannick Moy 20090907
Gem #70: The Scope Locks Idiom Pat Rogers 20090921
Gem #71: Tokeneer Discovery - Lesson 1 Dean Kuo and Angela Wallenburg 20091005
Gem #72: Tokeneer Discovery - Lesson 2 Dean Kuo and Angela Wallenburg 20091019
Gem #73: Tokeneer Discovery - Lesson 3 Dean Kuo and Angela Wallenburg 20091102
Gem #74: Tokeneer Discovery - Lesson 4 Dean Kuo and Angela Wallenburg 20091116
Gem #75: Tokeneer Discovery - Lesson 5 Dean Kuo and Angela Wallenburg 20091130
Gem #76: Tokeneer Discovery - Lesson 6 Dean Kuo and Angela Wallenburg 20091214
Gem #77: Where did my memory go? (Part 1) Emmanuel Briot 20100111
Gem #78: Where did my memory go? (Part 2) Emmanuel Briot 20100125
Gem #79: Where did my memory go? (Part 3) Emmanuel Briot 20100208
Gem #80: Speedy Shift and Rotate in SPARK Rod Chapman 20100225
Gem #81: GNAT Semaphores Pat Rogers 20100308
Gem #82: Type-Based Security 1: Handling Tainted Data Yannick Moy 20100322
Gem #83: Type-Based Security 2: Validating the Input Yannick Moy 20100405
Gem #84: The Distributed Systems Annex 1 - Simple client/server Thomas Quinot 20100419
Gem #85:The Distributed Systems Annex 2 - Distributed Objects Thomas Quinot 20100503
Gem #86: Ada Quiz 1 - Basic Types Quentin Ochem 20100517
Gem #87: The Distributed Systems Annex, Part 3 - Mailboxes Thomas Quinot 20100602
Gem #88: GPS – Smart Completion (Part 1 of 2) Quentin Ochem 20100614
Gem #89: Code Archetypes for Real-Time Programming – Part 1 Marco Panunzio 20100622
Gem #90: The Distributed Systems Annex, Part 4 — DSA and C Thomas Quinot 20100914
Gem #91: Smart Completion (Part 2 of 2) Quentin Ochem 20100927
Gem #92: Code Archetypes for Real-Time Programming – Part 2 Marco Panunzio 20101011
Gem #93: High Performance Multi-core Programming - Part 1 Pat Rogers 20101025
Gem #94: Code Archetypes for Real-Time Programming – Part 3 Marco Panunzio 20101108
Gem #95: Dynamic Stack Analysis in GNAT Quentin Ochem 20101122
Gem #96: Code Archetypes for Real-Time Programming – Part 4 Marco Panunzio 20101206
Gem #97: Reference Counting in Ada – Part 1 Emmanuel Briot 20110117
Gem #98: High Performance Multi-core Programming – Part 2 Pat Rogers 20110131
Gem #99: Reference Counting in Ada – Part 2: Task Safety Emmanuel Briot 20110214
Gem #100: Reference Counting in Ada – Part 3: Weak References Emmanuel Briot 20110228
Gem #101: SOAP/WSDL server part Pascal Obry 20110314
Gem #102: SOAP/WSDL client part Pascal Obry 20110328
Gem #103: Code Archetypes for Real-Time Programming — Part 5 Marco Panunzio 20110411
Gem #104: Gprbuild and Configuration Files — Part 1 Johannes Kanig 20110426
Gem #105: Lady Ada Kisses Python — Part 1 Emmanuel Briot 20110509
Gem #106: Lady Ada Kisses Python — Part 2 Emmanuel Briot 20110523
Gem #107: Preventing Deallocation for Reference-counted Types Ada Magica (C.K.W. Grein) 20110606
Gem #108: Gprbuild and Configuration Files — Part 2 Johannes Kanig 20110617
Gem #109: Ada Plug-ins and Shared Libraries — Part 1 Pascal Obry of EDF R&D 20110905
Gem #110: Ada Plug-ins and Shared Libraries — Part 2 Pascal Obry of EDF R&D 20110921
Gem #111: The Distributed Systems Annex, Part 5 — Embedded Name Server Thomas Quinot 20111003
Gem #112: Lego Mindstorms Ada Environment — Part 1 Pat Rogers 20111017
Gem #113: Visitor Pattern in Ada Emmanuel Briot 20111107
Gem #114: Logging with GNATCOLL.Traces Emmanuel Briot 20111122
Gem #115: Lego Mindstorms Ada Environment — Part 2 Pat Rogers 20111205
Gem #116: Ada and C++ Exceptions Quentin Ochem 20120116
Gem #117: Design Pattern: Overridable Class Attributes in Ada 2012 Emmanuel Briot 20120130
Gem #118: File-System Portability Issues and GNATCOLL.VFS Emmanuel Briot ????????
Gem #119 : GDB Scripting — Part 1 Jean-Charles Delay 20120227
Gem #120 : GDB Scripting — Part 2 Jean-Charles Delay 20120312
Gem #121 Breakpoint Commands — Part 1 Jerome Guitton 20120312
Gem #122: Breakpoint Commands — Part 2 Jerome Guitton 20120410
Gem #123: Implicit Dereferencing in Ada 2012 Christoph Grein 20120417
Gem #124 : Scripting GPS for Static Analysis Yannick Moy, Nicolas Setton 20120430
Gem #125: Detecting infinite recursion with GDB’s Python API Jerome Guitton 20120514
Gem #126 : Aggregate Library Projects Pascal Obry 20120528
Gem #127: Iterators in Ada 2012 - Part 1 Emmanuel Briot 20120611
Gem #128 : Iterators in Ada 2012 - Part 2 Emmanuel Briot 20120625
Gem #129 : Type-Safe Database API - Part 1 Emmanuel Briot 20120709
Gem #130 : Type-Safe Database API - Part 2 Emmanuel Briot 20120723
Gem #131 : Type-Safe Database API - Part 3 Emmanuel Briot 20120807
Gem #132 : Erroneous Execution - Part 1 Bob Duff 20120912
Gem #133 : Erroneous Execution - Part 2 Bob Duff 20120924
Gem #134 : Erroneous Execution - Part 3 Bob Duff 20121015
Gem #135 : Erroneous Execution - Part 4 Bob Duff 20121029
Gem #136: How tall is a kilogram? Vincent Pucci 20121112
Gem #137: Ada Quiz 2 - An Heir and a Spare? Valentine Reboul 20121126
Gem #138 : Master the Command Line - Part 1 Emmanuel Briot 20121210
Gem #139 : Master the Command Line - Part 2 Emmanuel Briot 20130114
Gem #140: Bridging the Endianness Gap Thomas Quinot 20130128
Gem #141 : Con-figure it out Emmanuel Briot 20130211
Gem #142 : Exception-ally Emmanuel Briot 20130225
Gem #143 : Return to the Sources Emmanuel Briot 20130311
Gem #144: A Bit of Bytes: Characters and Encoding Schemes Emmanuel Briot 20130325
Gem #145: Ada Quiz 3 - Statements Valentine Reboul 20130408
Gem #146 : Su(per)btypes in Ada 2012 - Part 1 Yannick Moy 20130422
Gem #147 : Su(per)btypes in Ada 2012 - Part 2 Yannick Moy 20130506
Gem #148 : Su(per)btypes in Ada 2012 - Part 3 Yannick Moy 20130520
Gem #149 : Asserting the truth, but (possibly) not the whole truth Yannick Moy 20130603
Gem #150: Out and Uninitialized Emmanuel Briot, Robert Dewar 20130617
Gem #151 : Specifying Mathematical Properties of Programs Yannick Moy 20130701
Gem #152 : Defining a New Language in a Project File Vincent Celier 20130923
Gem #153: Multicore Maze Solving, Part 1 Pat Rogers 20131009 (illustrating one of the fundamental differences between traditional multiprocessing and modern multicore programming)
Gem #154: Multicore Maze Solving, Part 2 Pat Rogers 20131028
Gem #155: Enhancing the GPRBuild Database for a New Language Vincent Celier 20131209
Gem #156: Listing Control in GNAT Robert Dewar 20140204
Gem #157: Gprbuild and Code Generation Emmanuel Briot 20140303
Gem #158: GPRinstall - Part 1 Pascal Obry 20140428
Gem #159 : GPRinstall - Part 2 Pascal Obry 20140519
Gem #160 : Developing unit tests with GNATtest Vasiliy Fofanov 20140623
Gem #161 : So long and thanks for all the memories! Jamie Ayre (seems to be the last gem) 20140804

Introducing the AdaCore Blog Jamie Ayre 20150109 (following the precious gems)
https://blog.adacore.com/
The archive of the Adacore Gems is best found in "resources" --> "Ada Gems" 20181019ph
newest Gems from AdaCore

latest update 20181025ph
back to http://www.horstpeterhermann.de/ada_related/resources_on_ada.html