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. The main reason for this is context switching, so that I don’t get distracted and I have a “physical switch” to tell myself “It’s time to do…” I also intentionally placed the KVM switch near my foot, so I have to force myself to dock to press that button. ...

<span title='2021-07-13 00:00:00 +0000 UTC'>July 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

SSH Connect to Linux Server from a Mac using SOCKS5 Proxy

Introduction I’ve been spending a lot of time lately in setting up on-premises Linux Servers. There are a lot of reasons why you would like to SSH to a Linux server such as checking configuration files, copying files, or even port forwarding. Just open your MacOS terminal and the command to ssh to a Linux Server is as simple as: ssh user@host or ssh michael@192.0.0.1 However, where it gets tricky is when you need to use a proxy such as SOCKS5 in order to access that Linux server from your MacOS machine. ...

<span title='2021-06-24 00:00:00 +0000 UTC'>June 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

How to disable auto-locking of MacOS Keychains

Signing an iOS app for release is one of the trivial things most mobile developers face. A lot of CLIs and SAAS emerged as part of this struggle. However, not all companies have adopted to those tools and they still prefer to build their apps in their on-prem data servers. They use something like TeamCity or Azure DevOps Server. We streamlined the configuration of our Mac Build agents to a repository where we can update our Provisioning Profiles, Keychains, etc. ...

<span title='2021-03-14 00:00:00 +0000 UTC'>March 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

The 3 Types of Blockchain and Cryptocurrencies people I’ve met

I’ve been in the crazy Blockchain space for quite a while now. I’ve had a lot of conversations and people I’ve met online and in-person to talk about it. Over and over, I see patterns on the people I interact with whether they do it as part of their job, an enthusiast, developer, investor, or simply just a person. I’ve probably had hundreds of interactions already and most likely, they will belong to either of these 3 buckets. I know generalisation is bad because not all people are the same, but it helps my brain to become more structured on what approach and ideas that I use during these conversations. ...

<span title='2021-02-26 00:00:00 +0000 UTC'>February 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

Why I don’t read or watch mainstream media that much

Ever since I was a kid, I was never really the person who watches the mainstream television to watch news. Watching news on a television is a culture that a lot of people just grew up with as a “default.” Here are some of thoughts on why I don’t value reading or watching mainstream media anymore. The important news will come to you one way or the other. They are written or crafted to trigger emotions rather than inform about things. Too much information. We need less distractions. ...

<span title='2021-02-22 00:00:00 +0000 UTC'>February 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

Why you should experience being self-employed

In someone’s employment life, she/he dreams of having her/his own company to beat the thoughts of having a manager or a boss. You know the promise of being your own boss, handling your own time, and $$$ - who wouldn’t want that? It’s “relatively” easy to establish a company compare to the last decades - thanks to technology. There are also a lot of avenues to profit from “the gig economy” that sometimes get big and would need a team to work on. ...

<span title='2021-01-27 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

How to beat procrastination

One of the colossal beasts that all knowledge workers fight time and time again is procrastination. This is when you know you should work, but you don’t have enough willpower to do it. You can’t code, you can’t do that design document, you can’t write that next blog post… the list goes on. Here are 5 of my usual methods when I’m stuck in that limbo. ...

<span title='2021-01-14 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

You should read books, you know you should

Before 2018, I was never a book reader. Reading a book seems like a chore to me. I can barely finish a chapter. I always had that internal conflict (possibly based from childhood experience) that only “the smart people” can read books. Another factor is, I’ve always associated books to “school” or “academia” that felt like an enclosed culture that didn’t really synced in to me. Also, I’d rather watch a film or TV series than read a 300 to 500 pager book - because of cinematics. It’s a much more immersive experience than doing the effort of “reading intentionally.” Also, growing up maybe I just didn’t find “reading book” as something cool amongst teenagers and the society I used to live. ...

<span title='2021-01-08 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

AI across the Microsoft Cloud

Artificial Intelligence (AI) and Machine Learning (ML) are trending topics right now. In 2021, there are countless of ways to have a form of “AI” in your apps and platforms. A lot of companies from startups to software giants offer services that relate to this space. I spent the last 2 years exploring this space, and I still swimming my way as the movements in this area are quick and it’s hard to keep up. ...

<span title='2021-01-07 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

Why it’s okay to be “an ordinary” developer

Someone once asked me, what does it take to become a prominent developer? A 10X Engineer? You know some who are “extraordinary”. What do you mean by extraordinary? I’ve always had some thoughts (all of us do) around it, but my understanding and opinion of it is now much more concrete. Actually, this applies not only to being a developer, but to any other career or profession that you’re in. ...

<span title='2021-01-06 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

Digital Intentionalization: Don’t click that next button

It’s very tempting to click on “that next button” wether that is from YouTube, Netflix, Facebook videos or any endless buffet of consumption. You start watching a video about a topic you’re really interested in to and end up watching something weird after 3 hours. As I do more research in my personal journey of Digital Intentionalization, this is probably one of the most obvious ones. We let the platform play the next content. ...

<span title='2021-01-05 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

My only goal for 2021: Digital Intentionality

During the holidays, I was contemplating on what skills should I invest time on for 2021. As someone who is working in the technology field, there are a lot of exciting things to double-down on: from Artificial Intelligence (AI), Internet of Things (IoT), Blockchain, and a plethora of technology trends. As I reflected on how my 2020 went in terms of career and lifestyle, I noticed that there is an area I really need to work on - my digital life. ...

<span title='2021-01-04 00:00:00 +0000 UTC'>January 2021</span>&nbsp;&middot;&nbsp;Michael John Peña

Synology NAS Series – Cloud Sync with Azure Storage

Foreword Synology reached out to me to give their new DiskStation DS920+ a review. If you’re not yet aware of Synology, they are the leading NAS (Network-attached storage) provider for home and work use-cases. You can use a NAS for pretty much anything such as backing up files, sharing files in a local network, streaming media files, or have your own “private cloud”. Throughout the years, the concept of NAS has developed and there is now a very thin line between doing things locally in your network and storage capabilities of cloud vendors. ...

<span title='2020-09-28 00:00:00 +0000 UTC'>September 2020</span>&nbsp;&middot;&nbsp;Michael John Peña

5 Years of being a Microsoft MVP!

Wow! It’s been 5 years since my first Microsoft MVP award. If you don’t know what the Microsoft MVP program is, check this site . Throughout the years, I have transitioned from various categories and technology award. In particular, Windows Development (Windows 8/8.1/10/RT and XAML), to Developer Technologies (C#, .NET, Xamarin), to Azure with focus on Blockchain, PAAS (Platform as a Service), and Integrations. In those years, I’ve seen Microsoft and the MVP program changed a lot (for the better). Products have changed, a lot of new services emerged, new categories introduced, and a big push on Cloud (Azure and Microsoft 365). Open source also became a norm, and a lot of complex service offerings were simplified and subsidised into a managed service. ...

<span title='2020-09-09 00:00:00 +0000 UTC'>September 2020</span>&nbsp;&middot;&nbsp;Michael John Peña

I’m going to start writing again!

I have been meaning to write a blog post for an awfully long time, but it has blocked me for so many reasons. There are many reasons I stopped writing. I find different excuses for not doing it. Lazy. Busy. Afraid that contents I write may not be good enough. I feel my English is not good enough. So much more. No one will read it, why write? ...

<span title='2020-08-26 00:00:00 +0000 UTC'>August 2020</span>&nbsp;&middot;&nbsp;Michael John Peña

Key Differences Between Azure Machine Learning and Azure Cognitive Services Introduction Azure Machine Learning and Azure Cognitive Services are two powerful offerings from Microsoft Azure that cater to different aspects of artificial intelligence and machine learning. While both services aim to enhance the capabilities of applications through AI, they serve distinct purposes and are designed for different types of users and use cases. Key Differences Purpose and Focus Azure Machine Learning: This service is designed for data scientists and machine learning engineers who need to build, train, and deploy machine learning models. It provides a comprehensive environment for developing custom machine learning models using various frameworks and tools. Azure Cognitive Services: This suite of APIs is aimed at developers who want to integrate pre-built AI capabilities into their applications without needing deep knowledge of machine learning. It offers a range of services for vision, speech, language, and decision-making. Customization and Flexibility Azure Machine Learning: Offers high flexibility and customization, allowing users to create models from scratch, fine-tune hyperparameters, and use custom datasets. It supports various machine learning frameworks like TensorFlow, PyTorch, and Scikit-learn. Azure Cognitive Services: Provides pre-trained models that can be easily integrated into applications via APIs. While it offers some level of customization, such as training custom vision models, it is generally less flexible compared to Azure Machine Learning. User Experience Azure Machine Learning: Requires a deeper understanding of machine learning concepts and programming. It is ideal for users who need to experiment with different algorithms and build complex models. Azure Cognitive Services: Designed for ease of use, with straightforward API calls that can be integrated into applications with minimal code. It is suitable for developers who want to quickly add AI capabilities without delving into the intricacies of machine learning. Use Cases Azure Machine Learning Predictive Maintenance: Companies can use Azure Machine Learning to build models that predict equipment failures before they occur, reducing downtime and maintenance costs. Customer Segmentation: Retailers can analyze customer data to create segments and target marketing efforts more effectively. Fraud Detection: Financial institutions can develop models to detect fraudulent transactions in real-time, enhancing security and reducing losses. Azure Cognitive Services Image Recognition: Developers can use the Computer Vision API to analyze and tag images, enabling features like automatic photo categorization and content moderation. Speech-to-Text: The Speech API can convert spoken language into text, useful for applications like transcription services and voice-activated assistants. Language Translation: The Translator API allows applications to translate text between multiple languages, facilitating communication in a globalized world. Conclusion Azure Machine Learning and Azure Cognitive Services are both integral parts of Microsoft’s AI ecosystem, each serving unique purposes. Azure Machine Learning offers a robust platform for building custom machine learning models, while Azure Cognitive Services provides ready-to-use AI capabilities that can be easily integrated into applications. Understanding the key differences and use cases for each service can help organizations choose the right tool for their specific needs. ...

Michael John Peña

Step-by-Step Guide for Implementing a Serverless AI Solution Using Azure Functions and Azure Cognitive Services Introduction Serverless computing allows developers to build and run applications without managing infrastructure. Azure Functions, a serverless compute service, can be combined with Azure Cognitive Services to create powerful AI solutions. This guide will walk you through the steps to implement a serverless AI solution using these Azure services. Prerequisites An active Azure subscription. Basic knowledge of Azure Functions and Azure Cognitive Services. Azure CLI installed on your local machine. Visual Studio Code with the Azure Functions extension. Step 1: Create an Azure Function App Open the Azure Portal: Navigate to the Azure Portal and sign in with your Azure account. Create a Resource: Click on “Create a resource” and search for “Function App”. Configure the Function App: Subscription: Select your subscription. Resource Group: Create a new resource group or select an existing one. Function App Name: Enter a unique name for your Function App. Publish: Select “Code”. Runtime Stack: Choose your preferred runtime stack (e.g., Node.js, Python, C#). Region: Select a region close to your users. Review and Create: Review the configuration and click “Create”. Step 2: Set Up Azure Cognitive Services Create a Cognitive Services Resource: In the Azure Portal, click on “Create a resource” and search for “Cognitive Services”. Select the type of Cognitive Service you need (e.g., Computer Vision, Text Analytics). Configure the resource and click “Create”. Retrieve API Keys: Once the resource is created, navigate to the resource and click on “Keys and Endpoint”. Copy the API key and endpoint URL. Step 3: Develop the Azure Function Open Visual Studio Code: Open VS Code and create a new project for your Azure Function. Create a New Function: Open the Command Palette (Ctrl+Shift+P) and select “Azure Functions: Create New Project”. Choose your language and select a template (e.g., HTTP trigger). Provide a name for the function and specify the authorization level (e.g., Function). Install Required Packages: Depending on the language, install the necessary packages to call Azure Cognitive Services APIs. For example, in Node.js, you might use axios for HTTP requests. Write the Function Code: Use the API key and endpoint URL to call the Cognitive Services API within your function. Below is an example in Node.js: const axios = require("axios") module.exports = async function (context, req) { const imageUrl = req.body.imageUrl const endpoint = process.env.COGNITIVE_ENDPOINT const apiKey = process.env.COGNITIVE_API_KEY try { const response = await axios.post( `${endpoint}/vision/v3.1/analyze`, { url: imageUrl, }, { headers: { "Ocp-Apim-Subscription-Key": apiKey, "Content-Type": "application/json", }, }, ) context.res = { status: 200, body: response.data, } } catch (error) { context.res = { status: 500, body: error.message, } } } ...

Michael John Peña