Code Signing and Notarizing your MacOS Apps

Introduction One of the biggest pain points of every developer in the Apple ecosystem is Application signing. It was never straightforward. Even after more than a decade of exposure in mobile and desktop development, it’s still a painful experience overall. On the flip side, there are reasons this is the case. From time to time, big companies like Apple have to refresh their security posture and that means developers have to follow those rules to maintain a secured and trusted platform....

September 2022 · Michael John Peña

Creating native MacOS background apps with .NET

Introduction In the previous blog post , I covered how you can create Universal Apps for MacOS. But what if you actually want to create and run a head-less (no UI) application in your Mac using your favourite .NET framework and libraries? Then I have some good news for you, it’s possible, but then again - with some caveats. For those who are already familiar with Windows Services, with .NET, you traditionally create a Windows Service project using the ....

September 2022 · Michael John Peña

Preparing for the upcoming Recession

Introduction I woke up today seeing my portfolio bloody red again. Stocks and ETFs are down. Cryptos are down. Gold is down. These and having high interest rates with our home loan plus commodities are becoming more expensive (high inflation). It’s quite an alarming state. We’re currently in a Technical Recession. Recession is such a big topic, but a Technical Recession simply means that the GDP in the past 2 quarters had a negative growth....

September 2022 · Michael John Peña

Publishing and Consuming Azure Event Hubs with AMQP and Rust

Rust has been gaining a lot of traction lately. Being in the Blockchain space, a lot of chains such as Solana uses Rust to develop smart contracts. There’s also an increase adoption of it in regards to high performance, memory safety, and concurrency benefits to name a few. In my opinion, it’s still a niche market (in terms of size) from both Companies’ adoption and the availability of talent out there....

September 2022 · Michael John Peña

Creating MacOS universal apps in .NET

It’s been a while since the most mind-breaking thing happened to .NET developers who are also Mac users like me - the introduction of .NET Core (of course equally excited with Xamarin and Mono as well). But with .NET core which is supported by Microsoft themselves, we can now create self-hosted applications and deploy it to almost anywhere, including Macs. This means that if you want to create an application that you want to target Macs as the host (not an app), then ....

September 2022 · Michael John Peña

Using named pipes for interprocess communication in C#

There are multiple ways applications can communicate to each other. You can use HTTP, gRPC, gRPC, web sockets, shared databases, message brokers (and buses), and the list goes on. One of the overlooked fundamentals is the use of Pipes and Streams. Pipes - a communication channel between two processes. Streams - a data collection that moves from a source to a destination. Just think of the actual ‘pipe’ where water flows....

September 2022 · Michael John Peña

Installing Kafka on WSL2 (Windows Subsystem for Linux)

Kafka is a robust event streaming platform that is used by a lot of companies these days. As companies and developers adopt an event-driven architecture, advanced data pipelines, and real-time analytics - Kafka is often the default platform of choice. The project itself is open-source and I’ve noticed a lot of “managed” Kafka offering around. I myself have been using a flavour of Kafka (Azure Event Hubs ) quite a lot in my projects and startups....

September 2022 · Michael John Peña

In Memory SQLite database on C#

If you’re running a .NET application that doesn’t require a database, one of the options that you can use is having In Memory Database. What this means is that you are using the machine’s RAM to store data for your application. There are multiple ways of implementing these: Plain C# object / list / dictionary / hash table Dependency Injection with proper lifetime (singleton/trancient/scoped) Using SQLite (preferred) Why use it?...

August 2022 · Michael John Peña

Backup Azure SQL Database using Azure Data Studio on your Desktop

Doing it via the Portal I’m trying to backup our SQL Azure database, and to my surprise, it doesn’t seem to be “straight forward”. Officially, you have to do it via the Azure portal (or Azure CLI), but I find the process a bit overwhelming for simple backup of “I just want the file”. If you do it via the portal, you have to go to the Database instance, and click on Export....

August 2022 · Michael John Peña

My Tech List 2022

Here is a list of all the relevant technology set up that I use personally at work, home, and everything in between. I grouped them on different groups according to function. Nowadays, I tend to be minimalist on what I purchase both on hardware and software, and make sure that I am very intentional with their uses and not because of vanity / impulse buying. Work and Personal Devices Macbook Pro M2 Windows Desktop: 64 GB RAM, i9 CPU, and Nvidia RTX 3080 iPhone 13 mini (Personal) Samsung Galaxy S20 (Work) Apple AirPods Pro Bose Quietcomfort 35 Kindle Papewhite Desk Setup V20 Desk Xiaomi Monitor HP Monitor Dell Docking Taotronics Speaker Multiple charging Bay Webcam USB Spliter Blue Snowball Microphone Playmax Logitech Mouse Logitech Keyboard Desk Thredmill Attached Drawers Development Software Visual Studio Code (and extensions) Visual Studio 2022 (Windows) Jetbrains Rider Docker WSL Terminals: iTerm 2 and Windows Terminal Productivity Software Obsidian Outlook Calendar Mobile Apps I use daily Apple Notes, Reminders, Calendar, and Voice Memos Obsidian and Working Copy Health: Trainerize, Strava, Garmin Connect Audible, 12 Min, Kindle, and Goodreads Banking & Crypto Apps SnoreLab and SnoreGym Life

August 2022 · Michael John Peña

Run for Autism - 2021

A couple of weeks ago, I started a campaign to raise money into my Run For Autism 2021 . Long story short, I made it! Raising the money, running the distance, and raising more awareness. It’s been a challenging journey given I experienced a lot of adversaries along the way. Here are some of the key takeaways of this journey: - Always define the purpose - Set realistic expectations - Love the process - Deliver what you’ve committed - Know when to rest...

November 2021 · Michael John Peña

Productive this Pandemic - Accountability Partner

For the longest of time, I would consider myself as the lone wolf at work. Most days, I’d rather stay alone and be in my world to get things done. I found in the past that the effort to collaborate is counterintuitive and would just mean more work for me. Back then, I’d rather do things “my way” than to delegate so that I don’t get disappointed with the results from someone else....

September 2021 · Michael John Peña

Productive this Pandemic - Planning your week ahead

People have asked me lately, how do I do it? Having a full-time consulting company, spending quality time with family, doing groceries, cooking, house errands, taking part at online communities, blogging, journaling, building a house, getting involved to a dozen startups, creating a podcast, reading books, losing weight, and the list goes on. It’s even harder because it’s the pandemic. Most people’s motivation and morale are down right now because of the never ending lockdowns, non-purposeful workplace, fear of missing out, and other negative emotions....

September 2021 · Michael John Peña

The Hybrid Cloud Journey with Microsoft Azure

Hybrid cloud is the trend right now I see in a lot of companies and enterprises. The term hybrid has grown too in the last couple of years. It used to be just the connectivity between an on-premises data center to public clouds like AWS and Azure. This time, hybrid now also includes multi-cloud and edge computing. It’s about borderless connectivity across different topologies or deployment models happening around. Why hybrid cloud?...

August 2021 · Michael John Peña

Using WSL2 (Windows Subsystem for Linux) for Blockchain Development

In the past, I’ve been using my Macbook Pro to do all things blockchain and smart contracts development. One of the hurdles I encountered in the past is that some tooling and frameworks were not first class citizens on Windows. Majority of these tools, especially those that come with scripts and complex networking architecture (circa 2015) just works in MacOS and Linux:Ubuntu. Introduction Of course there have been a lot of improvements now in the ecosystem since then....

August 2021 · Michael John Peña

What are these blockchain and crypto tokens?

So you keep hearing or reading about “tokens”, these “cryptos”, the “blockchain bitcoins”, and so on. It’s been quite some time now that it has involved me with blockchains and cryptos that over and over, I have to explain to people (often new clients) on what are these tokens. Even until now, at almost late 2021, I still get asked about these: Is it Bitcoin? Is it Ethereum? Is it Coin X, Coin Y?...

August 2021 · Michael John Peña

Developing MacOS Apps using .NET

The .NET framework (and the wider ecosystem) has embraced a lot of openness these past few years. Gone are the days when .NET only works on Windows. However, as the journey to “One .NET” is still unfolding, there is a lot of confusion on how we can use .NET on MacOS. There is Mono, .NET Core, .NET 5, Xamarin.Mac, Xamarin.Forms, Mac Catalyst, .NET 6, and MAUI. This blog post explains some of the core concepts across these nomenclature....

July 2021 · Michael John Peña

Message to the young

I recently gave a graduation speech to my high school alma matter. Compared to my usual technical talks, this time it’s about inspiring the younger generation and to share some of the key lessons and experiences I’ve had for over 12 years since I graduated. This is also a good reflection of what I will advise my younger self if I am talking to him right now. Below, I summarize my speech that is in a written medium....

July 2021 · Michael John Peña

Getting Started with DeFi

Introduction Blockchain is not dead. Actually, quite the contrary is happening in the past year. There are more and more interest and it’s gaining a lot more traction than before. A big portion of this growth is due to “DeFi” AKA Decentralised Finance applications. From the hyped cryptocurrencies, we are now seeing the new next wave of this transformation as we see more financial products being developed: lending, exchanges, yield farming, and pools just to name a few....

July 2021 · Michael John Peña

My Ultimate Windows and Mac Setup (2021 Edition)

Introduction My Battle Station @ 2021 In a parallel world, I’ll be just using 1 device and 1 Operating system for all the things. However, given the nature of my work with mobile, web, blockchain, machine learning, and cloud development, I need to have multiple devices to cater things. I tried doing “Shared mouse and keyboard” in the past such as Synergy, but I decided to use a KVM switch instead....

July 2021 · Michael John Peña