<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blogs on Ali Cigari - jack of all trades</title><link>https://cigari.co.uk/blog/</link><description>Recent content in Blogs on Ali Cigari - jack of all trades</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 13 Feb 2025 21:00:00 +0000</lastBuildDate><atom:link href="https://cigari.co.uk/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Sorry - why isn't everyone using Polars now?</title><link>https://cigari.co.uk/blog/2025-02-13-why-isnt-everyone-using-polars/</link><pubDate>Thu, 13 Feb 2025 21:00:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2025-02-13-why-isnt-everyone-using-polars/</guid><description>&lt;img src="img/narwhals.png">
&lt;h1 id="sorry---why-isnt-everyone-using-polars-now">Sorry - why isn&amp;rsquo;t everyone using Polars now?&lt;/h1>
&lt;p>Pandas is synonymous with data science. I used to work more in the data space, I was Head of Data Science at Waybridge and did a ton of data science in my own startup Wattson Blue. However, more recently I have been doing more software engineering; as such I have not actively been looking at what is the most performant way of playing with data (since everyone just uses pandas!).&lt;/p></description></item><item><title>Getting hired at a better team/company as a software engineer.</title><link>https://cigari.co.uk/blog/2024-10-26-become-a-better-software-engineer/</link><pubDate>Sat, 26 Oct 2024 10:00:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2024-10-26-become-a-better-software-engineer/</guid><description>&lt;h1 id="the-challenge-of-hiring-software-engineers">The Challenge of Hiring Software Engineers&lt;/h1>
&lt;p>As I&amp;rsquo;ve been conducting interviews for software engineering positions across various teams in my company, I&amp;rsquo;ve observed a concerning pattern: many candidates lack the fundamental skills required for our team.&lt;/p>
&lt;h2 id="common-interview-challenges">Common Interview Challenges&lt;/h2>
&lt;p>Key issues I&amp;rsquo;ve encountered include:&lt;/p>
&lt;ul>
&lt;li>Python developers struggling with core language concepts and problem-solving&lt;/li>
&lt;li>Mid to senior engineers unable to articulate architectural decisions or describe their systems&lt;/li>
&lt;li>Limited experience with production incident management&lt;/li>
&lt;li>Unfamiliarity with modern software development practices&lt;/li>
&lt;/ul>
&lt;h2 id="modern-software-engineering-isnt-rocket-science">Modern Software Engineering Isn&amp;rsquo;t Rocket Science&lt;/h2>
&lt;p>The field of software engineering is surprisingly approachable – it&amp;rsquo;s one of the aspects that initially drew me to it. While building great software requires careful consideration, and teams benefit from both exceptional performers and reliable contributors, the fundamental principles remain straightforward.&lt;/p></description></item><item><title>Building a PoC with ChatGPT</title><link>https://cigari.co.uk/blog/2023-08-30-building-with-chatgpt/</link><pubDate>Wed, 30 Aug 2023 19:33:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2023-08-30-building-with-chatgpt/</guid><description>&lt;p>I had a couple of hours to spare this morning and I thought it would be fun to do something productive. OK, maybe not productive, but something that might make me feel productive.&lt;/p>
&lt;p>I had seen people on Twitter claiming to build a proof of concept they had within a few hours with the help of ChatGPT, so I decided to test it out for myself.&lt;/p>
&lt;p>Wondering a little bit about what I could build, I remembered I have been meaning to ‘print to PDF’ a few newsletters so I can read them on my iPad to make notes, etc. So this became the task:&lt;/p></description></item><item><title>A few weeks with Dagster</title><link>https://cigari.co.uk/blog/2023-07-14-a-few-weeks-with-dagster/</link><pubDate>Fri, 14 Jul 2023 16:43:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2023-07-14-a-few-weeks-with-dagster/</guid><description>&lt;h1 id="a-few-weeks-with-dagster">A few weeks with Dagster&lt;/h1>
&lt;p>I have recently been setting up my first ML Ops infrastructure. The space is a bit of a minefield, with so many components including data pipeline tools, feature stores, model registries, model serving tools, data monitoring and more.&lt;/p>
&lt;p>🤯&lt;/p>
&lt;p>You have to start somewhere and after doing a bit of thinking and planning, I decided starting with a solid data pipeline tool would be a good place to start. The space is a bit scattered right now. I am sure it will look very different in a couple of years time, but one of the more modern tools that seems to be getting tracking is &lt;a href="https://dagster.io/">Dagster&lt;/a>.&lt;/p></description></item><item><title>(Relative) imports in python</title><link>https://cigari.co.uk/blog/2023-07-08-relative-imports-in-python/</link><pubDate>Sat, 08 Jul 2023 18:43:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2023-07-08-relative-imports-in-python/</guid><description>&lt;h1 id="realtive-imports-in-python">Realtive imports in python&lt;/h1>
&lt;p>I sometimes prioritize delivery speed in my work and may overlook certain concepts that I can work around. One such concept is relative imports in &lt;code>python&lt;/code>. I am certainly not the first developer to encounter the following error when executing a random Python script:&lt;/p>
&lt;pre tabindex="0">&lt;code>ImportError: attempted relative import with no known parent package
&lt;/code>&lt;/pre>&lt;p>So here is my attempt to explain to myself what is going on.&lt;/p>
&lt;h2 id="difference-between-a-package-and-a-module">Difference between a package and a module&lt;/h2>
&lt;p>Let&amp;rsquo;s start with the fundamentals. A module refers to a file containing Python code, while a package is a folder that houses Python code/modules. A package can include both modules and other packages.&lt;/p></description></item><item><title>A foolproof way of figuring out which companies you shouldn't work for</title><link>https://cigari.co.uk/blog/2023-02-07-a-foolproof-way-of-figuring-out-which-companies-you-shouldnt-work-for/</link><pubDate>Tue, 07 Feb 2023 18:32:06 +0000</pubDate><guid>https://cigari.co.uk/blog/2023-02-07-a-foolproof-way-of-figuring-out-which-companies-you-shouldnt-work-for/</guid><description>&lt;p>Simply follow the steps below:&lt;/p>
&lt;ol>
&lt;li>Decide on a company that you are considering working for.&lt;/li>
&lt;li>Start a browser in incognito/private mode.&lt;/li>
&lt;li>Go to the said company&amp;rsquo;s website.&lt;/li>
&lt;li>View their &amp;ldquo;Cookie Banner&amp;rdquo;, and select the option that best describes the mess that&amp;rsquo;s their &amp;ldquo;Cookie Banner&amp;rdquo;:
&lt;ol>
&lt;li>&lt;strong>There is a simple &amp;ldquo;Accept&amp;rdquo; and/or &amp;ldquo;Deny/Accept only essential&amp;rdquo; option.&lt;/strong>&lt;/li>
&lt;li>The UI is designed to lead you to tap &amp;ldquo;Accept all&amp;rdquo; unless it&amp;rsquo;s 9am, you have had your 8 hours of sleep, and have had 3 cups of coffee already.&lt;/li>
&lt;li>There is a list of 30 vendors which you have to go through, and manually accept/deny.&lt;/li>
&lt;li>You have to scroll for about 25 minutes to get to the Deny button.&lt;/li>
&lt;li>You get a multiple choice of performance, marketing, analytics, function, and possibly a few more.&lt;/li>
&lt;li>Once you select &amp;ldquo;Deny&amp;rdquo;, the banner starts showing you a &amp;ldquo;loading&amp;rdquo; component that shows their progress in switching off all the cookies.&lt;/li>
&lt;li>There is any mention of the word &amp;ldquo;legitimate interest&amp;rdquo; anywhere on the cookie banner.&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>If you have selected option (1), go ahead and explore the company further to see if they may be a good fit for your next adventure.&lt;/li>
&lt;li>If you have selected any other option, under no circumstances should you be working for this company. Go back to step 1 and start again.&lt;/li>
&lt;/ol>
&lt;p>My favourite by far is (6), what a brilliant user experience.&lt;/p></description></item><item><title>How I went from reading 2 books a year to 20 books in 2020</title><link>https://cigari.co.uk/blog/2020-12-30-how-i-went-from-reading-2-books-a-year-to-20-books-in-2020/</link><pubDate>Wed, 30 Dec 2020 20:28:00 +0000</pubDate><guid>https://cigari.co.uk/blog/2020-12-30-how-i-went-from-reading-2-books-a-year-to-20-books-in-2020/</guid><description>&lt;p>&lt;img src="https://cigari.co.uk/img/books.jpg" alt="An old classic">&lt;/p>
&lt;p>I didn&amp;rsquo;t use to be a big a reader, and I am definitely not a fast reader, but last year I ended up reading 20 books in 6 months, which is around 10 times more than I have managed in recent years. I remember reading plenty of books as a childm, but reading books as an adult is something I have struggled with, and so I thought I would share my process in the hope that others might find it useful.&lt;/p></description></item><item><title>Prudential Ride London Surrey 100 2019 Results sorted by Time</title><link>https://cigari.co.uk/blog/2019-08-05-ridelondon-2019/</link><pubDate>Mon, 05 Aug 2019 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2019-08-05-ridelondon-2019/</guid><description>&lt;p>Results are all messed up again because of people cutting the course due to cut off time, but here are the &amp;lsquo;results&amp;rsquo; &lt;em>(Google sheet no longer available — link removed, post kept for posterity)&lt;/em>:&lt;/p>
&lt;p>&lt;span style="width:500px;height: auto;margin: 0 auto;display: block">&lt;img src="https://cigari.co.uk/img/ali-ross-2017.jpeg" alt="Me and Ross"/>&lt;/span>&lt;/p></description></item><item><title>Prudential Ride London Surrey 100 2018 Results sorted by Time</title><link>https://cigari.co.uk/blog/2018-08-01-ridelondon-2018/</link><pubDate>Wed, 01 Aug 2018 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2018-08-01-ridelondon-2018/</guid><description>&lt;p>I am sure someone has done this already but if not&amp;hellip;.&lt;/p>
&lt;p>Right here we go again. The results are a complete mess this year - I think because of the weather a lot of people cutting out parts of the ride and so on.
Using the last 6 mile speed as a guide - looks like Oliver Richardson won men&amp;rsquo;s (wasn&amp;rsquo;t he supposed to be a ride captain 🙈) and Jenny Corser won the women? 💪💪&lt;/p></description></item><item><title>Prudential Ride London Surrey 100 2017 Results sorted by Time</title><link>https://cigari.co.uk/blog/2017-07-31-ridelondon-2017/</link><pubDate>Mon, 31 Jul 2017 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2017-07-31-ridelondon-2017/</guid><description>&lt;p>I mean I really should be doing my Phd, but due to popular demand, I put together a google sheet &lt;em>(no longer available — link removed, post kept for posterity)&lt;/em>.&lt;/p>
&lt;p>&lt;span style="width:500px;height: auto;margin: 0 auto;display: block">&lt;img src="https://cigari.co.uk/img/ali-ross-2017.jpeg" alt="Me and Ross"/>&lt;/span>&lt;/p></description></item><item><title>Oxford Restfulness and Readiness Tracker</title><link>https://cigari.co.uk/blog/2017-06-09-wattson-blue/</link><pubDate>Fri, 09 Jun 2017 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2017-06-09-wattson-blue/</guid><description>&lt;p>Excited to announce that we are developing ‘Oxford Restfulness and Readiness Tracker’, a platform to help optimise student athletes maximise their performance and minimise mental health issues. We have recently been awarded funding from the &lt;a href="http://blogs.it.ox.ac.uk/innovation-challenges/list-of-funded-projects/restfulness/">IT Innovations Challenge&lt;/a>
and will be working with the athletes and coaches in OUBC and OUWBC over the next Boat Race season to develop the product.&lt;/p>
&lt;p>We really think we have a great team and a unique opportunity to work with elite level athletes to develop something really exciting.&lt;/p></description></item><item><title>Prudential Ride London Surrey 100 2016 Results sorted by Time</title><link>https://cigari.co.uk/blog/2016-08-03-ridelondon/</link><pubDate>Wed, 03 Aug 2016 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2016-08-03-ridelondon/</guid><description>&lt;p>I have again sorted the results by time and so on. There is a second tab just for women.
I have put them on a google spreadsheet this year &lt;em>(the spreadsheet is no longer available — link removed, post kept for posterity)&lt;/em>.&lt;/p>
&lt;p>The top 200 results are listed below. In total 70 people broke the magical 25 mph average speed, although most starva uploads calculated a route that was a mile or two short of 100.&lt;/p></description></item><item><title>5k test</title><link>https://cigari.co.uk/blog/2015-09-10-5k-test/</link><pubDate>Thu, 10 Sep 2015 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2015-09-10-5k-test/</guid><description>&lt;p>&lt;img src="https://cigari.co.uk/img/mixed_univ_rowing.jpeg" alt="random rowing picture from my time at Univ">&lt;/p>
&lt;p>I had a 5k test on the rowing machines in the gym today. I did one a couple of months back and it went really well. It was a 20s PB, and I just smashed it.&lt;/p>
&lt;p>Today, was a different story. I had come in with some injuries over the past few weeks and my preparation had been less than ideal. I had a bit of a sore throat that was also playing on my mind, but more importantly, there was just a lot riding on the 5k. Whereas the 5k 2 months ago didn&amp;rsquo;t matter, it was just a &amp;rsquo;let&amp;rsquo;s see where we are&amp;rsquo; thing, today was an important selection criteria.&lt;/p></description></item><item><title>Thank you Mrs. Smith for the Lovely Chocolate Cake</title><link>https://cigari.co.uk/blog/2015-09-10-thank-you-mrs-smith/</link><pubDate>Thu, 10 Sep 2015 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2015-09-10-thank-you-mrs-smith/</guid><description>&lt;p>&lt;img src="https://cigari.co.uk/img/cricket.jpeg" alt="cricket at Oxford">&lt;/p>
&lt;p>Watching England beat the Australian&amp;rsquo;s in the Ashes (in particular at Trent Bridge this week) is pure joy, pure pleasure. I am just watching the highlights of day 1 at Trent Bridge (SPOILER: with Australia all out for 60 in the first innings), and well, I am just sitting here, grinning.&lt;/p>
&lt;p>It&amp;rsquo;s a weird game cricket, it can be painful watching it (or listening on TMS), when your team is giving their wickets away, or bowling badly, but some of the moments, which may happen once every few months if not years, are so powerful, that you can&amp;rsquo;t help but fall in love.&lt;/p></description></item><item><title>Why I hate Matlab</title><link>https://cigari.co.uk/blog/2015-07-17-why-i-hate-matlab/</link><pubDate>Fri, 17 Jul 2015 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2015-07-17-why-i-hate-matlab/</guid><description>&lt;p>As a programming language, MATLAB is not my favourite. Yes, you can prototype things in it quickly, but when people start building libraries that then others build more libraries on, you end up getting stuck in it.&lt;/p>
&lt;p>If you are not sucked into it yet, don&amp;rsquo;t. Please. Save yourself.&lt;/p>
&lt;p>Here are a couple of reasons why it is a poor choice to do any proper development in (and these are simple (or petty) reasons. I also have many problems with the fact that it has a closed source and its insanely expensive price for anyone other than students, but that is for another day.&lt;/p></description></item><item><title>Research in Biological Sciences</title><link>https://cigari.co.uk/blog/2015-01-17-research-in-biology/</link><pubDate>Sat, 17 Jan 2015 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2015-01-17-research-in-biology/</guid><description>&lt;p>&lt;img src="https://cigari.co.uk/img/wnt_experiment.jpeg" alt="Wnt Pathway Experiments">&lt;/p>
&lt;p>I am looking at the Wnt signalling pathway in my research, which is altered in some cancers. Last week, my supervisor gave me two of the latest papers in the field to look at. I haven&amp;rsquo;t read them in detail yet but below are two sentences from the papers:&lt;/p>
&lt;ul>
&lt;li>&amp;hellip; we provide the formal demonstration that APC is necessary for β-catenin phosphorylation &amp;hellip; (&lt;em>Lili Wang, 2014&lt;/em>)&lt;/li>
&lt;li>&amp;hellip; our findings support the view that APC is dispensable for β-catenin phosphorylation &amp;hellip; (&lt;em>Jan Gerlach, 2015&lt;/em>)&lt;/li>
&lt;/ul>
&lt;p>So those are almost the opposite claims?&lt;/p></description></item><item><title>Make Oxford Nexus Email and Gmail play nicely.</title><link>https://cigari.co.uk/blog/2014-06-10-oxford-nexus-gmail/</link><pubDate>Tue, 10 Jun 2014 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2014-06-10-oxford-nexus-gmail/</guid><description>&lt;p>I manage all my emails from my Gmail. I have way too many mail boxes. I have to be able to manage all of these from one inbox, otherwise I will go crazy.&lt;/p>
&lt;p>More importantly though, &lt;strong>I want to be able to have a copy of all my Oxford emails once I leave Oxford&lt;/strong>.&lt;/p>
&lt;p>The write up below describes how you can get all your Oxford emails in Gmail and then also reply and manage them from there, without anyone ever needing to know you are not using Nexus.&lt;/p></description></item><item><title>Prudential Ride London Surrey 100 2013 Results sorted by Time</title><link>https://cigari.co.uk/blog/2013-08-08-ridelondon/</link><pubDate>Thu, 08 Aug 2013 11:12:51 +0000</pubDate><guid>https://cigari.co.uk/blog/2013-08-08-ridelondon/</guid><description>&lt;p>Due to popular demand, here are all the Men and Women results for the Prudential Surrey 100 mile Ride that took place on Sunday August 4th in and around London.&lt;/p>
&lt;p>There are clearly some mistakes in there (such as Phils and Nigels on the women&amp;rsquo;s list), but they are all directly from the Organisers website.&lt;/p>
&lt;p>They of course have all the rights to these results.&lt;/p>
&lt;ul>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203143000/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_w_4_6.html" title="m_4_5">Womens 4:00 - 6:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203133828/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_w_6_7.html" title="m_4_5">Womens 6:00 - 7:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203143038/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_w_7_12.html" title="m_4_5">Womens 7:00 upwards&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203150408/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_m_4_5.html" title="m_4_5">Mens 4:00 - 5:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203151327/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_m_5_6.html" title="m_4_5">Mens 5:00 - 6:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203130047/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_m_6_7.html" title="m_4_5">Mens 6:00 - 7:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203130921/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_m_7_8.html" title="m_4_5">Mens 7:00 - 8:00&lt;/a>&lt;/li>
	&lt;li>&lt;a href="http://web.archive.org/web/20231203151403/https://static.cigari.co.uk/ride_london_surrey_100/PRDS100_m_8_12.html" title="m_4_5">Mens 8:00 upwards&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;span style="width:500px;height: auto;margin: 0 auto;display: block">&lt;img src="https://cigari.co.uk/img/ali-ross-2017.jpeg" alt="Me and Ross"/>&lt;/span>&lt;/p></description></item><item><title>My First Contribution to the Open Source Community</title><link>https://cigari.co.uk/blog/2013-05-20-my-first-contribution-to-the-open-source-community/</link><pubDate>Mon, 20 May 2013 20:51:22 +0000</pubDate><guid>https://cigari.co.uk/blog/2013-05-20-my-first-contribution-to-the-open-source-community/</guid><description>&lt;p>I have made my first ever contribution to the Open Source community in the form of a &lt;a href="https://cigari.co.uk/countdown/" title="Countdown Cube">jQuery Plugin&lt;/a>!&lt;/p>
&lt;p>It is a countdown timer, that displays the time remaining to a set target in years, months, days, hours, minutes and seconds. You can see an example &lt;a href="https://cigari.co.uk/countdown/" title="Countdown Cube">here&lt;/a>. This also coincides, unsurprisingly, with my first &lt;a href="https://github.com/oofaish/countdownCube" title="Github countdowncube">Github repository&lt;/a>.&lt;/p>
&lt;p>I have over-commented the code, so other beginners find it useful. There are also plenty of optimisations, clean ups, improvements and bug fixes to be done on it yet - but it is definitely a good start!&lt;/p></description></item></channel></rss>