I’ve been playing around recently with Azure, finally got some things working, and think I’m starting to understand things a little better (though still terrified somehow I’m going to create something that costs a boatload of money).
One of the things any app developer will always want to do is be able to review logs so that’s what I was in search of today. While it looks like you can monitor logs in real time… I hardly ever need to do that (that’s what local debugging is for). I was trying to figure out where/how to view my logs after they had generated… you know, like you have to do to support anything.
Anyway, it appears the secret is that you need to configure things to send your logs to a log analytics workspace 1st (and if I’m wrong here I would love to know a better way). To do that I followed the instructions here.
Keep in mind though that it take a bit for logs to start getting pulled over so it’s not like a real time stream. For a real time stream (like when debugging, but from the server) look at “Log stream” for your Function App…
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Now that I’m officially working remotely, and have had some questions about my setup, I figured I’d do a write up so everything was in 1 place. So, let’s start with a picture…
… and I’ll tell you that my setup consists of a Desktop (not shown) and the Laptop you see in the photo. Also included in the photo are the microphone and camera. The Stream Deck shown in the lower right (as well as shells, rings, and baseball) is optional 😊.
Now, how it all works together… The main monitor (with the rings at the base), keyboard, and mouse are controlled by the computer KVM which determines if I’m working off the Laptop or the Desktop. Essentially, the computer KVM takes “in” the keyboard, mouse, and HDMI from both the Laptop and Desktop, and sends “out” to the shared keyboard, mouse, and main monitor. A simple double tap on “Scroll Lock” + either “1” or “2” switches between them.
I also use a USB Switch to toggle peripherals between the Laptop and Desktop. This allows me to switch between the computers but make the camera and microphone potentially “stick” to the backgrounded computer (i.e. be on a call/meeting on one computer, but switch to the other briefly as needed). Setup is as simple as the USB Switch taking a USB “input” from each computer, and having the peripherals tied into it. Switching between does take a press of the button on the USB Switch.
So, what about the other monitor and laptop monitor you may ask? The full monitor (upper left) is tied into the Desktop using a DVI output on my graphics card (but could be tied into whatever additional output you may have) so that when the Desktop is active I’ll have the 2 monitors. When I switch to the Laptop, the laptop and main monitor act as my 2 monitors.
And finally, you may be asking, how do you tie all that stuff to the laptop if it only has a USB C and maybe a standard USB? For that, I use a USB Dock. The dock allows me to connect to my wired network (better reliability and throughput of signal), the computer KVM, USB Switch, and a few other USB peripherals (mostly for charging things). All that junk stays connect to the dock, and I simply need to unplug or connect the 1 USB C connector!
Of course, if you don’t need to switch between multiple computers and just want to connect multiple monitors and an external keyboard and mouse the USB Dock is sufficient (and is how my wife’s work setup is configured).
As to the Stream Deck, that’s probably a post for a different day, but suffice it to say when the Laptop is active the aux monitor (upper left) is rotating through a number of browser tabs running on the Desktop and I can use the Stream Deck to control that (refresh, volume, mute, etc).
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Do you know where the first commercial use of a CAPTCHA was? PayPal
Do you know CAPTCHA stands for Completely Automated Public Turing Test to Tell Computers and Humans Apart? I didn’t, but now you do!
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
As I’ve said before, I’m certifiable 😂. Passed the DP-900 exam on Saturday. Look about 30 minutes (plus 15-20 for the remote proctor to release the exam). As with the Azure Fundamentals certification it was a lot of just knowing the names or classifications of things. I guess that’s why it’s a “fundamentals” exam.
Anyway, if work is going to pay for me to pad my resume I’ll take it.
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
I first read this in James Clear’s 3-2-1 Newsletter, but thought the idea from Naval Ravikant was so good that I just had to share…
Humans evolved in societies where there was no leverage. If I was chopping wood or carrying water for you, you knew eight hours put in would be equal to about eight hours of output. Now we’ve invented leverage… As a worker, you want to be as leveraged as possible so you have a huge impact without as much time or physical effort.
A leveraged worker can out-produce a non-leveraged worker by a factor of one thousand or ten thousand. With a leveraged worker, judgment is far more important than how much time they put in or how hard they work.
For example, a good software engineer, just by writing the right little piece of code and creating the right little application, can literally create half a billion dollars’ worth of value for a company. But ten engineers working ten times as hard, just because they choose the wrong model, the wrong product, wrote it the wrong way, or put it in the wrong viral loop, have basically wasted their time. Inputs don’t match outputs, especially for leveraged workers.
What you want in life is to be in control of your time. You want to get into a leveraged job where you control your time and you’re tracked on outputs.
The Almanack of Naval Ravikant
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Last week I had the opportunity to “attend” ArchConf (virtually). Of the sessions I attended, Venkat Subramaniam’s presentation of “Building Evolutionary Architectures” was easily the best and combined an engaging and enthusiastic style with useful content. David Sietz’s “Data as a Service (DaaS)” presentation was also very good and applicable for my needs. Aside from that, Joshua Smith and Laine Minor from RedHat were probably the most entertaining/fun/funny.
If you’re interested, here are my notes for each session I attended and took notes for :). Replays (for attendees only)
microservice = anything that can be re-written in 2 weeks or less
I really like this definition and goal.
high cohesion, low coupling
A Modular Monolith might be a better approach in certain situations. A modular monolith is a software design approach in which a monolith is designed with an emphasis on interchangeable (and potentially reusable) modules.
If you have to ask what something is (a tech, language, platform), you don’t need it.
Monitoring is vital to a thriving microservice arch
Main Takeaway: Postpone decisions until the last possible moment because it’s possible YAGNI and doing so lessens the considerations for reversibility. Keep all code as simple as possible.
UFD = Up Front Design
Now that we’re “Agile” we’re not doing enough UFD (nor big UFD)
Power point architects = dangerous
Scrum master was never intended to be a title, else there’s no such thing as a self organizing team
“adaptive planning” and “feedback driven development” are the most important words for Agile
Rate all features/stories by business value and architectural impact
Goal should be delivering value. Not using a particular tech.
People confuse unfamiliar w/ complex
People confuse familiar with simple
reversibility = the ability to back out of a decision (less expensive)
postpone decisions until the last responsible moment
YAGNI = You Aren’t Gonna Need It
parsimony = the most minimal solution. Ask “do we have to” for everything
triangulate = implement 1 way, then another, and abstract common code to Base class
Don’t START with an abstraction. Refactor into it.
Postel’s law = be generous about what you receive and conservative about what you send
Good reuse comes from repeated active use
Be ruthless in minimizing dependencies including libraries and frameworks
Main Takeaway: The API should come first. Or, when implementing an API for an existing implementation, don’t model the API on the internal workings of the system.
Application EA -> define our objects, what things they are part of, and the relationships between them
Applications interact with domains and data flows between them
Orchestration services should always queue requests and process/respond async
Lambda is basically serverless (functions)
You might consider using topics/queues for each service instead of load balancer
MDM data cleansing: normalize data formats, replace missing values, standardize values, map attributes
Identify sources (producers and consumers of master data) -> collect and analyze metadata -> appt data stewards -> implement data gov program and council -> dev MD model and choose toolset -> Design infra, generate and test MD -> Modify producing and consuming -> implement maint process
There’s nothing wrong with copying data as long as you understand the intent and retention
Build your data marts at the last responsible moment
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
I don’t recall how this gem of an article came to my attention recently, but even though it is now 8 years old it is still amazingly relavent. If you are at all invovled in writing software I would strongly encourage reading this and taking it to heart.
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.
Ever connect to a wi-fi hotspot only to have nothing happen? Enter NeverSSL. After connecting to the hotspot, enter the URL (web address) http://neverssl.com into your browser of choice and watch magic happen.
Please remember to subscribe to the newsletter or feed to stay up to date!
Disclaimer: Thoughts and opinions are my own, and do not reflect the views of any employer, family member, friend, or anyone else. Some links may be affiliate links, but I don't link to anything I don't use myself.