{"id":19044562,"url":"https://github.com/brakmic/brakmic","last_synced_at":"2026-02-27T12:44:21.504Z","repository":{"id":174394340,"uuid":"652138114","full_name":"brakmic/brakmic","owner":"brakmic","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-27T17:39:51.000Z","size":101,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T05:57:38.353Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brakmic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-11T07:59:05.000Z","updated_at":"2025-09-27T17:39:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0904e34-586c-4b7e-ab08-ee56cb389fbd","html_url":"https://github.com/brakmic/brakmic","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"9afacf0d7bac8a17898b6bd8087be624e8b0c743"},"previous_names":["brakmic/brakmic"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brakmic/brakmic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2Fbrakmic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2Fbrakmic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2Fbrakmic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2Fbrakmic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brakmic","download_url":"https://codeload.github.com/brakmic/brakmic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brakmic%2Fbrakmic/sbom","scorecard":{"id":250859,"data":{"date":"2025-08-11","repo":{"name":"github.com/brakmic/brakmic","commit":"1788aef1e48fdcda015e156286d64a570a7e2540"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-17T08:26:05.510Z","repository_id":174394340,"created_at":"2025-08-17T08:26:05.511Z","updated_at":"2025-08-17T08:26:05.511Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29895528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T12:09:13.686Z","status":"ssl_error","status_checked_at":"2026-02-27T12:09:13.282Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T22:46:42.807Z","updated_at":"2026-02-27T12:44:21.489Z","avatar_url":"https://github.com/brakmic.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome 👋\n\nHi, I'm Harris. I'm a software engineer who enjoys building useful and reliable software. I started out as an in-house engineer at different companies before moving on to run my own small software development business. Over the years, I’ve worked on a wide range of projects, always trying to improve how I approach problems and deliver solid results.\n\n---\n\n## 👨‍💻 Technology Stack\n\n| Category                      | Skills                                                               |\n|-------------------------------|----------------------------------------------------------------------|\n| **AI Development**            | [Semantic Kernel](https://github.com/brakmic/SKPlayground), [LangChain](https://github.com/brakmic/langchain-experiments), ChatGPT Plugins        |\n| **APIs**                      | GraphQL, gRPC, OpenAPI, Swagger                                       |\n| **Application Migration**     | Silverlight (WPF) to Angular                                          |\n| **Blockchains**               | [BlockchainStore](https://github.com/brakmic/BlockchainStore), [CoinPlatform2](https://github.com/brakmic/Coin-Platform-2), [Perl6 BTC-Client](https://github.com/brakmic/Perl6-Bitcoin-Client) |\n| **Cloud Platforms**           | Azure, GCP, AWS                                                       |\n| **DevOps Tools**              | Docker, [Kubernetes](https://github.com/brakmic/miniDevOps), Helm, Terraform, [KNative](https://github.com/brakmic/angular-on-knative)                         |\n| **Identity \u0026 Access Management** | [Keycloak](https://github.com/brakmic/Keycloak_on_Kubernetes), [ID4](https://github.com/brakmic/id4.experiment), LDAP, Active Directory, [OpenID Connect](https://github.com/brakmic/passport-keycloak-oauth2-oidc-portable), [OAuth2](https://bitbucket.org/brakmic/id4.experiment/src/master/)   |\n| **Legacy Technologies**       | Visual Basic 6, Visual C++ 6, MFC, [COM](https://github.com/brakmic/COM_Tutorials)                               |\n| **NoSQL Databases**           | MongoDB, Cosmos DB                                                    |\n| **NodeJS Ecosystem**          | [Node.js C++ API](https://github.com/brakmic/hpx-nodejs-addon), [NPM Packages](https://www.npmjs.com/~brakmic?activeTab=packages)                                  |\n| **Programming Languages**     | TypeScript, [C#](https://github.com/brakmic/OpenCV), [C++](https://github.com/brakmic/HDA_with_Cpp), [Python](https://github.com/brakmic/Data-Science-for-Losers), [Java](https://github.com/brakmic/WildFly_Keycloak), [Bosque](https://bosque-lang.org)                                    |\n| **SQL Databases**             | MySQL, SQLite, MS SQL, [PostgreSQL](https://github.com/brakmic/Keycloak_with_PostgreSQL-HA_on_Kubernetes)                           |\n| **Vector Databases**          | [Weaviate](https://github.com/brakmic/Weaviate_with_OpenAI), [Qdrant](https://blog.brakmic.com/intro-to-semantic-kernel-part-four/)                          |\n| **Web Development**           | [Angular](https://github.com/brakmic/Angular-Articles), [NestJS](https://github.com/brakmic/Slot-Machine-Game) |\n\n---\n\n## 💼 Experiences \u0026 Skills\n\nAs a software engineer, I’ve spent years designing and building applications across different platforms and industries. Running my own company gave me the chance to lead projects, work with clients directly, and build software that solves real problems. I rely on approaches like Clean Architecture, Ports \u0026 Adapters, and Domain-Driven Design to make sure my systems stay maintainable and scalable.  \n\nAlongside this, I’ve worked with UI frameworks like DevExpress, DevExtreme, KendoUI, and Telerik to deliver fast and responsive applications.  \n\nWhile my main focus is software engineering, I’ve also built and shared tools for DevOps tasks, like the [miniDevOps](https://github.com/brakmic/miniDevOps) Docker image. These contributions are meant to help teams simplify their workflows, but DevOps is a supporting skill for me, not my primary background.\n\n---\n\n## 🛠️ Navigating the .NET Landscape\n\nI’ve been working with .NET and C# since 2004. In the beginning, I focused on WCF, WPF, and Silverlight to build service-oriented apps. Entity Framework and LINQ made data handling easier, and later I moved from WCF to ASP.NET and MVC for their cleaner and more modern approach.  \n\nOver the years, I’ve learned to adapt to the changes in the .NET ecosystem and keep improving my skills along the way.\n\n## 🌐 Web and Mobile Development Journey\n\nWeb and mobile development have been a big part of my work. I’ve built scalable applications using Angular, NestJS, and .NET, combining good code with UI design, API integration, and database work. This mix has helped me deliver full-stack solutions that are both reliable and user-friendly.\n\n## 🗄️ Crafting APIs\n\nI’ve spent a lot of time building APIs that are simple to use and perform well. My work with GraphQL, gRPC, and OpenAPI has helped me design APIs that connect systems effectively and are easy to document and maintain.\n\n## 🚀 Journey from JavaScript to TypeScript\n\nI started web development with JavaScript and explored Node.js and its C++ API early on. Over time, as projects got bigger, I saw the need for better structure and maintainability, which led me to TypeScript.  \n\nI’ve used frameworks like BackboneJS, AngularJS, and KnockoutJS in the past, but eventually settled on Angular with TypeScript for its balance of power and maintainability.\n\n## ☁️ Managing Deployment and Infrastructure\n\nI’ve also worked with Docker, Kubernetes, Helm, Terraform, and KNative to handle deployments and cloud infrastructure. These skills help me support the software I build and make sure it runs smoothly in production.\n\n## 🛡️ Prioritizing Security\n\nSecurity is always at the center of what I build. I follow secure coding practices, do penetration testing, and stick to OWASP guidelines. I’ve also worked with tools like Keycloak, LDAP, Active Directory, Firebase, OpenID Connect, and OAuth2 to implement authentication and access control.\n\n## 🤖 Artificial Intelligence and Machine Learning\n\nI’ve been exploring AI and ML through projects with [Semantic Kernel](https://github.com/brakmic/SKPlayground), OpenAI’s GPT models, Hugging Face Transformers, and other frameworks. These experiments have given me a solid understanding of current NLP and ML tools, and I’ve started applying them in real projects.\n\n---\n\n## 🎯 Future Goals\n\nLooking ahead, I want to keep learning about scalable architectures and keep building systems that are efficient, resilient, and easy to maintain. What keeps me motivated is learning new things and solving hard problems.\n\n---\n\n## 📖 Featured Articles\n\nI like sharing what I learn. My [blog](https://blog.brakmic.com) is where I write about new ideas, projects I’ve worked on, and lessons I’ve learned:\n\n- [Intro to Semantic Kernel](https://blog.brakmic.com/intro-to-semantic-kernel-part-one/)\n- [Keycloak with PostgreSQL-HA](https://blog.brakmic.com/keycloak-with-postgresql-ha-on-kubernetes/)\n- [Keycloak Extensions](https://blog.brakmic.com/keycloak-extensions/)\n- [Writing HDAs with htmx and C++](https://blog.brakmic.com/writing-hdas-with-htmx-and-c/)\n- [Intro to Assembly with FASM](https://blog.brakmic.com/intro-to-x86-assembly-with-fasm/)\n- [Reactive App with Angular and ngrx](https://blog.brakmic.com/reactive-apps-with-angular-ngrx/)\n- [High-Performance Computing with HPX](https://blog.brakmic.com/high-performance-computing-with-hpx/)\n\n---\n\n## 🔗 Quick Links\n\n- 📫 How to reach me: brakmic@gmail.com\n- 🔭 Explore my recent [projects](https://github.com/brakmic?tab=repositories)\n- 📘 Learn about my [developer journey](https://brakmic.dev)\n- 🌐 Visit my [personal website](https://brakmic.com)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrakmic%2Fbrakmic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrakmic%2Fbrakmic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrakmic%2Fbrakmic/lists"}