You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-9Lines changed: 20 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,34 +4,36 @@
4
4
5
5
Welcome to my **GitHub Pages** where you'll find everything I've made available online. There are Posts & Blogs I've written on all things related to Software Engineering as well links to code samples and 'hobby horse' projects. You'll also find an outline of the University course I've delivered on _Software Architecture & Design_ at [MTU](www.mtu.ie).
6
6
7
+
## Contents
8
+
9
+
-[Blogs & Posts](#blogs--posts) — Articles on software engineering, JVM tuning, and more
10
+
-[Code on GitHub](#code-on-github) — Public repositories and code samples
11
+
-[Lectures](#lectures) — University course materials and lecture PDFs
12
+
-[About me](#about-me) — Personal info and contact links
13
+
14
+
7
15
8
16
9
17
## [Blogs & Posts](./blogs+posts/)
10
18
11
19
*[Software Engineering](./blogs%2Bposts/software-engineering) - Blogs on a wide range of software engineering and architecture topics.
12
-
13
20
*[JVM Performance Tuning](./blogs%2Bposts/jvm-performance-tuning) - A series of blogs I wrote summarizing my experiences tuning the JVM.
21
+
*[Espresso Library](./blogs+posts/software-engineering/espresso/) — Articles on the design for a lightweight CLI argument parser
14
22
15
23
16
24
17
25
## [Code on GitHub](https://github.com/donnachaforde?tab=repositories&q=&type=public&language=&sort=)
18
26
Here are public repos on GitHub that are in a presentable form.
19
27
20
28
*[espresso lib](https://github.com/donnachaforde/espresso) - A hobby-horse project - i.e. an easy-to-use command-line parser for CLI applications.
21
-
22
29
*[espresso tools](https://github.com/donnachaforde/espresso-tools) - A collection of useful CLI tools, which leverages the espresso library.
23
-
24
30
*[Examples](https://github.com/donnachaforde?tab=repositories&q=example&type=public&language=&sort=) - Simple code examples covering Sockets, MQTT, AMQP and REST, mostly written in Java/Spring and C/C++.
25
-
26
31
*[Hello World!](https://github.com/donnachaforde/example-hello-world) - Various implementations of the famous K&R "Hello World!" in different languages.
27
-
28
32
*[Bash Shell Profile](https://github.com/donnachaforde/unix-shell-config) - Resource files for configuring your Bash Shell environment on Linux and UNIX.
29
-
30
33
*[GitHub Repos](https://github.com/donnachaforde) - All public repos (mostly C/C++/Java but also some helper shell-scripts).
31
34
32
35
33
36
34
-
35
37
## [Lectures](./lectures/)
36
38
37
39
I developed and delivered the anchor module for an [MSc in Software Architecture & Design](https://www.mtu.ie/courses/crksade9/) at [MTU](https://www.mtu.ie/) during 2017-2019 (_formerly CIT - Cork Institute of Technology_).
@@ -58,10 +60,19 @@ _The following links reference PDF docs._
58
60
59
61
60
62
61
-
## [About Me](./about.md)
62
-
Read more about me [here]((https://about.me/donnacha.forde)) and on [LinkedIn.com](https://www.linkedin.com/in/donnachaforde/)
63
63
64
64
65
+
66
+
## About Me
67
+
68
+
I'm a passionate software engineer and educator with experience across architecture, design and development of robust systems. I enjoy sharing practical insights through blogs, lectures and open-source projects. My interests include distributed system, API design and for kicks, building tools that make developers' lives easier.
69
+
70
+
I also have extensive management and leadership experience, having led engineering teams and mentored professionals in both technical and organizational growth. I believe in fostering collaborative environments and empowering others to achieve their best.
71
+
72
+
You can learn more about my professional background on [LinkedIn](https://www.linkedin.com/in/donnachaforde) or visit my [about.me](https://about.me/donnacha.forde) page.
73
+
74
+
I value authentic connections and welcome genuine opportunities to collaborate or network.
*[Software Engineering](./software-engineering/) - General articles on software engineering, management, design, and practical lessons.
12
+
13
+
*[JVM Performance Tuning](jvm-performance-tuning/) - In-depth guides and notes on Java JVM performance, memory and diagnostics.
14
+
15
+
*[Espresso Library](./software-engineering/espresso/) - Musings on the design of `libespresso`, a lightweight library for managing command line arguments in CLI tools.
Welcome to the Espresso library landing page. This section contains articles and notes on the design, construction, and management patterns used in the Espresso library, with a focus on practical software engineering principles.
Espresso is a small, lightweight library designed to handle the management of command line arguments. It provides a simple and efficient way to parse, validate and organize command line inputs for your applications, making it easier to build robust CLI tools with minimal overhead.
16
+
17
+
The articles here explore the motivations, trade-offs, and implementation details behind key architectural decisions in Espresso.
18
+
19
+
Feel free to explore each topic for insights and practical advice!
Copy file name to clipboardExpand all lines: blogs+posts/software-engineering/espresso/design-considerations.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,12 @@ Also, I've was strongly influenced by the book [Writing Solid Code](https://www.
49
49
50
50
### IDE History
51
51
52
-
This library was first developed using Visual C++ 6.0. That version of the Microsoft C/C++ compiler had quite a long life and the project was still tied to that version for many years. Eventually, it was upgraded to Visual Studio 2003 (Visual C++ 7), then Visual C++ 8 and Visual C++ 9. Thereafter, it was neglected while I pursued pure Java development and didn't get any attention until Visual Studio 2014 but then was upgraded to Visual Studio 17 and most recently Visual Studio 2019.
52
+
53
+
This library was first developed using Visual C++ 6.0. That version of the Microsoft C/C++ compiler had quite a long life and the project was still tied to that version for many years. Eventually, it was upgraded to Visual Studio 2003 (Visual C++ 7), then Visual C++ 8 and Visual C++ 9. Thereafter, it was neglected while I pursued pure Java development and didn't get any attention until Visual Studio 2014 but then was upgraded to Visual Studio 17 and most recently Visual Studio 2019. Support for Visual Studio 2022 is on the todo list.
54
+
55
+
In addition to Windows support, the project now builds on macOS using CMake, making it easy to configure and build on Apple Silicon and Intel Macs, as well as other platforms supported by CMake (like Linux). This will eventually replace the basic `makefile` used to build on those platform.
0 commit comments