<?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>2021 on Funky Si's Blog (Dev)</title><link>https://blog-dev.funkysi1701.com/2021/</link><description>Recent content in 2021 on Funky Si's Blog (Dev)</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>Tue, 28 Dec 2021 20:00:45 +0000</lastBuildDate><atom:link href="https://blog-dev.funkysi1701.com/2021/index.xml" rel="self" type="application/rss+xml"/><item><title>Rediscovering BASIC as a language</title><link>https://blog-dev.funkysi1701.com/posts/2021/back-to-basic/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Tue, 28 Dec 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/back-to-basic/</guid><category term="BASIC">BASIC</category><category term="History">History</category><category term="Lynx">Lynx</category><media:content medium="image" type="image/jpeg" url="https://blog-dev.funkysi1701.com/images/FHi_NyOXEAo9YbG.jfif"/><description>&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;How exciting my Lynx Computer from my childhood has come home, all 96k of it &lt;a href="https://t.co/aeN38KBiS8"&gt;pic.twitter.com/aeN38KBiS8&lt;/a&gt;&lt;/p&gt;&amp;mdash; Simon Foster (@funkysi1701) &lt;a href="https://twitter.com/funkysi1701/status/1475139125154037760?ref_src=twsrc%5Etfw"&gt;December 26, 2021&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;I can&amp;rsquo;t remember the syntax for BASIC, luckily I have been able to find the &lt;a href="https://camputers.dk/lynxbooks.html" target="_blank" rel="noopener noreferrer"&gt;Manual&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;All the commands are listed inside so lets see what we can do.&lt;/p&gt;
&lt;p&gt;The Lynx presents you with a command prompt in which you can type text. Back in the 80s we had a tape player to load programs from tape, however I don&amp;rsquo;t have one today so only programs I write can be run.&lt;/p&gt;
&lt;p&gt;PRINT - To write Hello World, you can just type PRINT &amp;ldquo;Hello World&amp;rdquo; and Hello World appears on the screen. To Write a program that displays Hello World, you just write the line number first.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;10 PRINT &amp;#34;Hello World&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To run this you type RUN
To view the code you type LIST&lt;/p&gt;
&lt;p&gt;To Edit a specific Line you can use Ctrl+E and type the line number, or you can just write the line out again.&lt;/p&gt;
&lt;p&gt;CLS - This command clears the screen&lt;/p&gt;
&lt;p&gt;INPUT N - stores text typed by the user and stores it in the variable N&lt;/p&gt;
&lt;p&gt;GOTO N - Execution of code continues at Line Number N&lt;/p&gt;
&lt;p&gt;The first Program I wrote with a bit of help from my boys.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;10 CLS
20 PRINT &amp;#34;What is your Age?&amp;#34;
30 INPUT N
40 IF N&amp;gt;5 AND N&amp;lt;41 THEN PRINT &amp;#34;a good age&amp;#34;
50 ELSE IF N&amp;lt;6 THEN PRINT &amp;#34;a spaceman&amp;#34;
60 ELSE IF N&amp;gt;40 THEN PRINT &amp;#34;too old&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;My 4yo didn&amp;rsquo;t like being &amp;ldquo;too young&amp;rdquo; in the original version, so my 6yo helped me change him to be a &amp;ldquo;spaceman&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Not bad and it was fun pair programming with a 6yo, all my typos were quickly spotted, and he easily understood the logic of IF/ELSE/THEN statements.&lt;/p&gt;
&lt;p&gt;The Lynx comes from 1983 and has just 96k of memory. I am very lucky it actually still works, however I have been able to find an emulator so I can write Lynx BASIC from the comfort of my laptop. &lt;a href="https://jynxemulator.wordpress.com/" target="_blank" rel="noopener noreferrer"&gt;jynxemulator&lt;/a&gt;
, it is also on &lt;a href="https://github.com/jonathan-markland/Jynx" target="_blank" rel="noopener noreferrer"&gt;github&lt;/a&gt;
but it doesn&amp;rsquo;t include the ROMs so getting from the website is a better option.&lt;/p&gt;
&lt;p&gt;The developer experience today is so much nicer than it must have been in the 1980s, however back then distractions must have been much reduced.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No internet or google to get answers to your questions&lt;/li&gt;
&lt;li&gt;No Copy/Paste of text&lt;/li&gt;
&lt;li&gt;No Load/Save (unless you have a working disk drive or tape player!)&lt;/li&gt;
&lt;li&gt;No IDE&lt;/li&gt;
&lt;li&gt;No Build or Release process just type RUN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I then have additional sites, that I use as my playground for learning new tech. I can easily link between them and I can tweak the style so they &amp;ldquo;fit&amp;rdquo; nicely together.&lt;/p&gt;
&lt;p&gt;I am still considering what to do with dev.to. I like that I am using it as the backend for my blog posts, and its API gives me that flexibility to display that content where I want.&lt;/p&gt;</description></item><item><title>Comparing All Good Things and Picard</title><link>https://blog-dev.funkysi1701.com/posts/2021/a-comparison-of-all-good-things-and-star-trek-picard/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Wed, 15 Dec 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/a-comparison-of-all-good-things-and-star-trek-picard/</guid><category term="StarTrek">StarTrek</category><category term="Picard">Picard</category><media:content medium="image" type="image/jpeg" url="https://blog-dev.funkysi1701.com/images/picard.jpeg"/><description>&lt;p&gt;The final episode of Star Trek: The Next Generation features a few scenes set 25 years into the future. That episode aired May 1994. The newest Star Trek TV show Star Trek Picard has just aired its first episode and this is 25 years and 8 months after that episode. This article may contain minor spoilers for the first episode of Star Trek Picard, you have been warned.&lt;/p&gt;
&lt;p&gt;I thought it would be interesting to compare the two time periods.&lt;/p&gt;
&lt;h2 id="fate-of-picards-crew"&gt;Fate of Picards crew&lt;a class="anchor ms-1" href="#fate-of-picards-crew" aria-label="Permalink: Fate of Picards crew"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In All Good Things&amp;hellip; all of Picards crew are still alive except one. Deanna Troi passed away but it is never revealed how.&lt;/p&gt;
&lt;p&gt;In Star Trek Picard, we know Data has died as featured in the feature file Star Trek Nemesis. From the trailers we know Riker and Troi are still alive. We do not know the fate of Crusher, LaForge and Worf yet, but I am going to assume they are still alive somewhere.&lt;/p&gt;
&lt;p&gt;In both timelines we have one dead crew member.&lt;/p&gt;
&lt;h2 id="living-arrangements"&gt;Living arrangements&lt;a class="anchor ms-1" href="#living-arrangements" aria-label="Permalink: Living arrangements"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In both time lines Picard is living in France at his vineyard.&lt;/p&gt;
&lt;p&gt;In All Good Things&amp;hellip; we do not know who Picard is living with, it is assumed he lives alone, which is why Geordi feels the need to check on him, once he learns about his Irumodic Syndrome.&lt;/p&gt;
&lt;p&gt;In Star Trek Picard we learn that Picard is living with a Romulan couple, due to the involvement Picard made to save the Romulan people when their star went supernova. Picard appears older but for the most part in good health, he can&amp;rsquo;t for example run up a flight of stairs (he is 92 so not surprising really!) and is plagued by dreams from his past.&lt;/p&gt;
&lt;h2 id="romulan-neutral-zone"&gt;Romulan Neutral Zone&lt;a class="anchor ms-1" href="#romulan-neutral-zone" aria-label="Permalink: Romulan Neutral Zone"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In All Good Things&amp;hellip; there is no Neutral Zone, the Romulan empire has been taken over by the Klingons.&lt;/p&gt;
&lt;p&gt;In Star Trek Picard one would assume there is no Neutral Zone as well because the Romulan star system was destroyed. A handful of Romulans survived mostly due to the actions of Picard.&lt;/p&gt;
&lt;h2 id="looks"&gt;Looks&lt;a class="anchor ms-1" href="#looks" aria-label="Permalink: Looks"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As we have seen Patrick Stewart does not appear to be ageing. Below is a comparison of how he looks in the two time frames.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="All Good Things.." src="https://blog-dev.funkysi1701.com/images/2021/all-good-things.jpg" loading="lazy"
width="320" height="320"
/&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Star Trek Picard" src="https://blog-dev.funkysi1701.com/images/2021/picard.jpeg" loading="lazy"
width="880" height="479"
/&gt;
&lt;/p&gt;
&lt;p&gt;I really enjoyed the first episode of Star Trek Picard and it is going to be interesting seeing what other similarities and differences there are between it and All Good Things&amp;hellip;&lt;/p&gt;
&lt;p&gt;Did you know you can track episodes from TNG and Picard in &lt;a href="https://www.episodeatlas.com/" target="_blank" rel="noopener noreferrer"&gt;Episode Atlas&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Lone developer to senior, my 2021</title><link>https://blog-dev.funkysi1701.com/posts/2021/lone-developer-to-senior-developer-my-2021-story/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Sun, 05 Dec 2021 09:00:05 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/lone-developer-to-senior-developer-my-2021-story/</guid><category term="FestiveTechCalendar2021">FestiveTechCalendar2021</category><category term="Career">Career</category><category term="LifeStory">LifeStory</category><media:content medium="image" type="image/jpeg" url="https://blog-dev.funkysi1701.com/images/github/festivetechcalendar-calendar.jpg"/><description>&lt;h2 id="welcome-to-day-5-of-the-festive-tech-calendar"&gt;Welcome to Day 5 of the Festive Tech Calendar!&lt;a class="anchor ms-1" href="#welcome-to-day-5-of-the-festive-tech-calendar" aria-label="Permalink: Welcome to Day 5 of the Festive Tech Calendar!"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Usually at this time of year I like to take the opportunity to look back on the last 12 months, highlight some of my achievements and make a few goals for the new year.&lt;/p&gt;
&lt;p&gt;Like many of you 2021 has been a difficult year, but it has also been a year of change, and I am in a much better place now than at the start of the year.&lt;/p&gt;
&lt;p&gt;To tell you my 2021 story I first need to give you a bit of a history lesson about my career. So, lets fire up your flux capacitor (or Tardis of similar value) and journey back to 2006.&lt;/p&gt;
&lt;h3 id="back-to-2006"&gt;Back to 2006&lt;a class="anchor ms-1" href="#back-to-2006" aria-label="Permalink: Back to 2006"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In 2006 I got my first IT job. My housemate, who was working as an IT Manager for a small Health and Safety Company, suggested I come work with him. I was currently working an admin job with no idea what to do with my life, so I said yes.&lt;/p&gt;
&lt;p&gt;So, in October 2006 I joined as a member of the IT Team. I worked mainly on first line support, but as the IT department was small, I learnt about all sorts of IT things, from fixing printers, setting up the CEOs BlackBerry mobile phone with emails, administering active directory, writing SQL queries to swapping tapes for the weekly backups.&lt;/p&gt;
&lt;p&gt;The company had many faults which I won&amp;rsquo;t discuss here, but the work was varied, and I was always learning something new so I stayed with the company.&lt;/p&gt;
&lt;p&gt;At the end of 2010, the IT Manager resigned, shortly followed by the rest of the IT department. In January 2011 I was IT Manager, I had no staff, plenty of IT problems and no clue what I was doing.&lt;/p&gt;
&lt;p&gt;This was an amazing time for me, I learnt how to interview and hire staff, I learnt more about the different systems we used. It was approximately at this point in time that I switched from being exclusively a SysAdmin to starting to learn Development.&lt;/p&gt;
&lt;p&gt;I had been creating simple websites for a while, mainly using PHP and MySQL. But since I started working in IT I learned more and more about databases, SQL Server and writing T-SQL scripts. I was the companies &amp;ldquo;database guy&amp;rdquo;, so the company naturally asked me to do more and more database work. This led to learning other technologies like MS Access and C# so I could do more and solve more of the company&amp;rsquo;s problems.&lt;/p&gt;
&lt;p&gt;However, the company was small, and I would always be dragged in to fix SysAdmin problems so I never managed to spend 100% of my time doing development, so in 2016 I moved on to my first full time development job.&lt;/p&gt;
&lt;p&gt;The new job was great, but I kept in touch with my old CEO, Ally and helped out with bits of work on the side, writing SQL queries, updating the odd bespoke application.&lt;/p&gt;
&lt;h3 id="back-where-it-all-began"&gt;Back where it all began&lt;a class="anchor ms-1" href="#back-where-it-all-began" aria-label="Permalink: Back where it all began"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In 2019 I started formulating a plan to go back to my old job as a contract developer. To my amazement Ally almost bit my arm off to get me back, agreeing to all my terms. So, in the summer of 2019 I started full time as a contract developer, mostly working from home with the occasionally meeting in the office and supporting the business with IT issues.&lt;/p&gt;
&lt;p&gt;My second stint with the company was different than my first, I was able to concentrate almost exclusively on development work. As the only developer I was in full control of development, I decided to use dotnet and Blazor.&lt;/p&gt;
&lt;p&gt;Late in 2019 I was given advanced warning that the company was being sold. In Feb 2020 the company did get sold, the new owners kept me on to finish the project I was working on but made me a permanent member of staff. In March 2020, the whole company began to work from home due to COVID-19, with parts of the business being furloughed.&lt;/p&gt;
&lt;p&gt;This was a difficult time; on top of the stress the whole world was feeling from the global pandemic I was trying to assist with various IT integrations that you would expect when any company gets sold.&lt;/p&gt;
&lt;h3 id="january-2021"&gt;January 2021&lt;a class="anchor ms-1" href="#january-2021" aria-label="Permalink: January 2021"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This is pretty much where you find me in January 2021. I was working remotely developing internal applications with dotnet/Blazor with the occasional Teams meeting to demonstrate what I had built so far.&lt;/p&gt;
&lt;p&gt;Working on your own as a developer is great! You start work and can write code all day. There is no daily stand up, you don&amp;rsquo;t need to explain what you have been working on, or what challenges you are facing. You don&amp;rsquo;t have any process or formality to follow, only what you impose on yourself.&lt;/p&gt;
&lt;p&gt;I created a build/release pipelines in Azure DevOps, I created pull requests that would kick of a build, run my unit tests, and run some static code analysis. I would glance over my PRs but 99% of the time I would approve them.&lt;/p&gt;
&lt;p&gt;This was the greatest weakness of working on my own, no one to suggest ideas of better ways of writing code, no one to bounce ideas off, no one to encourage or be encouraged when I figured out something clever or offer to help you overcome a problem.&lt;/p&gt;
&lt;h3 id="redundancy"&gt;Redundancy&lt;a class="anchor ms-1" href="#redundancy" aria-label="Permalink: Redundancy"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In Mid July I was told that the development function was no longer required, and my job was at risk of redundancy. As I was the only one working in development it sounded very much like a done deal. I had a couple of redundancy meetings to attend and I would need to talk through how various applications worked as part of a handover.&lt;/p&gt;
&lt;p&gt;To be honest I agreed with the decision to make me redundant. New development work was not coming through, although the users of the applications I had developed loved what I had created, upper management were keen to migrate off these systems and use more centrally managed systems. If I was in charge, I would probably have made a similar difficult decision.&lt;/p&gt;
&lt;p&gt;As soon as I found out I was at risk of redundancy I called up a couple of recruitment agents I had spoken to before. They told me that it was a great time to be looking for a job and immediately arranged some interviews for the next week. I also took advantage of social media and asked on twitter if anyone was looking for developers like me. To my surprise this resulted in at least one interview.&lt;/p&gt;
&lt;p&gt;One thing I stressed in all my conversations with recruiters and companies I spoke with, was that I was looking for a &lt;strong&gt;team&lt;/strong&gt;. I wanted to work in a team, bounce ideas off others, mentor others, learn from others. This was the most important thing I wanted in whatever my next role was going to be.&lt;/p&gt;
&lt;p&gt;Other important things for me was continuing to use Azure or similar cloud technologies. However, I always think that the tech stack and technology can be learnt on the job, tech moves so quickly these days that you have to be constantly learning to stay relevant.&lt;/p&gt;
&lt;p&gt;About two weeks after I first found out about my impending redundancy I contacted (or more likely was contacted by) a third recruitment agency. It was this third one that eventually got me a job, however all three were brilliant, and kept me updated and answered all of my questions.&lt;/p&gt;
&lt;p&gt;The next few days were packed with phone calls, interviews, tech tests. I had a lot of different types of companies that I spoke with, from Software Consultancy companies, FinTech companies, Energy suppliers, Legal companies and many others.&lt;/p&gt;
&lt;p&gt;During this time of interviews, I can think of only two in person interviews. The rest made use of Teams, Zoom, Google Meet and even Skype (yes at least one company still uses it for video chats!)&lt;/p&gt;
&lt;p&gt;The usual way the process went was a conversation with the recruiter about a role after which my details were sent to the company, If the company liked the sound of me an initial informal interview was arranged, after that a second more technical interview was held, sometimes there would be a tech test, sometimes it was more technical questions being asked in the interview. Some companies had more stages that this, but this was what I typically encountered.&lt;/p&gt;
&lt;p&gt;I lost count of the actual number of interviews I had, but I used a spreadsheet to try and keep it all straight in my mind. The last thing I wanted was to ask a question about the wrong company!&lt;/p&gt;
&lt;h3 id="positive-no"&gt;Positive No&lt;a class="anchor ms-1" href="#positive-no" aria-label="Permalink: Positive No"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I got plenty of noes from these interviews, however all were phrased as a positive no. That being they liked me as a person but something about my skill or experience wasn&amp;rsquo;t quite right. A friend once described me as an odd mix of junior and senior developer. I agree with that statement, I have a lot of experience in some areas and a real lacking in others.&lt;/p&gt;
&lt;p&gt;A common one was working in a team. Being a lone developer is not good for gaining experience working in a team. However, each time I spoke with companies I stressed that the &lt;strong&gt;team&lt;/strong&gt; was what I was looking for.&lt;/p&gt;
&lt;p&gt;Another weakness of mine is front end. When I am building something, functionality is more important than getting it looking good. I came from a database and backend start, so it is only natural that I am more at home working on these things. Also, my most recent projects are working with Blazor, which is brand new and few companies are doing much with it yet.&lt;/p&gt;
&lt;p&gt;I tried really hard not to be discouraged by these noes and that the right company was just around the corner. One no hit harder than most. I had an initial chat with the team of a FinTech Company and then there was a second interview with the CTO which I felt had gone OK.&lt;/p&gt;
&lt;p&gt;From what I had heard it ticked a lot of boxes, the team sounded good, with lots of support and development opportunities and they were moving to the Cloud, so my Azure experience sounded ideal. The CTO liked me and thought I would be a good fit, but I was part way between a junior and a senior, so he had gone away to try and make a bespoke role for me, eventually it would be a no.&lt;/p&gt;
&lt;p&gt;Looking back, it is easy to see, that this was really encouraging. They tried to create a bespoke role for me! However, at the time all I could think about was all the noes I was hearing.&lt;/p&gt;
&lt;h3 id="the-job-for-me"&gt;The job for me&lt;a class="anchor ms-1" href="#the-job-for-me" aria-label="Permalink: The job for me"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;About the same time, I had my initial interview with the company I would eventually accept a role with. I kept being told that there was a tech test to do, but for some reason it never got sent to me, so the interview featured a lot of tech questions and they really grilled me. I came away without much of a sense of if it went well or not.&lt;/p&gt;
&lt;p&gt;However, they liked me and wanted me to do a presentation at their office. I am rubbish at public speaking and doing presentations, so I thought I will do this presentation, but it is very unlikely they will like what I do.&lt;/p&gt;
&lt;p&gt;The topic of my presentation was how I upskilled a team on a new project or technology. As a lone developer what an earth could I do for a topic like that? I thought about what I had done to upskill myself on various things, however that doesn&amp;rsquo;t really address the question, as they wanted to know more about what I had done to upskill a team.&lt;/p&gt;
&lt;p&gt;I thought back to a time when I helped get a largely un-version controlled codebase into source control and automated the build and release pipeline using Azure and Azure DevOps. This involved talking to SQL and data developers so could be a better option for a presentation.&lt;/p&gt;
&lt;p&gt;I arrived at the office to do my presentation. First of all, I parked next to the factory where all the forklifts were, I was directed to the correct place to park. Then I tried to go to the wrong building, a very helpful employee helped me go to the correct place. I was introduced to the people who would be interviewing me, one of whom I had worked with in the past, who immediately said you should hire this guy, he is an excellent developer! As introductions go, that&amp;rsquo;s not bad!&lt;/p&gt;
&lt;p&gt;In my opinion the presentation was bad. I didn&amp;rsquo;t have a PowerPoint or similar to go with my talk, so I just waffled on for ten minutes about what I had done a few years back about how I helped get source control being used.&lt;/p&gt;
&lt;h3 id="the-next-day-i-got-the-job-offer"&gt;The next day I got the job offer.&lt;a class="anchor ms-1" href="#the-next-day-i-got-the-job-offer" aria-label="Permalink: The next day I got the job offer."&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I was very surprised to get the offer as I thought I had done so badly the day before they would give me another positive no. I took a few hours to think about it, however all my other applications were either not started or waiting for the next stage, so I was 99% sure I would accept.&lt;/p&gt;
&lt;p&gt;I had no idea what to expect when I started, as I didn&amp;rsquo;t really ask many questions at the last interview as I was convinced, I was going to get a no after my presentation.&lt;/p&gt;
&lt;p&gt;I worked my notice period and at the start of October I started my new job. My contract only arrived the day before I started, so in the days before I started my mind was making up reasons why the job would disappear.&lt;/p&gt;
&lt;p&gt;The job started with a two-day induction. Things that were covered on the induction were, mental health, sleep cycles, company values, health and safety and of course a bit of form filling and photocopying passports that you would expect on a first day.&lt;/p&gt;
&lt;h3 id="conclusion"&gt;Conclusion&lt;a class="anchor ms-1" href="#conclusion" aria-label="Permalink: Conclusion"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Back when I had been job hunting, each time I stressed the importance of team. The company I had joined had an amazing focus on supporting its staff and getting the best from each other. I had got the best possible fit for the kind of team I was looking for.&lt;/p&gt;
&lt;p&gt;Usually when I start a new job, I get a large dose of imposter syndrome. Now, two months after I started, I can say, I didn&amp;rsquo;t really get that this time. Maybe it is how the team functions, maybe it is my level of experience, or maybe its just something else.&lt;/p&gt;
&lt;p&gt;I am happy in my new job. There is a lot to learn, both technology and how to work well in this team. But I am supported, there are people to ask question, I am contributing almost from day one. I have already shared a brief talk about my experience with Blazor, which went down better than I expected. I am excited to learn what is next for me.&lt;/p&gt;
&lt;p&gt;If you have read all the way to here, Thank you! This is my story and I hope you have found it interesting. If you are looking for a new role, I would encourage you to focus on the soft skills you are looking for next, if you concentrate on team like I did, there is a good chance you will land in an amazing team.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t forget to check out some of the other great content that is being created by all the amazing &lt;a href="https://festivetechcalendar.com/" target="_blank" rel="noopener noreferrer"&gt;Festive Calendar 2021&lt;/a&gt;
contributors.&lt;/p&gt;</description></item><item><title>2021 mid-year review and progress</title><link>https://blog-dev.funkysi1701.com/posts/2021/more-than-halfway-through-2021/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Tue, 31 Aug 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/more-than-halfway-through-2021/</guid><category term="Goals">Goals</category><description>&lt;p&gt;We are over halfway through 2021, let&amp;rsquo;s have a quick look at some things I have done this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Deployed a new version of the Pre Qualification questionnaire website for my employers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Passed Azure Fundamentals Exam&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mongo DB Atlas - experimented with using it for auditing my application&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SonarCloud - tried to improve the quality of my code&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Azure DevOps API -&amp;gt; built an application to show builds and releases from my Azure DevOps organisation, code is on github&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Experimented with replacing SQL Agent Jobs with Azure Functions, ended up abandoning this project but was a great learning experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Played with MS Graph - displaying profile pic from Azure AD but I am the only one in my org with a photo so abandoned this as well&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Added a captch to a website to reduce spam&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Charted my Gas and Electricity usage using the Octopus Energy API&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Charted various metrics from services I use, eg twitter followers, github commits, blog posts published&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Started learning react, easily connected it with Azure AD&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrated my employers project management system with a postcode API and google maps so can see where in the country different projects are located&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tested dotnet 6 preview and the latest Visual Studio 2022 preview&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I was made redundant and got a new job&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wrote my first piece of dotnet code to run on a Raspberry Pi&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Kept cost of Azure down, by removing unused services, refactoring and optimizing existing services.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wow, I have done loads this year, what is next?&lt;/p&gt;</description></item><item><title>My road to Certification</title><link>https://blog-dev.funkysi1701.com/posts/2021/my-road-to-certification/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Tue, 11 May 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/my-road-to-certification/</guid><category term="Azure">Azure</category><category term="Certification">Certification</category><media:content medium="image" type="image/png" url="https://blog-dev.funkysi1701.com/images/dev-to/eytphopn3inx2x77m9n5.png"/><description>&lt;p&gt;So today I sat the Azure Fundamentals Certification Exam and passed!
&lt;img class="img-fluid" alt="Alt Text" src="https://blog-dev.funkysi1701.com/images/dev-to/eytphopn3inx2x77m9n5.png" loading="lazy"
width="600" height="600"
/&gt;
&lt;/p&gt;
&lt;p&gt;Really pleased with myself at achieving this. It was one of my goals for 2021 so I can tick that off.&lt;/p&gt;
&lt;p&gt;Back in January I booked my first exam, however due to technical problems I didn&amp;rsquo;t get as far as the Exam. In order to be able to sit an exam like this you need a webcam and microphone so you can be monitored remotely to check that you are not cheating. Something in my network was blocking them from seeing my video so it got cancelled before it started.&lt;/p&gt;
&lt;p&gt;My theory is that either my internet connection was playing up at the time, My Pi Hole was blocking something, or something else on my network was blocking the video feed.&lt;/p&gt;
&lt;p&gt;This cancellation put me off Certifications, as I wasn&amp;rsquo;t sure how to debug the issue and find out exactly what the problem was.&lt;/p&gt;
&lt;p&gt;A few months back I won a free Azure Certification for taking part in a skills challenge run by &lt;a href="https://twitter.com/gregor_suttie" target="_blank" rel="noopener noreferrer"&gt;Gregor Suttie&lt;/a&gt;
and &lt;a href="https://twitter.com/Pixel_Robots" target="_blank" rel="noopener noreferrer"&gt;Richard Hooper&lt;/a&gt;
and this was due to expire at the end of this month so I thought why not book a second exam and see if I can get past the technical problems. I didn&amp;rsquo;t do any exam prep as I thought, I wouldn&amp;rsquo;t get that far.&lt;/p&gt;
&lt;p&gt;This time I connected directly to my router, bypassing most of the network, firewall and other items on my network that could possibly cause an issue.&lt;/p&gt;
&lt;p&gt;I cleared my desk, took photos of my ID, took pictures of my desk from every orientation, and waited for the technical issues to start.&lt;/p&gt;
&lt;p&gt;I was in a queue waiting for the exam to start.&lt;/p&gt;
&lt;p&gt;A connection issue has occurred you have been sent to the back of the queue. Oh here we go again!&lt;/p&gt;
&lt;p&gt;But no I connected with the invigilator, who asked to confirm my monitors were disconnected and to move my wallet out of reach off my desk.&lt;/p&gt;
&lt;p&gt;And we are off, I am answering questions from the exam.&lt;/p&gt;
&lt;p&gt;I won&amp;rsquo;t go into detail about the questions, but I whizzed through them, most made me think, some I guessed at. I wasn&amp;rsquo;t expecting to pass, I thought maybe half marks or just under due to my familiarity with Azure. (I have been using it for years which must count for something!)&lt;/p&gt;
&lt;p&gt;I was wrong I passed comfortably and now I have my first certification.&lt;/p&gt;
&lt;p&gt;My advice for you if you have been using Azure for a while is to book this exam and see how you do, you may well pass like me. There are plenty of opportunities to get a free exam, attending conferences like Ignite often qualify you for one, look out for challenges and competitions by #AzureFamily people on twitter as they are very encouraging and helpful in your Certification journey.&lt;/p&gt;
&lt;p&gt;And yes I am thinking about what Certificate to do next!&lt;/p&gt;</description></item><item><title>DotNet on a Raspberry Pi</title><link>https://blog-dev.funkysi1701.com/posts/2021/dotnet-on-a-raspberry-pi/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Mon, 10 May 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/dotnet-on-a-raspberry-pi/</guid><category term="RaspberryPi">RaspberryPi</category><category term="DotNet">DotNet</category><media:content medium="image" type="image/jpeg" url="https://blog-dev.funkysi1701.com/images/dev-to/e21z7vbamy6w6akhhiwd.jpg"/><description>&lt;p&gt;I have had a Raspberry Pi for a few years and recently I connected it up again, I plugged in the camera and everything worked.&lt;/p&gt;
&lt;p&gt;To start off you can view photos from the camera with the raspistill command. With a bit of clever scripting and the crontab I got the Pi taking pictures every 60 seconds. Even managed to take a nice picture of a robin.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="Alt Text" src="https://blog-dev.funkysi1701.com/images/dev-to/e21z7vbamy6w6akhhiwd.jpg" loading="lazy"
width="547" height="699"
/&gt;
&lt;/p&gt;
&lt;p&gt;However scripting isn&amp;rsquo;t really programming, and I would like to write a bit more code. Dotnet can run everywhere these days and it made sense to see if it would run on a Raspberry Pi.&lt;/p&gt;
&lt;p&gt;@pete_codes has written a nice guide to getting started with dotnet on a Raspberry Pi &lt;a href="https://www.petecodes.co.uk/install-and-use-microsoft-dot-net-5-with-the-raspberry-pi/" target="_blank" rel="noopener noreferrer"&gt;https://www.petecodes.co.uk/install-and-use-microsoft-dot-net-5-with-the-raspberry-pi/&lt;/a&gt;
This guide and the nuget package &lt;a href="https://www.nuget.org/packages/Unosquare.Raspberry.IO/" target="_blank" rel="noopener noreferrer"&gt;https://www.nuget.org/packages/Unosquare.Raspberry.IO/&lt;/a&gt;
was all I needed to get started taking pictures with my Pi.&lt;/p&gt;
&lt;p&gt;My initial goal is to take some wildlife pictures, stick my camera to a window and take pictures of what flies/crawls/jumps past the window.&lt;/p&gt;
&lt;p&gt;The code I have written so far is available on github &lt;a href="https://github.com/funkysi1701/RaspberryPiDotNet" target="_blank" rel="noopener noreferrer"&gt;https://github.com/funkysi1701/RaspberryPiDotNet&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;So far the code takes a picture, uploads this file to Azure Blob Storage (so as not to fill up the Pi with too many image files) and deletes the image locally.&lt;/p&gt;
&lt;p&gt;Run a dotnet publish -c Release and then cron can run dotnet RaspberryPiDotNet.dll (with full paths to the relevant files)&lt;/p&gt;
&lt;p&gt;I then use crontab to execute the code every 60 seconds.&lt;/p&gt;
&lt;p&gt;My code has an appsetting.json file which has a couple of settings that need completing for my code to work.&lt;/p&gt;
&lt;p&gt;Storage: This is the connection string for Azure Blob Storage
LocalPath: This is the path to where the camera will save its photos to, something like /home/pi/ is all you need but feel free to specify what you need.&lt;/p&gt;
&lt;p&gt;Once the photos are in blob storage I plan to display them somewhere, add options to delete what I don&amp;rsquo;t want, maybe do something timelapsey.&lt;/p&gt;
&lt;p&gt;I also don&amp;rsquo;t have a proper release pipeline and this grates on me a bit. I have been doing a mixture of writing code in VS and pushing that to github and then doing git pull on the Pi, and also writing code directly on the Pi. (VS Code can connect via SSH which is pretty cool!)&lt;/p&gt;</description></item><item><title>Chart energy use with Octopus API</title><link>https://blog-dev.funkysi1701.com/posts/2021/charting-my-energy-usage-with-the-octopus-energy-api/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Sun, 07 Mar 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/charting-my-energy-usage-with-the-octopus-energy-api/</guid><category term="API">API</category><category term="OctopusEnergy">OctopusEnergy</category><media:content medium="image" type="image/png" url="https://blog-dev.funkysi1701.com/images/dev-to/63ep8hp6ipyn2l4emiop.png"/><description>&lt;p&gt;
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/63ep8hp6ipyn2l4emiop.png" loading="lazy"
width="774" height="622"
/&gt;
&lt;/p&gt;
&lt;p&gt;Back when I was a kid, I used to record our weekly gas and electricity meter readings in a little notebook. We then typed these reading into a spreadsheet (this was in the pre-Excel days), which allowed plotting as a line graph.&lt;/p&gt;
&lt;h2 id="how-would-i-go-about-doing-a-similar-thing-today"&gt;How would I go about doing a similar thing today?&lt;a class="anchor ms-1" href="#how-would-i-go-about-doing-a-similar-thing-today" aria-label="Permalink: How would I go about doing a similar thing today?"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;First off, I have a smart meter that submits meter readings every 30 minutes or so. However, I do not know anyway to get access to these readings directly, short of manually recording them like I did 30 years ago!&lt;/p&gt;
&lt;p&gt;Octopus Energy have a public API which allows you to pull your consumption readings. The smart meter sends your usage to your energy supplier, in my case Octopus, they then process these readings and allow them to be queried with an API they have created. It is not a direct connection to your data, but it is the next best thing.&lt;/p&gt;
&lt;p&gt;Other energy suppliers will hopefully follow this example and allow users access to their consumption data.&lt;/p&gt;
&lt;h2 id="how-do-i-use-the-api"&gt;How do I use the API?&lt;a class="anchor ms-1" href="#how-do-i-use-the-api" aria-label="Permalink: How do I use the API?"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Using the API is straight forward. Octopus supply you with a secret which you use to authenticate against the API with Basic Auth, no password just a username. Then you just need to pass some details of your meters to get an object containing the last few days meter readings.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.octopus.energy/rest/reference/" target="_blank" rel="noopener noreferrer"&gt;API Docs&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET /v1/electricity-meter-points/{mpan}/meters/{serial_number}/consumption/&lt;/li&gt;
&lt;li&gt;GET /v1/gas-meter-points/{mprn}/meters/{serial_number}/consumption/&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;{mpan}/{mprn} of your gas or electricity meter, and {serial_number} is the serial number of the meters.&lt;/p&gt;
&lt;p&gt;Something to be aware of, I initially collected the last days consumption, which worked, however on one day I encountered a gap in the data for electricity. So, I changed to collect and store the last month&amp;rsquo;s data. I can then query this for what I need.&lt;/p&gt;
&lt;p&gt;Usually, the last 24 hours of data is available after midnight of that day. e.g. at midnight 2nd March all the data for 1st March should be available. This is not guaranteed so don&amp;rsquo;t rely on it, however I see no problem with having a few days delay between charting your usage.&lt;/p&gt;
&lt;p&gt;I am still testing this out but so far, I have three charts for gas (and the same for electricity), the first chart covers a 24-hour period, the next covers a day total over 2 weeks, the final chart covers a total for each month (as I write this I have less than a month&amp;rsquo;s worth of data!)&lt;/p&gt;
&lt;p&gt;For the day and 2 weeks charts, I plot a comparison line of the previous period so you can easily compare the current and previous usage. From my limited testing I have already discovered my usage is very similar day to day.&lt;/p&gt;
&lt;p&gt;Another point of interest is that gas consumption is in m^3 and electricity is in kW/h.
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/r5d35ceh0q5zgc15vos8.png" loading="lazy"
width="787" height="621"
/&gt;
&lt;/p&gt;
&lt;p&gt;If you are interested in trying the Octopus Energy API, here is a referral &lt;a href="https://share.octopus.energy/amber-eel-810" target="_blank" rel="noopener noreferrer"&gt;link&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Azure DevOps pre and post approvals</title><link>https://blog-dev.funkysi1701.com/posts/2021/azure-devops-release-pipelines-pre-and-post-approval/</link><author>funkysi1701@gmail.com (funkysi1701)</author><pubDate>Sun, 14 Feb 2021 20:00:45 +0000</pubDate><guid>https://blog-dev.funkysi1701.com/posts/2021/azure-devops-release-pipelines-pre-and-post-approval/</guid><category term="AzureDevOps">AzureDevOps</category><category term="DevOps">DevOps</category><category term="Azure">Azure</category><media:content medium="image" type="image/png" url="https://blog-dev.funkysi1701.com/images/dev-to/9k6vo6pfv434u7yq3mt4.png"/><description>&lt;p&gt;Azure DevOps release pipelines have lots of options to do things how you want. One of my favourites is the option for approval.&lt;/p&gt;
&lt;p&gt;There are two ways you can do approvals Pre and Post deployment. Lets look at both.&lt;/p&gt;
&lt;h2 id="pre-deployment-approval"&gt;Pre Deployment Approval&lt;a class="anchor ms-1" href="#pre-deployment-approval" aria-label="Permalink: Pre Deployment Approval"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/9k6vo6pfv434u7yq3mt4.png" loading="lazy"
width="2646" height="1048"
/&gt;
&lt;/p&gt;
&lt;p&gt;Lets imagine you have a simple deployment pipeline that deploys to a test/development environment before deploying to a production environment.&lt;/p&gt;
&lt;p&gt;Pre Deployment Approval happens immediately before the release so in this example, click in the ellipse before the Prod release step.&lt;/p&gt;
&lt;p&gt;You will get a screen like the above, you can select what users need to approve it and how long approval waits before timing out, the default is 30 days, but I tend to use a shorter time out of 3 days.&lt;/p&gt;
&lt;h2 id="post-deployment-approval"&gt;Post Deployment Approval&lt;a class="anchor ms-1" href="#post-deployment-approval" aria-label="Permalink: Post Deployment Approval"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/reiulrhinzqyyon6mrqi.png" loading="lazy"
width="2644" height="809"
/&gt;
&lt;/p&gt;
&lt;p&gt;Post Deployment Approval happens immediately after the release so in this example, click in the circle after the Test release step.&lt;/p&gt;
&lt;p&gt;You will get a screen like the above, with the same settings as before.&lt;/p&gt;
&lt;p&gt;That is pretty much all there is to approvals so either option will prompt you to approve before anything gets deployed to your production environment.&lt;/p&gt;
&lt;h2 id="deployment-hours"&gt;Deployment Hours&lt;a class="anchor ms-1" href="#deployment-hours" aria-label="Permalink: Deployment Hours"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To complicate matters I make use of the following setting to define deployment hours.
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/aku2z0dl3m3xkvfvh7wd.png" loading="lazy"
width="2592" height="1318"
/&gt;
&lt;/p&gt;
&lt;p&gt;This setting will start the Prod deployment at 3am Mon-Fri.&lt;/p&gt;
&lt;p&gt;If I configure Post Deployment Approval, as soon as my deploy to Test has completed a request for Approval is sent.&lt;/p&gt;
&lt;p&gt;If I configure Pre Deployment Approval, at 3am Mon-Fri a request for Approval is sent (not ideal if you tend to be asleep at 3am)&lt;/p&gt;
&lt;p&gt;So it looks like Post Deployment Approval is more useful for my use case. However if you deny approval either in Pre or Post approval this will mark the deployment as failed and show Red in your list of deployments.&lt;/p&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/vichyb1srgc1ln85hj0o.png" loading="lazy"
width="840" height="377"
/&gt;
&lt;/p&gt;
&lt;p&gt;From a casual glance it looks like the deployment to Test is failing, it isn&amp;rsquo;t I am just opting to not continue my deployment to production.&lt;/p&gt;
&lt;h2 id="my-pipeline"&gt;My Pipeline&lt;a class="anchor ms-1" href="#my-pipeline" aria-label="Permalink: My Pipeline"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;img class="img-fluid" alt="image" src="https://blog-dev.funkysi1701.com/images/dev-to/9kprp90t59owfmsmqkcp.png" loading="lazy"
width="3059" height="762"
/&gt;
&lt;/p&gt;
&lt;p&gt;This is how I have my pipeline setup. Deployment happens on Test and doesn&amp;rsquo;t have a post approval step.&lt;/p&gt;
&lt;p&gt;After Test an empty stage called Approval runs and that has a post deployment approval, this happens immediately after Test so you get asked straight away for approval.&lt;/p&gt;
&lt;p&gt;Prod does not start as I have my deployment hours configured. Once it is time for deployment to Prod to start it executes.&lt;/p&gt;
&lt;p&gt;Now a casual look at my past releases, you can easily see which have been stopped by approval and which have failed due to whatever issue, and which have run all the way through to Prod.&lt;/p&gt;
&lt;p&gt;And deployments to Prod can only ever run during my defined deployment window.&lt;/p&gt;
&lt;p&gt;I am interested to hear how you have your deployment pipeline setup. Do you make use of Pre or Post Approvals? Do you ensure deployments always happen at specific times?&lt;/p&gt;</description></item></channel></rss>