Skip to content

Commit b799dee

Browse files
Merge pull request #119 from donnachaforde/main
Merge changes on main back to drafts
2 parents 7b5c6fb + dcca3fc commit b799dee

6 files changed

Lines changed: 61 additions & 19 deletions

File tree

README.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,36 @@
44

55
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).
66

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+
715

816

917
## [Blogs & Posts](./blogs+posts/)
1018

1119
* [Software Engineering](./blogs%2Bposts/software-engineering) - Blogs on a wide range of software engineering and architecture topics.
12-
1320
* [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
1422

1523

1624

1725
## [Code on GitHub](https://github.com/donnachaforde?tab=repositories&q=&type=public&language=&sort=)
1826
Here are public repos on GitHub that are in a presentable form.
1927

2028
* [espresso lib](https://github.com/donnachaforde/espresso) - A hobby-horse project - i.e. an easy-to-use command-line parser for CLI applications.
21-
2229
* [espresso tools](https://github.com/donnachaforde/espresso-tools) - A collection of useful CLI tools, which leverages the espresso library.
23-
2430
* [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-
2631
* [Hello World!](https://github.com/donnachaforde/example-hello-world) - Various implementations of the famous K&R "Hello World!" in different languages.
27-
2832
* [Bash Shell Profile](https://github.com/donnachaforde/unix-shell-config) - Resource files for configuring your Bash Shell environment on Linux and UNIX.
29-
3033
* [GitHub Repos](https://github.com/donnachaforde) - All public repos (mostly C/C++/Java but also some helper shell-scripts).
3134

3235

3336

34-
3537
## [Lectures](./lectures/)
3638

3739
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._
5860

5961

6062

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/)
6363

6464

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.
75+
6576
_Donnacha Forde_
6677

6778

about.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

blogs+posts/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ Blogs & Posts on general topics in Software Engineering, including Management &
77

88
### Contents
99

10-
* [Software Engineering](./software-engineering/)
1110

12-
* [JVM Performance Tuning](jvm-performance-tuning/)
11+
* [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.
1316

1417

blogs+posts/software-engineering/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
[home/](../../)[blogs+posts/](../)[software-engineering](./)
22

3+
34
# Blogs on Software Engineering
45
Here are posts and articles covering more general software engineering topics.
56

7+
## Contents
8+
9+
- [Management & Leadership](#management--leadership)
10+
- [Cybersecurity](#cybersecurity)
11+
- [Design](#design)
12+
- [Performance Engineering](#performance-engineering)
13+
- [Designing the 'espresso' Library](#designing-the-espresso-library)
14+
- [Developing C++ with Visual Studio](#developing-c-with-visual-studio)
15+
16+
617

718
## Management & Leadership
819

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[home/](../../)[blogs+posts/](../)[software-engineering/](../)[espresso](./)
2+
# Espresso Library
3+
4+
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.
5+
6+
## Contents
7+
8+
- [Design Considerations & Influences](./design-considerations.md)
9+
- [Object Creation Patterns](./object-construction.md)
10+
- [Utilizing Manager Objects](./manager-objects.md)
11+
12+
## About Espresso
13+
14+
15+
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!

blogs+posts/software-engineering/espresso/design-considerations.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ Also, I've was strongly influenced by the book [Writing Solid Code](https://www.
4949

5050
### IDE History
5151

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.
56+
57+
5358

5459

5560
***

0 commit comments

Comments
 (0)