![Kai Hendry](/img/default-banner.jpg)
- Видео 947
- Просмотров 3 933 996
Kai Hendry
Великобритания
Добавлен 20 фев 2006
Channel produced by Kai Hendry, a British South African opensource geek living in Cornwall, UK.
CI/CD done right ✅
Your tests must provide the safety net to your Software Delivery Pipeline. Production deployments in mature shops should be continuous without fanfare.
dabase.com/blog/2024/github-action-trunk/
Source code of Terraform GCP Github action workflow: github.com/kaihendry/trunk-terraform/
kaihendry
www.linkedin.com/in/kaihendry/ - I won't accept unless you have a note
Continuous delivery is the ability to get changes of all types, including new features, configuration changes, bug fixes, and experiments, into production or into the hands of users, safely and quickly, in a sustainable way. www.thoughtworks.com/insights/podcasts/technology-podcasts/continuous-delivery-vs-continuous-deploy...
dabase.com/blog/2024/github-action-trunk/
Source code of Terraform GCP Github action workflow: github.com/kaihendry/trunk-terraform/
kaihendry
www.linkedin.com/in/kaihendry/ - I won't accept unless you have a note
Continuous delivery is the ability to get changes of all types, including new features, configuration changes, bug fixes, and experiments, into production or into the hands of users, safely and quickly, in a sustainable way. www.thoughtworks.com/insights/podcasts/technology-podcasts/continuous-delivery-vs-continuous-deploy...
Просмотров: 1 381
Видео
250th Parkrun @ Lanhydrock Event 255
Просмотров 4533 месяца назад
www.parkrun.org.uk/lanhydrock/ is now my local parkrun Dedicated to Les Chapple & the Singapore East Coast Star Runners
How to debug a Go CLI app
Просмотров 9975 месяцев назад
Perhaps use this approach to better understand what your Go based command line interface (CLI) apps are doing. 00:00 Setup some code to debug github.com/spf13/cobra-cli/blob/main/README.md 01:27 Configure the VS code launch.json for running the debugger 02:00 Adding log points instead of print statements github.com/golang/vscode-go/blob/master/docs/debugging.md
My first FOSDEM 2024 🥇
Просмотров 1,3 тыс.6 месяцев назад
Had a great time fosdem.org/2024/ meeting old and new friends! An amazing conference of geeks without the need for registration or tickets. Astonishing. I wish I knew I needed to enable the ipv6 on my Arch Thinkpad to get Internet working. 🤦 I recommend watching: video.fosdem.org/2024/h2215/fosdem-2024-3154-project-websites-that-don-t-suck.mp4 video.fosdem.org/2024/h2215/fosdem-2024-3025-fosdem...
My sucky macOS Sonoma desktop
Просмотров 1,6 тыс.7 месяцев назад
How I cope on MacOS github.com/kaihendry/mac-nix/
The best way to subscribe to events?
Просмотров 6789 месяцев назад
The best way to subscribe to events?
Mikrotik wifi5 to wifi6 - A warning
Просмотров 2,2 тыс.9 месяцев назад
Mikrotik wifi5 to wifi6 - A warning
Rural UK: Starlink versus BT Openreach FTTP
Просмотров 5 тыс.Год назад
Rural UK: Starlink versus BT Openreach FTTP
Gitlab Path to Production using Protected git tags
Просмотров 3,3 тыс.Год назад
Gitlab Path to Production using Protected git tags
Youtube thumbnails in 3 minutes using native MacOS software
Просмотров 670Год назад
RUclips thumbnails in 3 minutes using native MacOS software
Really simple Go structured logging with tracing
Просмотров 2,7 тыс.Год назад
Really simple Go structured logging with tracing
Screen sharing on MacOS surprise 🖥️🔓
Просмотров 1,6 тыс.Год назад
Screen sharing on MacOS surprise 🖥️🔓
Singapore's Arrival Card form is terrible, even for residents
Просмотров 1,8 тыс.Год назад
Singapore's Arrival Card form is terrible, even for residents
Testing Cloud infrastructure by Active Monitoring
Просмотров 625Год назад
Testing Cloud infrastructure by Active Monitoring
Gitops workflow with isolated production approval gate
Просмотров 1,2 тыс.Год назад
Gitops workflow with isolated production approval gate
Inconsistent text shortcuts between MacOS and Linux
Просмотров 1,7 тыс.Год назад
Inconsistent text shortcuts between MacOS and Linux
Lewis Jose Davis David Garcia Amy
dwm ftw! arch btw!
Forum moderator's are on a power trip. They surround themselves with yes men then gang stalk those who dare to differ from their opinion. They tag team and collude like a pack of Hyenas. Eventually the forum becomes so stale from lack of debate that it dies.
Just Ponder Why Nobody Helps Powerless Beings For the Key to Hating Ordinary People's Empiricism Remains Within Your Drive to Destroy Ze Cowardice Give Me Vigilantism or Give Me Death, As they Say When Man Learns to Love, He Bears the Risk of Hate
Lame. Slackware if you l33t
AVOID the Moccamaster KBT. Their thermal carafe shatters and Moccamaster's warranty does not cover it. Had it for 2 years using it on weekends, shattered yesterday. Customer service's response was almost insulting. "The borosilicate glass lining can be easily damaged when it comes into contact with anything abrasive. The carafe is not covered under warranty. We are happy to offer 20% off and free shipping on a replacement. An invoice with a discount applied has been sent. Once completed, you will receive tracking information." If the carafe so delicate why sell it? The only thing my carafe came in contact with was: hot water, coffee grounds, dish soap and an Ikea soft bristle dish brush. And gall of their customer support believing I would repurchase another carafe if there is no warranty… I have no nice words to reply to that… For a $340 coffee maker, I expected much better.
Bro has Superman hair
Is this problem still unsolved? problem: When I ssh onto a remote linux server from a Windows terminal, I am unable to copy from the neovim(0.10.0) using C-c or registers, but am able to paste using C-v. Installing xclip or xsel also didn't work properly(even with X11 port forwarding) and it didn't feel smooth at all. Currently, a hack with mouse works is all i have. Am i doing something wrong?
Certbot has a acme client with cliudflare and digitalocean plugins that use api acess to verify ownership of dns records
Mac OS has been on the static binary train for a long time and it solved most of their architecture transition problems. I think app devs are still obsessed with the size of their application but the reality is storage is mostly a solved problem and the opportunity cost of optimizing storage used by applications is clearly not worthwhile. The future is microkernel which is the next level form of the static binary where the application contains all it needs down to the metal and relies on nothing beyond a very standard, incredibly basic hypervisor just above the metal. Storage be damned, link everything statically and work on more important problems.
Apple's desktop environment is nicer tho
@@Aragubas if you don’t know how efficient a tiling window manager is
@@kaihendry true lmao
The solution is to make your Mac open. You can even install Linux on it.
The dot was or reference to the directory itself instead of the file itself did it for me! Thanks
Let me remind you
0:16 It appears you're applying a lot of lateral force and movement to the nub? Yesterday, I realised that it's way easier to press down on the bottom part of the nub if I want to move the pointer down (as opposed to trying to push it like a car's gear shifter from the top side). As for tmux; I stick to its default bindings and use Ctrl-B instead of the screen-style Ctrl-A.
Fast forward to now in Singapore, Simba just provided 10gbps internet at SGD$29.99 per month ! 🤣😂
that was remarkably unclear.
Which part ?
Voneus string fibre from pole to pole on BT’s poles as they have permission from the government to do so apparently I get 550 mb up and down in a village in banbury
ok you got all my respect for helping young devs
sounds like a skill issue
I was given a 2011 Macbook Pro with a dead graphics chip, which worked in my favour while I installed ubuntu on it with the discrete graphics disabled. Free laptop, works fine, less landfill.
their is no docking NO DOCK PORT gives me dad vibes stay with the good work man love your vvids
this is really great for sharing a keyboard and mouse especially when i forgot to buy a usb hub for my surface and i have to wait now :P
Then, on dwl, the first thing you need to do is to configure a startup file called perhaps startw in which you specify XDG_CURRENT_DESKTOP=sway as an environment variable, because the xdg-desktop-portal-wlr package only works with this option in this specific case, I managed to get portal sol to work after a couple of days of useless fuss, it was much simpler than expected, although I advise you to opt for a solution similar to the one I adopt in those cases, a script that exploits grim, slurp and swappy to be able to work correctly on screens, mine is called wlsyshot (wlroots easy screenshot), while for the clipboard I recommend cliphist works like clipmenu (about...)
So, I tried it as soon as it came out, 6 months ago and now I have made a build based on Ryzen on which it runs perfectly. Now, I make the necessary assumptions, I am also a long-time DWM user, and on my laptop I am currently using sway with some tips, I must say that I managed to replicate on wayland what I had on X11, and I am satisfied with this, for the rest, using Emacs as an editor for some time, both on Void and Arch, the version compiled in pgtk is available, so for that too you are more than happy. The only note is the fact of the status bar, in case the hypr doesn't have one, so I recommend using the classic waybar, I use it almost completely out of the box without wasting too much time behind it, because in any case it already has everything you normally look at when you are working on the PC. But the fact of having to write a configuration from scratch isn't exactly the best, Kai I wasted 2 hours trying to get it right.
Quite like your setup, pretty cool!
I just brought one , and found it instantly from guessing !!!
Starlink isn’t a replacement for FTTP. It’s for places that can’t get that or if you’re on the move and need decent internet.
Agreed
iyong camera can there be a cable there?
Hi Kai, What do you say now that you've tested in dev and it broke, that `main` is essentially now broken, which is something to be avoided at all costs!? Sounds like a `dev` branch is more likely what's needed, where that is deployed to `dev` env and then passes the integration testing etc there, and in staging env is where you have user testing, e2e etc. but after a merge to "main". What do you think? How to avoid main being broken but with the promotion idea, but not being bogged down with too many PRs in promoting branches.
If you are in a low trust environment, protect main and use the PR functionality to test/approve the commit.
would be good to try out AWSCDK and CDK Pipelines, you can use the GH Actions driver and see by default the generated workflow is promotion all the way to prod.
Funny I use a Mac ta work si ce 2016 and I use docker , homebrew … a lot of unix tools and Xcode obviously and everything IS fine … plus all thé type la MacOS software I work also under Windows and Linux for work BTW
Go to escape mode and press %y+ Thats it same thing with single command
Might be over-reading into the example pipeline, but I see you configured the workflow to trigger both on pull request AND direct pushes to main. Wouldn't the idea of a gated workflow be that the main branch should be protected from direct commits in the first place? A short lived feature branch that runs automated deployments to lower environments (dev, qa, stg) with a series of integration tests validating the changes as part of the PR process, with prod deployments only possible after PR approval and merge, would probably be easier to revert from that a direct merge / push to main that triggers the end-to-end flow, even if the last stage (prod) requires manual approval. In the first case you could simply block the PR until the issues are resolved and the tests pass, while in the latter case you would need to revert the changes in main and go back to the drawing board. If the above is bollocks and just me over-interpreting a simple demo pipeline, then by all means, it's a solid approach and should be a sensible default for CI/CD.
Well observed, the pr flow is for teams not mature enough / low trust issues to use trunk based development
Question: Why main -> Dev -> Staging (+bake time)-> Prod? Why not main -> Staging(+bake time) -> Prod? Does an added staging environment add more friction? What should we not add to dev but to staging?
You are welcome to drop dev which typically might have more permissions and play than a locked down staging environment. Upto you!
The blog link no longer works :(
I was hoping to see here something that changes my world view. Meanwhile I feel like I took a step back... Canaries, network shadowing, a million feature flags, so many cool things out there that make the traditional integration tests against a fully deployed environment a waste of time.
if the tests are a waste of time, don't do them. I'm just advocating for an automated path to production without tedious steps.
Ubuntu Asahi runs flawlessly on M2, for me it's the best of both worlds :) I'm missing just the integrated mic.
Does an external mic work? Tbh I use a Hollyland Lark M2 on my MBP most of the time
@@kaihendry external (jack) does, also usb and bt of course
Still better than windows 👀
I work in DevOps - and this is pretty much how we do it. Gated deploys all the way.
I'm advocating for automation, no manual / gated steps, unless I misunderstood?
I think it's time for your 12.8k followers to know that I beat you at DooM deathmatch many times.
This is how we have been doing for years, some even auto upgrade to prod if tests pass. Though now trying out kargo with argocd and its auto promotion and integrated testing
The key thing here is "trunk"
Nice to see you again!
I use linux mint
It we be nice to post the comand line of each of hte two computers.
It's your taste maybe expensive for you, gold for others.
I realize this comment is very late - it's difficult to find a reliable USB Ethernet adapter ( in my experience ). They tend to have overheating issues either over long times or heavy use. Some of the docking stations or desktop and laptop chips will have the same problems even though they don't have the same space constraints as a small dongle. I was using multicast cloning or large file copy operations as a stress test to find models that would not fail under 24 hours of sustained load.
A parallel universe