<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>2023 on Funky Si's Test</title><link>https://blog-test.funkysi1701.com/2023/</link><description>Recent content in 2023 on Funky Si's Test</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><managingEditor>funkysi1701@gmail.com (Simon Foster)</managingEditor><webMaster>funkysi1701@gmail.com (Simon Foster)</webMaster><lastBuildDate>Sun, 19 Nov 2023 22:50:00 +0000</lastBuildDate><atom:link href="https://blog-test.funkysi1701.com/2023/index.xml" rel="self" type="application/rss+xml"/><item><title>Make API calls from Visual Studio</title><link>https://blog-test.funkysi1701.com/posts/2023/make-api-calls-from-visual-studio/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Sun, 19 Nov 2023 22:50:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/make-api-calls-from-visual-studio/</guid><category term="VisualStudio">VisualStudio</category><category term="API">API</category><media:content medium="image" type="image/png" url="https://blog-test.funkysi1701.com/images/endpoint-explorer.png"/><description>&lt;p&gt;It is that exciting time of year where Microsoft announce a new version of .Net (Version 8 this time) and Visual Studio. There have been lots of announcements which I am still digesting, but one that caught my eye was a new window in Visual Studio that shows all your API endpoints.&lt;/p&gt;
&lt;p&gt;The new window is called &lt;strong&gt;Endpoint Explorer&lt;/strong&gt; and can be added from the menu &lt;strong&gt;View &amp;gt; Other Windows &amp;gt; Endpoint Explorer&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Endpoint Explorer" src="https://blog-test.funkysi1701.com/images/endpoint-explorer.png" loading="lazy"
width="400" height="434"
/&gt;
&lt;/p&gt;
&lt;p&gt;If you right click on one of the endpoints you can view the code or send a request. It works with minimal APIs or standard MVC APIs. If you select send a request a .http file will be created, this is a feature that has been in Visual Studio for a while but I haven&amp;rsquo;t taken much notice.&lt;/p&gt;
&lt;p&gt;The syntax for writing these API calls is fairly simple&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;GET {{Catalog.API_HostAddress}}/api/v1/catalog/items
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or something more complex, this one is a POST with a body and a header. This is how you might call APIs which require authentication. Just include a header with your auth token.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;POST {{Catalog.API_HostAddress}}/api/v1/catalog/items
Accept: application/json
{
&amp;#34;name&amp;#34;: &amp;#34;Test&amp;#34;,
&amp;#34;description&amp;#34;: &amp;#34;Test&amp;#34;,
&amp;#34;price&amp;#34;: 1.99,
&amp;#34;pictureFileName&amp;#34;: &amp;#34;test.png&amp;#34;,
&amp;#34;pictureUri&amp;#34;: &amp;#34;https://picsum.photos/200/300&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can also set up various variables at the top of your .http files by prefixing with an @, by default you get one that defines your base URL, but you can add more.&lt;/p&gt;
&lt;p&gt;eg @variable = value&lt;/p&gt;
&lt;p&gt;Full docs of how you use .http files can be found &lt;a href="https://learn.microsoft.com/en-us/aspnet/core/test/http-files?view=aspnetcore-8.0" target="_blank" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;A hyperlink above each API call in your .http file is labelled Send request. This initiates the API call and your window splits in half with the right hand side displaying the response.&lt;/p&gt;
&lt;p&gt;The response has four tabs, a nicely json formatted response, a raw response, a headers tab and a request tab.&lt;/p&gt;
&lt;p&gt;Now you will notice an env box underneath your file tabs, where the method dropdown is in a normal c# class file. It took me a while to figure out how to setup environments, but you can add a file that contain environment specific config, like base URL for test/prod/dev etc.&lt;/p&gt;
&lt;p&gt;This blog post tells me about it &lt;a href="https://devblogs.microsoft.com/visualstudio/safely-use-secrets-in-http-requests-in-visual-studio-2022/" target="_blank" rel="noopener noreferrer"&gt;here&lt;/a&gt;
but the main thing is you need to add a json file called &lt;strong&gt;http-client.env.json&lt;/strong&gt; and create some json like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;local&amp;#34;: {
&amp;#34;Api_HostAddress&amp;#34;: &amp;#34;http://localhost:44338&amp;#34;
},
&amp;#34;dev&amp;#34;: {
&amp;#34;Api_HostAddress&amp;#34;: &amp;#34;https://dev.example.com&amp;#34;
},
&amp;#34;test&amp;#34;: {
&amp;#34;Api_HostAddress&amp;#34;: &amp;#34;https://test.example.com&amp;#34;
},
&amp;#34;prod&amp;#34;: {
&amp;#34;Api_HostAddress&amp;#34;: &amp;#34;https://prod.example.com&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Other environment specific variables can be added in the same way. Now you can easily call your API in different environments without having to change the URL each time.&lt;/p&gt;
&lt;h2 id="but-what-about-vs-code"&gt;But what about VS Code?&lt;a class="anchor ms-1" href="#but-what-about-vs-code" aria-label="Permalink: But what about VS Code?"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Well it turns out that VS Code has a similar feature, but it is not enabled by default. You need to install the &lt;a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client" target="_blank" rel="noopener noreferrer"&gt;REST Client&lt;/a&gt;
extension. Once installed you can create a .http file and start making API calls. The syntax is very similar to Visual Studio.&lt;/p&gt;
&lt;p&gt;VS Code has a similar concept of environments. Go to Extensions &amp;gt; REST Client &amp;gt; Extension Settings and click on Edit in settings.json. Add the same settings we used with VS to your settings.json file. You can now switch environments from the command palette &amp;ldquo;Rest Client: Switch Environment&amp;rdquo; and select the environment you want to use.&lt;/p&gt;
&lt;p&gt;You can make use of the response of one API call in the request of another.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;### 1st API Call
# @name login
POST {{Catalog.API_HostAddress}}/api/v1/identity/login
Content-Type: application/json
{
&amp;#34;user&amp;#34;: &amp;#34;username&amp;#34;,
&amp;#34;password&amp;#34;: &amp;#34;password&amp;#34;
}
### 2nd API Call
GET {{Catalog.API_HostAddress}}/api/v1/catalog/items
Authorization: Bearer {{login.response.body.token}}
Content-Type: application/json
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The last feature of VS Code I want to mention is that it can make GQL calls.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;POST {{Catalog.API_HostAddress}}/graphql
X-REQUEST-TYPE: GraphQL
Content-Type: application/json
Authorization: Bearer {{login.response.body.token}}
query ($name: String!, $owner: String!) {
repository(name: $name, owner: $owner) {
name
fullName: nameWithOwner
description
diskUsage
forkCount
stargazers(first: 5) {
totalCount
nodes {
login
name
}
}
watchers {
totalCount
}
}
}
{
&amp;#34;name&amp;#34;: &amp;#34;vscode-restclient&amp;#34;,
&amp;#34;owner&amp;#34;: &amp;#34;Huachao&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sorry postman but I think I have a new favourite tool for making API calls.&lt;/p&gt;</description></item><item><title>Be the best developer you can be</title><link>https://blog-test.funkysi1701.com/posts/2023/become-the-best-actor-astronaut-or-developer-you-can-be/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Fri, 03 Nov 2023 01:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/become-the-best-actor-astronaut-or-developer-you-can-be/</guid><category term="StarTrek">StarTrek</category><category term="PatrickStewart">PatrickStewart</category><category term="Goals">Goals</category><category term="JoseHernandez">JoseHernandez</category><category term="continuousimprovement">continuousimprovement</category><media:content medium="image" type="image/jpeg" url="https://blog-test.funkysi1701.com/images/patrick-stewart.jpg"/><description>&lt;img src="https://blog-test.funkysi1701.com/images/patrick-stewart.jpg" width="400px" style="float:left;padding-right:8px" alt="Patrick Stewart" /&gt;
&lt;p&gt;Recently I have been reading the first few chapters of Patrick Stewart&amp;rsquo;s Memoir, &lt;a href="https://www.amazon.co.uk/Making-It-So-A-Memoir/dp/B0C3VXDSGR/ref=sr_1_1" target="_blank" rel="noopener noreferrer"&gt;Making It So: A Memoir&lt;/a&gt;
. In it he tells the story of his early life. I find it fascinating that very early on it is quite clear he had a life goal. Become the best actor Patrick Stewart can be.&lt;/p&gt;
&lt;p&gt;Yes, there are other things in his life but this is what motivates much of what he does. At 12 he went on an 8 day residential drama course, where he met with like minded people that encourage him. So much that he continued to meet with them years after that course finished to grow his skills as an actor. This is something I would encourage everyone to do, find your tribe, find like minded people that will encourage you to grow and learn.&lt;/p&gt;
&lt;p&gt;After school he couldn&amp;rsquo;t see a future in acting professionally so took a job at a newspaper.  However when his job interfered with his acting in amateur dramatic groups, it caused him to reassess his priorities and he began saving to go to drama school. While at drama school he continued to improve and grow his acting skills. He has a singular vision in these early years to become an actor, and within a few weeks of finishing his training he had a job as an actor at a theatre. I have got up to the point where he is about to go on a world tour with a theatre group. During his first few jobs he continues to work on his acting skills. There is no doubt in my mind that this sense of continuous improvement helped mold Patrick Stewart into the actor we know today. While I am not a actor, I often think about continuous improvement, how can I be better at what I do.&lt;/p&gt;
&lt;img src="https://blog-test.funkysi1701.com/images/million-miles.jpg" width="400px" style="float:right;padding-left:8px" alt="Promotional still from the film A Million Miles Away" /&gt;
&lt;p&gt;A film I saw recently has a similar tale of a singular vision. &lt;a href="https://www.amazon.co.uk/Million-Miles-Away-Michael-Pe%C3%B1a/dp/B0CC7MQFVD/ref=sr_1_1" target="_blank" rel="noopener noreferrer"&gt;A Million Miles Away&lt;/a&gt;
tells the story of Jose Hernandez, a man that wanted to be an Astronaut and applied to NASA 12 times (he was rejected 11 times!) He started life as a migrant farm worker, (so similar to Patrick Stewart who also grew up in poverty). He did everything in his power to achieve his goals, and didn&amp;rsquo;t give up.&lt;/p&gt;
&lt;p&gt;Jose Hernandez, when facing failure looked at those that had got into NASA. What did they have that he didn&amp;rsquo;t? He then worked on those areas to improve himself. He didn&amp;rsquo;t give up, he kept going. He works on his fitness, he got a pilots license, he learns Russian.&lt;/p&gt;
&lt;p&gt;So what&amp;rsquo;s my point. Have a Big Goal. It can be anything but it needs to be &lt;strong&gt;big&lt;/strong&gt;. My big goal of becoming a developer was achieved many years ago, and since then I have done a fair amount of drifting through life. What I need to do is be more like Patrick Stewart and continue to improve my skills, everyday make myself a better developer. What problems am I facing, lets break them down into manageable goals and get them solved so I can move on to the next lot.&lt;/p&gt;</description></item><item><title>DDD East Midlands</title><link>https://blog-test.funkysi1701.com/posts/2023/ddd-east-midlands/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Mon, 09 Oct 2023 00:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/ddd-east-midlands/</guid><category term="DotNet">DotNet</category><category term="Community">Community</category><category term="Conference">Conference</category><category term="DDDEastMidlands">DDDEastMidlands</category><media:content medium="image" type="image/jpeg" url="https://blog-test.funkysi1701.com/images/ddd_avatar_300.jpg"/><description>&lt;p&gt;On Saturday 7th October I attended &lt;a href="https://dddeastmidlands.com/" target="_blank" rel="noopener noreferrer"&gt;DDD East Midlands&lt;/a&gt;
. It is a community run conference for Developers (the D&amp;rsquo;s stand for Developer) and I had a great time, I have been to DDD North before but this was the first time going to Nottingham for a conference (I grew up in Nottingham, or a town not far from). As I have said before there is nothing quite like chatting over coffee or lunch with fellow Developers about the tech you are learning about, this was probably my favourite thing about conferences. Now on to the talks:&lt;/p&gt;
&lt;h2 id="dungeons-dragons-and-developers"&gt;Dungeons, Dragons and Developers&lt;a class="anchor ms-1" href="#dungeons-dragons-and-developers" aria-label="Permalink: Dungeons, Dragons and Developers"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/Brunty" target="_blank" rel="noopener noreferrer"&gt;Matt Brunt&lt;/a&gt;
gave an excellent keynote talk, comparing the role playing game Dungeons and Dragons with working on Software projects. A good D&amp;amp;D game involves team work, very like a good Software Team. A team of all wizards isn&amp;rsquo;t going to get you very far, the same way a team full of developers that excel at algorithms, won&amp;rsquo;t be good at testing, talking to customers etc. A wizard that has a secret spell to defeat the Troll under the bridge, is almost as bad as a developer that hordes his knowledge and &amp;ldquo;saves the day&amp;rdquo; when things go wrong. Keeping connected with your team as you go out on your quest so no one gets lost is as important as keeping connected with your software team.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Matt Brunt delivering the Dungeons, Dragons and Developers keynote at DDD East Midlands" src="https://blog-test.funkysi1701.com/images/F701q6xXEAAgZk3.jpg" loading="lazy"
width="680" height="510"
/&gt;
&lt;/p&gt;
&lt;h2 id="microservice-mistakes"&gt;Microservice Mistakes&lt;a class="anchor ms-1" href="#microservice-mistakes" aria-label="Permalink: Microservice Mistakes"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/DoesDotNet" target="_blank" rel="noopener noreferrer"&gt;Matt Hunt&lt;/a&gt;
talked about microservice mistakes he had made.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Long lived small teams&lt;/li&gt;
&lt;li&gt;Can&amp;rsquo;t test by &lt;strong&gt;only&lt;/strong&gt; interacting with the frontend&lt;/li&gt;
&lt;li&gt;Use events as well as API calls&lt;/li&gt;
&lt;li&gt;Need to be able to deploy independently of each other&lt;/li&gt;
&lt;li&gt;Have a specific reason for using microservices, a problem to solve&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="the-art-of-the-bad-code-review"&gt;The Art of the Bad Code Review&lt;a class="anchor ms-1" href="#the-art-of-the-bad-code-review" aria-label="Permalink: The Art of the Bad Code Review"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A 15 minute lightning talk with &lt;a href="https://twitter.com/makitdev" target="_blank" rel="noopener noreferrer"&gt;Martyn Kilbryde&lt;/a&gt;
A fun talk showing some examples of bad code reviews, a few takeaways from this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explain what is being fixed with a link to the ticket&lt;/li&gt;
&lt;li&gt;Give specific, actionable feedback&lt;/li&gt;
&lt;li&gt;Balance the boy scout rule of leaving the code better than when you found it with do one thing rule&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t make assumptions -&amp;gt; have a conversation instead&lt;/li&gt;
&lt;li&gt;Be helpful and constructive, not dismissive and negative&lt;/li&gt;
&lt;li&gt;Use a branch per ticket, don&amp;rsquo;t tie them together&lt;/li&gt;
&lt;li&gt;Refer to the requirements&lt;/li&gt;
&lt;li&gt;No room for ego, code belongs to the team not an individual&lt;/li&gt;
&lt;li&gt;Avoid overly verbose comments&lt;/li&gt;
&lt;li&gt;Pragmatism is important&lt;/li&gt;
&lt;li&gt;If urgent, raise additional tickets with tech debt issues&lt;/li&gt;
&lt;li&gt;Challenge if necessary, but do so respectfully&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t do a piecemeal review&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="git-under-the-covers"&gt;Git Under the covers&lt;a class="anchor ms-1" href="#git-under-the-covers" aria-label="Permalink: Git Under the covers"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another 15 minute lightning talk with &lt;a href="https://twitter.com/dracan" target="_blank" rel="noopener noreferrer"&gt;Dan Clarke&lt;/a&gt;
This looked at the inner workings of git, this was fascinating as every part points at another part which is obviously part of the reason git is so powerful. It was quite technical and I am sure some of it went over my head.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Dan Clarke presenting the Git Under the Covers lightning talk at DDD East Midlands" src="https://blog-test.funkysi1701.com/images/F71PCBEXsAA4_aJ.jpg" loading="lazy"
width="1639" height="864"
/&gt;
&lt;/p&gt;
&lt;h2 id="this-talk-could-have-been-a-blog-post"&gt;This talk could have been a blog post&lt;a class="anchor ms-1" href="#this-talk-could-have-been-a-blog-post" aria-label="Permalink: This talk could have been a blog post"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Another 15 minute lightning talk with &lt;a href="https://twitter.com/JamieTanna" target="_blank" rel="noopener noreferrer"&gt;Jamie Tanna&lt;/a&gt;
. This was a good talk about the importance of blogging. He used the phrase &lt;strong&gt;blogumentation&lt;/strong&gt;, now I have heard of this before but not its name. It is where you use your blog to document what you have learnt, it can be anything a new command or a new language or technology. This talk inspired me to write this blog post, Thank you Jamie. His blog can be found at &lt;a href="https://www.jvt.me/posts/2023/10/07/why-blog/" target="_blank" rel="noopener noreferrer"&gt;https://www.jvt.me/posts/2023/10/07/why-blog/&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="how-to-create-the-conditions-where-happy-people-do-their-best-work"&gt;How to create the conditions where happy people do their best work&lt;a class="anchor ms-1" href="#how-to-create-the-conditions-where-happy-people-do-their-best-work" aria-label="Permalink: How to create the conditions where happy people do their best work"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/paul_bailey_" target="_blank" rel="noopener noreferrer"&gt;Paul Bailey&lt;/a&gt;
introduced the concept of Communities of Practice. Lots of the features of a Community of Practice I have heard of or been in teams that implement. &lt;em&gt;&amp;ldquo;Communities of Practice are groups of people who share a concern or passion for something they do and learn how to do it better as they interact regularly&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Paul Bailey speaking on creating conditions where happy people do their best work at DDD East Midlands" src="https://blog-test.funkysi1701.com/images/F71n4uiWYAA4KHL.jpg" loading="lazy"
width="2048" height="1536"
/&gt;
&lt;/p&gt;
&lt;h2 id="building-robots-for-complete-beginners"&gt;Building Robots for Complete Beginners&lt;a class="anchor ms-1" href="#building-robots-for-complete-beginners" aria-label="Permalink: Building Robots for Complete Beginners"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Last talk of the day was my favourite (because it was about Robots) &lt;a href="https://www.linkedin.com/in/mark4security/" target="_blank" rel="noopener noreferrer"&gt;Mark Goodwin&lt;/a&gt;
talked about building Robots using Rasbery Pi Pico (a microcontroller board), most of his examples used python. His demo can be found at &lt;a href="https://github.com/computerist/robot-demos" target="_blank" rel="noopener noreferrer"&gt;https://github.com/computerist/robot-demos&lt;/a&gt;
This fascinated me as I have already dipped my toe into this area when playing with &lt;a href="https://blog-test.funkysi1701.com/posts/2022/microbit/"&gt;microbits&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Picard Season 3</title><link>https://blog-test.funkysi1701.com/posts/2023/picard-season-three/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/picard-season-three/</guid><category term="StarTrek">StarTrek</category><category term="Podcast">Podcast</category><media:content medium="image" type="image/jpeg" url="https://blog-test.funkysi1701.com/images/nexus-nights.jpg"/><description>&lt;p&gt;Last night I had a bit of a chat about season 3 of Star Trek Picard.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Before &lt;a href="https://twitter.com/hashtag/startrek?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#startrek&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Picard?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#Picard&lt;/a&gt; S3ep2 airs this week; &lt;a href="https://twitter.com/danielhuckfield?ref_src=twsrc%5Etfw"&gt;@danielhuckfield&lt;/a&gt; Special Guest &lt;a href="https://twitter.com/funkysi1701?ref_src=twsrc%5Etfw"&gt;@funkysi1701&lt;/a&gt; and &lt;a href="https://twitter.com/hitch_daniel?ref_src=twsrc%5Etfw"&gt;@hitch_daniel&lt;/a&gt; chat about the first episode on the Nexus Nights spin-off show.&lt;a href="https://t.co/Jyov53z7hC"&gt;https://t.co/Jyov53z7hC&lt;/a&gt;&lt;/p&gt;&amp;mdash; The Temporal Trek Podcast(s) (@rider_coattail) &lt;a href="https://twitter.com/rider_coattail/status/1628713326149570563?ref_src=twsrc%5Etfw"&gt;February 23, 2023&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;Here is the episode I recorded: &lt;a href="https://podcasters.spotify.com/pod/show/daniel-peter-hitch/episodes/TTNN-Ep-36---PIC-S3ep1-Reaction-Chat-e1vdglo" target="_blank" rel="noopener noreferrer"&gt;TTNN Ep 36 - PIC S3ep1 Reaction Chat&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Dan and Dan are joined by previous Temporal Trek guest Si Foster for a little chinwag over the return of PICARD for the final season.&lt;/p&gt;
&lt;p&gt;Badass Bev, Starships of Thesseus, love to loathe Captain Shaw, Predictions and More.&lt;/p&gt;
&lt;p&gt;It was great fun to record and I hope you enjoy giving it a listen., Hopefully I will be back at the end of the season to discuss the conclusion.&lt;/p&gt;</description></item><item><title>How much does it cost?</title><link>https://blog-test.funkysi1701.com/posts/2023/how-much-does-it-cost/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Sat, 04 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/how-much-does-it-cost/</guid><category term="Azure">Azure</category><category term="Website">Website</category><category term="SideProject">SideProject</category><category term="Costs">Costs</category><media:content medium="image" type="image/png" url="https://blog-test.funkysi1701.com/images/monthly-costs.png"/><description>&lt;p&gt;How much does it Cost to run my side projects? This is going to be an interesting look at my spending, hopefully it can show you can do a lot without breaking the bank!&lt;/p&gt;
&lt;p&gt;I have a personal Azure subscription that I pay for myself. I don&amp;rsquo;t use anything connected to my work, as jobs change and I don&amp;rsquo;t want to have to shift stuff if I change employers (which happened quite recently). I like Azure, and I like learning what I can do with it, so spending small amounts on a personal subscription is not a problem for me.&lt;/p&gt;
&lt;p&gt;This is how much Azure is costing me daily, I like to keep an eye on this chart fairly often so I can see if I get any increases, especially if I have added a new service.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Azure Cost Analysis chart showing daily spend on a personal subscription" src="https://blog-test.funkysi1701.com/images/daily-costs.png" loading="lazy"
width="1204" height="780"
/&gt;
&lt;/p&gt;
&lt;p&gt;This is my monthly charges over the last few months. In Sept/Oct I switched from CosmosDB to Mongo DB Atlas as my database backend. Experience has told me that my biggest charge is data storage, websites are cheap but any database or storage is what tends to cost the most.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Azure Cost Analysis chart of monthly charges over recent months, including the CosmosDB to MongoDB Atlas switch" src="https://blog-test.funkysi1701.com/images/monthly-costs.png" loading="lazy"
width="1206" height="748"
/&gt;
&lt;/p&gt;
&lt;p&gt;This website you are reading this on (assuming you are not on DevTo or Hashnode) is running Hugo which runs on an Azure Static Web App, the free tier so almost free. I have two of these, a production one and a test one. Source code is on Github (another free service), and auto deploys via Github actions. I have a load of images which I have stuffed in blob storage from when I used to run a wordpress site, the cost for file storage is minimal.&lt;/p&gt;
&lt;p&gt;I also have a service I built using Azure Functions and Static Web Apps which makes use of public APIs like (Twitter/Mastodon/GitHub etc), data for this is stored in the free tier of Mongo DB Atlas. I then use consumption tier Azure Functions and Free Static Web App to do stuff. The definition of what I have deployed is all setup in Pulumi, so I have identical environments for Dev/Test/Prod mostly because I can rather than it being business critical or getting a lot of traffic.&lt;/p&gt;
&lt;p&gt;I currently have 240Mb of data in my free MongoDb database, I have 512 Mb max storage to play with. I have plenty of data to play with at this tier, but I may investigate other options that involve storing less or what costs might be. I previously made use of cosmosDB, which was costing me between £10-£20 per month, so not breaking the bank, but also cheaper to use MongoDB.&lt;/p&gt;
&lt;p&gt;Interrogating the Azure Cost Analysis tool reveals that my biggest cost is file storage (67p Prod, 101p Test and 93p Dev), I may investigate this a bit and see what is using this, but its not breaking the bank so I am pretty happy.&lt;/p&gt;
&lt;p&gt;So what else does it cost to run my things?&lt;/p&gt;
&lt;p&gt;My domains live on CloudFlare, I recently got a bill for £8.04 for a couple of renewals for the next 12 months. But I am struggling to think what else costs me to run my digital things.&lt;/p&gt;</description></item><item><title>Podcasts I have been listening to</title><link>https://blog-test.funkysi1701.com/posts/2023/what-have-i-been-listening-to-week2/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/what-have-i-been-listening-to-week2/</guid><category term="Podcast">Podcast</category><category term="Leadership">Leadership</category><category term="OpenSource">OpenSource</category><category term="StarTrek">StarTrek</category><category term="Mastodon">Mastodon</category><category term="Tests">Tests</category><media:content medium="image" type="image/jpeg" url="https://blog-test.funkysi1701.com/images/872.jpg"/><description>&lt;p&gt;Another week has gone by so here is a rundown of my podcasts listenings&amp;hellip;&lt;/p&gt;
&lt;h2 id="hachyderms-kris-nova-on-running-a-mastodon-server"&gt;Hachyderm’s Kris Nova on running a Mastodon Server&lt;a class="anchor ms-1" href="#hachyderms-kris-nova-on-running-a-mastodon-server" aria-label="Permalink: Hachyderm’s Kris Nova on running a Mastodon Server"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hanselminutes.com/872/hachyderms-kris-nova-on-running-a-mastodon-server" target="_blank" rel="noopener noreferrer"&gt;Hanselminutes episode 871&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;A great chat about how Hachderm grew as people moved from Twitter to Mastodon. You can find me on Hachyderm &lt;a href="https://hachyderm.io/@funkysi1701" target="_blank" rel="noopener noreferrer"&gt;https://hachyderm.io/@funkysi1701&lt;/a&gt;
Hachyderm saw amazing growth in a short space of time, so great to hear how that impacted the service, which Kris Nova provides for free in her own time.&lt;/p&gt;
&lt;h2 id="the-shipment"&gt;The Shipment&lt;a class="anchor ms-1" href="#the-shipment" aria-label="Permalink: The Shipment"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://podcasts.apple.com/gb/podcast/the-temporal-trek-podcast-season-3-episode-59-the-shipment/id1499160640?i=1000591042656" target="_blank" rel="noopener noreferrer"&gt;The Temporal Trek Season 3 episode 58&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;DanDan discuss the season 3 episode The Shipment, which sees Enterprise season 3 back on track, with a proper Star Trek story. But I can&amp;rsquo;t believe Dan forgot to include the DanDan jingle its why I tune in each week.&lt;/p&gt;
&lt;h2 id="trekranks-potpouri"&gt;TrekRanks Potpouri&lt;a class="anchor ms-1" href="#trekranks-potpouri" aria-label="Permalink: TrekRanks Potpouri"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.trekranks.com/trekranks-podcast" target="_blank" rel="noopener noreferrer"&gt;TrekRanks episode 150&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This was a great show celebrating 150 shows, and was a lucky dip into all the 149 topics that have been chosen before. Jim was caught out by the guests this week as they went above and beyond finding answers for all possible shows that could be picked. As always some great picks reminding me why I love the show.&lt;/p&gt;
&lt;h2 id="troy-hunts-weekly-update"&gt;Troy Hunt’s Weekly Update&lt;a class="anchor ms-1" href="#troy-hunts-weekly-update" aria-label="Permalink: Troy Hunt’s Weekly Update"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.troyhunt.com/weekly-update-327/" target="_blank" rel="noopener noreferrer"&gt;Weekly Update 327&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;I like listening to what Troy has been up to in the last week. (I am a bit behind as this show came out at Christmas time) Troy talks about Twitter and Elon Musk, and the LastPass data breach. I am a big fan of 1Password for my password manager but my employer uses LastPass&lt;/p&gt;
&lt;h2 id="troy-vinson-learning-from-the-rackspace-security-breach"&gt;Troy Vinson: Learning From the Rackspace Security Breach&lt;a class="anchor ms-1" href="#troy-vinson-learning-from-the-rackspace-security-breach" aria-label="Permalink: Troy Vinson: Learning From the Rackspace Security Breach"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=MsK5zaUogJ4" target="_blank" rel="noopener noreferrer"&gt;Azure DevOps Podcast Episode 225&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;An interesting look at security and the recent rackspace incident. I used to be a big fan of Rackspace but in recent years I have been more interested in cloud offerings like Azure.&lt;/p&gt;
&lt;h2 id="dr-gregory-kapfhammer-wants-to-stop-flaky-tests"&gt;Dr. Gregory Kapfhammer wants to stop flaky tests&lt;a class="anchor ms-1" href="#dr-gregory-kapfhammer-wants-to-stop-flaky-tests" aria-label="Permalink: Dr. Gregory Kapfhammer wants to stop flaky tests"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hanselminutes.com/874/dr-gregory-kapfhammer-wants-to-stop-flaky-tests" target="_blank" rel="noopener noreferrer"&gt;Hanselminutes episode 874&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;I am currently looking at fixing some flaky tests on a codebase I am not familiar with so this is a great podcast to listen to. The episode goes through common reactions to flaky tests, why tests get flaky and what to do about them.&lt;/p&gt;</description></item><item><title>What podcasts have I been listening to</title><link>https://blog-test.funkysi1701.com/posts/2023/what-have-i-been-listening-to/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Thu, 05 Jan 2023 00:00:00 +0000</pubDate><guid>https://blog-test.funkysi1701.com/posts/2023/what-have-i-been-listening-to/</guid><category term="Podcast">Podcast</category><category term="Leadership">Leadership</category><category term="OpenSource">OpenSource</category><category term="StarTrek">StarTrek</category><media:content medium="image" type="image/jpeg" url="https://blog-test.funkysi1701.com/images/dotnetrocks.jpg"/><description>&lt;p&gt;I love listening to podcasts so I thought I would share what I have been listening to over the last few days.&lt;/p&gt;
&lt;h2 id="source-open-vs-open-source-and-identityserver-with-dominick-baier-and-brock-allen"&gt;Source Open vs Open Source and IdentityServer with Dominick Baier and Brock Allen&lt;a class="anchor ms-1" href="#source-open-vs-open-source-and-identityserver-with-dominick-baier-and-brock-allen" aria-label="Permalink: Source Open vs Open Source and IdentityServer with Dominick Baier and Brock Allen"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.dotnetrocks.com/details/1824" target="_blank" rel="noopener noreferrer"&gt;.Net Rocks episode 1824&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;The creators of the open source project Identity Server which went commercial discuss the reasons for doing so. This was a very interesting discussion on the challenges of running open source projects and ways that they can be more maintainable. I have seen Twitter arguments on both sides about various products that have done this. It is a very nuanced problem, which I don’t know much about so interesting hearing what was involved.&lt;/p&gt;
&lt;h2 id="growing-as-an-engineering-manager-with-taylor-poindexter"&gt;Growing as an Engineering Manager with Taylor Poindexter&lt;a class="anchor ms-1" href="#growing-as-an-engineering-manager-with-taylor-poindexter" aria-label="Permalink: Growing as an Engineering Manager with Taylor Poindexter"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hanselminutes.com/871/growing-as-an-enginering-manager-with-taylor-poindexter" target="_blank" rel="noopener noreferrer"&gt;Hanselminutes episode 871&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;A discussion about being an engineering manager, mentoring and growing and learning. I am not a manager and I don’t have people that report to me, however, I am a senior developer so anything that can help me improve on the leadership side of things is great. On a side note, I love how diverse the guests are on Hanselminutes, I often listen to people on this show I would never have heard of or known about if I just stuck to topics I know about.&lt;/p&gt;
&lt;h2 id="top-5-scenes-at-a-table"&gt;Top 5 Scenes at a Table&lt;a class="anchor ms-1" href="#top-5-scenes-at-a-table" aria-label="Permalink: Top 5 Scenes at a Table"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.trekranks.com/trekranks-podcast" target="_blank" rel="noopener noreferrer"&gt;TrekRanks episode 149&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Star Trek for me has always been about positivity and Trek Ranks delivers this in spades. The concept, in case you don’t know, is to choose 5 episodes about the chosen topic, but it is really an excuse to talk about them! So what 5 scenes at a table would I choose?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Undiscovered Country - Dinner with the Klingons. Klingons, Shakespeare, terrible table manners what is not to love about this scene&lt;/li&gt;
&lt;li&gt;Q Who - Scene in the observation lounge with Q and Guinan as they discuss how to respond to the newly discovered Borg&lt;/li&gt;
&lt;li&gt;Civil Defence - Scene in Ops between Garak and Dukat while the crew hide from an automated phaser firing at them, the best bit is when Duakt tried to leave and ends up trapped with the rest of the crew&lt;/li&gt;
&lt;li&gt;Mirror, Mirror - Scene where Bones realises that some things are the same in the mirror universe, the spot where he spilt acid&lt;/li&gt;
&lt;li&gt;Unification Part 2 - Spock, Picard and Data have been captured by Sela, and Sela comments that she doesn’t get to write many speeches, and then Data comments that maybe she would be happy doing another job&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>