To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/fasterthanlime . The first 200 of you will get 20% off Brilliant’s annual premium subscription.
The things I learned with this - Don’t date Github Actions (21:33) - Alpine Linux is a gender (21:04) - If you want to do something in GitHub actions that isn’t in the main container, just create another sibling container (20:11)
Welcome back, Amos, and good luck with everything. This video was _extremely_ entertaining and enlightening and I'm kinda glad I've stayed away from GitHub actions now.
It’s funny (and horrifying) to think about in the terms of “business decisions”. Some team’s PM made people crunch this out to an arbitrary date just to “make it to market”. People here not being able to think it through (and probably not having resources necessary for it) and doing it so it “kinda works”. And after it’s released it’s rapidly on its way of becoming de-facto CI standard because you did it in Microsoft. And now this is your legacy. Damn
Sounds about right, I remember once when we've tried to implement some custom action sequence (module) without hosting any custom step in JS/Docker there were bizzare bugs and limitations all over the place. I joked to the team that they must used some intern to do all of that. After deeper investigation and some GH source repo check it turned out true, the whole step sequencing was done all by 1 GH intern and not revised ever after (because #legacy I suppose) :D Though it's still better than Django, where I've encoutered few bugs with existing tickets that are opened for like 10-15 years
This is basically all software. A meme right now is that making game devs crunch is always bad. But this is spoken by people who've literally never done an engineering project. Engineering isn't LEGO. It doesn't come with a complete set of instructions. It's a journey into the unknown. It's more like The Martian. If someone told you tomorrow, there's a man stranded on Mars, how can he stay alive for like 200 days until we can mount a rescue? Most people wouldn't even know where to begin. That's how programming new projects usually feels. Not sometimes. Usually. Whatever ends up being released is full of hacks and Hail Mary passes. So long as it works. Then 6 months later someone has a fix a security flaw. And they open up the code. And go Dear God what were these people thinking.
Most of the web and *nix is a result of business decisions or inertia. Just look at the misspelling of "Referer" or Bash's inability to support try / catch / raise nativly. You like long enough, you treat all of this stuff as so much Kleenex to be learnt, used, and discarded in favor of the next new thing.
“don't interpolate things into scripts” has been my #1 rule since many more years than GH actions exist. It's just absolutely insane to design anything like this while SQL has existed for >40 years and SQL injections probably almost as long.
Hi! I’m the Alex Dawson credited for the photo of Linus at @2:15. Thank you so very much for crediting me - I really appreciate it. A friend saw this in your video and alerted me. I still use Linux a bit, and that conference and meeting Linus, Alan Cox, Bdale from Debian, H Peter Anvin, Rasmus Lerdorf, Andrew Tridgewell, Rusty Russell, and many others was an amazing week
For me, the weirdest part about github actions is that they say you can "deploy" your software yet it's only for deploying on other services or in package registeries. I don't think it can make deploying on your personal server easy. And using self-hosted runners is EXTREMELY janky. I use github actions to easily release my Factorio mods after I make a new release and send a notification in discord that is read by 1 and a half people. I doubt I'll ever use it for some other project.
It's great for running Goreleaser, linting, running unit tests, coverage etc. Idk why they would market it as a "deploy" tool - no large SaaS in their right mind would use Actions as their entire CI/CD imo, the other options like Circle are way more polished.
For all the pain Gitlab CI/CD has caused me, this video sure made me glad I chose to go with it instead of GitHub Actions from the start. Although I know next to nothing about it apart from what I learned from this video. Still, copying the source for every. single. pipeline I want to use that somebody has already written into my repo sucks ass.
Gitlab CI/CD felt more mature from the beginning. I was shocked when I learned that GH Action doesn't have a built-in feature that allows users to restart a step manually unlike Gitlab.
This video is just great. The humor, the technical depth and the honest abut realistic criticism. First video I have seen from you - instant subscriber
I have found 1 (one) use for Actions outside of "idk build and test on every push" - compiling Rust for macOS. After spending hours trying to get various flavors of cross-compilation to work for a project of mine, I threw my hands in the air and bashed out a workflow that just compiled it on `macos-latest` and spat out the resulting binary. 🥴
Genuinly funny. I loved some of your deadpan delivery and I think the flow from section 5 on was great. Some of the setup was a bit long for what it was getting at but I loved the care you put into your script. Looking forward to your future videos.
about the first part of the video: I have contributed to the linux kernel several times, and the first time I did, it was about a bug in the memblock allocator that only appeared in very specific circumstances. But because the linux kernel still uses the email system, it took months before I finally sent out the patch and was just hoping that someone else would fix it since it was in the list of open issues. Linus is just wrong about the barrier of entry. The only reason the linux kernel still gets so many newcomers is because GregKH and other maintainers are very welcoming and understanding. But boy do they need a better system. They changed how the email system works last year and now you can no longer send out those emails directly from a web browser because of the setup required, and I haven't contributed since.
Wow, this was such a fantastic video. I have noticed a couple of those things myself, when I went down a rabbit hole after having to download a 50gb image one day for gha. Welcome back Amos!
19:05 I knew the answer could not be any of those, because I have this gem of an action in a step at the start of an ad hoc job to delete toolchains and unnecessary SDK and it frees up 15 GB from the ubuntu image (can free up to 31 GB) and that takes about 90s, and I am billed by minutes of runtime, so Github found an infinite money glitch I guess? Great video, very entertaining!
My impression before watching the video was, "they came after every other CI tool, so I thought it would be the case they'd learn from every other CI tool's mistakes. How bad could it be?" I'm not quite sure what words to use to answer that question after watching the video
Thanks for taking the time to create this video. Doing something less than trivial in GHA makes me long for something better. Hope a viable contestant will come soon.
3:22 Imagine bookstores telling customers that if they volunteer or pay taxes that contribute to libraries, something that potentially reduces the profits of for-profit bookstores, they will not longer be able to purchase books. Insanity. This wasn't saying an employee of the company can't work on a competitor. It's saying an employee of a customer of a tool can't also work on a competitor. Mind boggling insanity.
Having to reinstall things on every workflow run is so inconvenient! Wouldn't it be cool if there was some way to start with a particular base container, layer my favorite tools on top and *cache* the resulting container (so the tools don't need to be reinstalled next time), then use it to build and test my- oh, huh, this is just how Docker's supposed to work in an ideal world, isn't it
I worked at a pretty well known company (valued in the billions) that moved all of their pipeline into GitHub actions but they were too cheap to pay for anything so we had to build all of our tools as "open source" even though they were useless to almost anybody else, just to get around licensing.
Dude ... after having spent 12+ hours of my Sunday attempting to create a GitHub Action that would both enumerate AND sync my forked repos ... I felt this video to very core of my soul 😂 What a much needed catharsis 👍🏾
On the one hand GitHub Actions is advertised as readily runnable on self-hosted custom runners. On the other hand Python interpreters are not supported on ARM64 Linux because "we do not have hosted runners on ubuntu with arm64 architecture", making actions/setup-python not usable on ARM64 Linux.
Great video, subscribed!! I am amazed at how jank GH actions are. Thanks for showing some code snippets. I guess I shouldn't be surprised, considering it's a MS product XD
Lovely video, some of which has gone over my head, as I have been fortunate enough to be spared from having to work with some of these tools thus far. Also, I did a double-take at the credits -- was not expecting to hear a Jazz Emu song here, lol
You're got a 99.X% understanding of so many concepts in software, and you're great at communicating. I remember your earlier videos on depression and meaningness - it seems from the outside that you've found something worth doing! :P
as a sysadmin who do past years advent of code in "bash", this whole topic flew over my head and I only understand 1/10 of it. Docker, alpine, huge asssss Ubuntu image, that's about it
12:25 - it still blows my mind that we have collectively decided the path of lesser resistance is adding ISA instructions for fast casting of float to int, vs adding actual integers to JS
12:00 To defend the proprietary header: maybe they need it because they need to know the size of the uncompressed file upfront, because you'd have to wait for the whole file to be uploaded to know how large it is?
Awesome video, I recognize a lot of these annoyances even when just trying to put workflows together in github actions. Didn't know they didn't perceive themselves as a package manager / AIO solution tho
It doesn't matter if it's terrible. If a better tool comes about, you can always use an action to call out to it, or trigger it with a webhook and manage everything else form the other side. It's not like a programmer worth their salt couldn't express any action in any other system. As long as Github repos have scripting or webhooks, there's room for competition and innovation.
Quality content as usual. Passionate and interesting and dense. And quite a pleasurably memorable and long awaited encore to your absolutely banging Ode to Joy in the Deutsch.
I didn't expect this video to go from "GitHub actions kinda sucks" to "there is no ethical software development under capitalism" but damn, another banger of a video! Thank you Amos
The first C compiler that was good and free (and open source)? Surely that's the Portable C Compiler, which was made publicly available in 1979. The GNU compilers were deliberately designed to be non-modular - Stallman was worried that other projects would adopt specific parts such as optimisers if they were modular, or that they would be licensed under more open licenses and encourage the use of non-GPL compilers. This is one of a number of areas where "license politics" influenced poor design decisions in GNU projects.
Absolute masterclass of informative and entertaining video documentary. Most importantly I feel so validated in my burning hatred for GitHub Actions, as a DevOps guy coming from the Ops side who doesn't fully grok all the niceties outlined within.
Great to see this! I didn't follow it completely, but that's the fun, I guess. It forces you to grow. >_< Great to see you back and hope your jaw and teeth are doing better. Cheers! :)
Yes! Those videos are dense and multilayered on purpose, so you can/should pause them, look stuff up, and watch them again in a few months, to see if more of it makes sense!
"Fuck them, get paid and feed your family, if you can contribute to the commons, that's a privilege, use it wisely" is such an incredible end statement, brilliant video!
My experience of github action, ie just dumping ``` name: cpu-tests on: pull_request: push: branches: master jobs: test-linux: runs-on: ubuntu-latest strategy: max-parallel: 5 steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v2 with: python-version: 3.7 - name: Install dependencies run: | pip install -e . - name: Test with unittest run: | python -m unittest ``` in every repo, is spectacularly different from the experience of github actions described in this video. What on earth are you guys _doing_ with it to have problems this complicated?
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/fasterthanlime . The first 200 of you will get 20% off Brilliant’s annual premium subscription.
I need a second watch to digest everything you said.
_To much complexity for my simple mind, wooohhhhh 🥴🥴🥴🥴🥴🥴🥴_
Can u turn on timed comments? I like writing comments with timestamps :)
"we found that out in 2001"
pretty sure u werenty even born in 2001, how young you look zoomer :D
What’s a better alternative to GitHub actions?
The things I learned with this
- Don’t date Github Actions (21:33)
- Alpine Linux is a gender (21:04)
- If you want to do something in GitHub actions that isn’t in the main container, just create another sibling container (20:11)
Man this was a rollercoaster I was not expecting. Lost it at "Alpine or not Alpine, the two genders". Great content, great style, great editing
Gender is a scam by big container to sell more Alpines 😤
to be fair, as a software developer, "alpine or not alpine" almost feels like the universal denominator
Agreed! Very experienced....
"Obnoxious tea-sipping noise" tells me you care about captions. Brilliant talk. Thanks for sharing.
Welcome back, Amos, and good luck with everything. This video was _extremely_ entertaining and enlightening and I'm kinda glad I've stayed away from GitHub actions now.
It’s funny (and horrifying) to think about in the terms of “business decisions”.
Some team’s PM made people crunch this out to an arbitrary date just to “make it to market”. People here not being able to think it through (and probably not having resources necessary for it) and doing it so it “kinda works”. And after it’s released it’s rapidly on its way of becoming de-facto CI standard because you did it in Microsoft.
And now this is your legacy. Damn
Sounds about right, I remember once when we've tried to implement some custom action sequence (module) without hosting any custom step in JS/Docker there were bizzare bugs and limitations all over the place. I joked to the team that they must used some intern to do all of that. After deeper investigation and some GH source repo check it turned out true, the whole step sequencing was done all by 1 GH intern and not revised ever after (because #legacy I suppose) :D
Though it's still better than Django, where I've encoutered few bugs with existing tickets that are opened for like 10-15 years
This is basically all software. A meme right now is that making game devs crunch is always bad. But this is spoken by people who've literally never done an engineering project. Engineering isn't LEGO. It doesn't come with a complete set of instructions. It's a journey into the unknown. It's more like The Martian. If someone told you tomorrow, there's a man stranded on Mars, how can he stay alive for like 200 days until we can mount a rescue? Most people wouldn't even know where to begin. That's how programming new projects usually feels. Not sometimes. Usually. Whatever ends up being released is full of hacks and Hail Mary passes. So long as it works.
Then 6 months later someone has a fix a security flaw. And they open up the code. And go Dear God what were these people thinking.
Most of the web and *nix is a result of business decisions or inertia. Just look at the misspelling of "Referer" or Bash's inability to support try / catch / raise nativly. You like long enough, you treat all of this stuff as so much Kleenex to be learnt, used, and discarded in favor of the next new thing.
“don't interpolate things into scripts” has been my #1 rule since many more years than GH actions exist. It's just absolutely insane to design anything like this while SQL has existed for >40 years and SQL injections probably almost as long.
@@KevinJDildonik I've been in this industry 20 years, the last 7 of which have been in game dev. mandatory overtime is bad. quit being a contrarian.
Hi! I’m the Alex Dawson credited for the photo of Linus at @2:15. Thank you so very much for crediting me - I really appreciate it. A friend saw this in your video and alerted me. I still use Linux a bit, and that conference and meeting Linus, Alan Cox, Bdale from Debian, H Peter Anvin, Rasmus Lerdorf, Andrew Tridgewell, Rusty Russell, and many others was an amazing week
For me, the weirdest part about github actions is that they say you can "deploy" your software yet it's only for deploying on other services or in package registeries. I don't think it can make deploying on your personal server easy. And using self-hosted runners is EXTREMELY janky.
I use github actions to easily release my Factorio mods after I make a new release and send a notification in discord that is read by 1 and a half people. I doubt I'll ever use it for some other project.
It's great for running Goreleaser, linting, running unit tests, coverage etc. Idk why they would market it as a "deploy" tool - no large SaaS in their right mind would use Actions as their entire CI/CD imo, the other options like Circle are way more polished.
Did a double take when I saw "Factorio"
Hey there John the cooling fan.
-ilbJanissary
Have been trying to figure out how to use gha for deploying on my own infra, ended up spinning up a kubernetes cluster.
2/10, would not recommend.
You can use an action to ssh into whatever server and run whatever command. Dont know if that helps or if thats fine for your scenario.
If you can ping a url, you can run a git pull when it pings.
That was a completely unexpected but very refreshing format for a tech video. Kudos for the immense editing work.
For all the pain Gitlab CI/CD has caused me, this video sure made me glad I chose to go with it instead of GitHub Actions from the start.
Although I know next to nothing about it apart from what I learned from this video.
Still, copying the source for every. single. pipeline I want to use that somebody has already written into my repo sucks ass.
Gitlab CI/CD felt more mature from the beginning. I was shocked when I learned that GH Action doesn't have a built-in feature that allows users to restart a step manually unlike Gitlab.
“Sometimes I disable copilot just to feel something” 😂😂😂
I can’t do it… I’m not… strong enough
This video is just great. The humor, the technical depth and the honest abut realistic criticism. First video I have seen from you - instant subscriber
It's always such a delight to watch your videos. The sheer quality that radiates from them is truly impressive. It's wonderful to have you back again!
"Sometimes I disable Copilot just to feel something."
I would love to see you compare GitHub Actions and Gitlab CI
I have found 1 (one) use for Actions outside of "idk build and test on every push" - compiling Rust for macOS.
After spending hours trying to get various flavors of cross-compilation to work for a project of mine, I threw my hands in the air and bashed out a workflow that just compiled it on `macos-latest` and spat out the resulting binary. 🥴
Dude same, I was borrowing my friends Mac just to figure out what I needed to tweak to get the xcode config files happy
"A Completely Unsolicited (And Frankly Quite Rude) Review" -- Superb!!! There needs to be more of this in the world!
Genuinly funny. I loved some of your deadpan delivery and I think the flow from section 5 on was great. Some of the setup was a bit long for what it was getting at but I loved the care you put into your script. Looking forward to your future videos.
about the first part of the video: I have contributed to the linux kernel several times, and the first time I did, it was about a bug in the memblock allocator that only appeared in very specific circumstances. But because the linux kernel still uses the email system, it took months before I finally sent out the patch and was just hoping that someone else would fix it since it was in the list of open issues. Linus is just wrong about the barrier of entry.
The only reason the linux kernel still gets so many newcomers is because GregKH and other maintainers are very welcoming and understanding. But boy do they need a better system. They changed how the email system works last year and now you can no longer send out those emails directly from a web browser because of the setup required, and I haven't contributed since.
Wow, this was such a fantastic video. I have noticed a couple of those things myself, when I went down a rabbit hole after having to download a 50gb image one day for gha. Welcome back Amos!
19:05 I knew the answer could not be any of those, because I have this gem of an action in a step at the start of an ad hoc job to delete toolchains and unnecessary SDK and it frees up 15 GB from the ubuntu image (can free up to 31 GB) and that takes about 90s, and I am billed by minutes of runtime, so Github found an infinite money glitch I guess?
Great video, very entertaining!
The end with the Jazz Emu was beautiful 🤌
I was not expecting the Jazz Emu cover at the end, but it had me vibing.
My impression before watching the video was, "they came after every other CI tool, so I thought it would be the case they'd learn from every other CI tool's mistakes. How bad could it be?"
I'm not quite sure what words to use to answer that question after watching the video
Thanks for taking the time to create this video. Doing something less than trivial in GHA makes me long for something better. Hope a viable contestant will come soon.
3:22 Imagine bookstores telling customers that if they volunteer or pay taxes that contribute to libraries, something that potentially reduces the profits of for-profit bookstores, they will not longer be able to purchase books. Insanity. This wasn't saying an employee of the company can't work on a competitor. It's saying an employee of a customer of a tool can't also work on a competitor. Mind boggling insanity.
Love the format. Informational and interesting with a unique take that echoes some of what I've felt in the back of my head since I first used it
YOOO YOU’RE BACK! I loved this video, this is so chaotic in all the right ways
what an incredible amount of effort to put into ... a video essay about github actions.
Having to reinstall things on every workflow run is so inconvenient! Wouldn't it be cool if there was some way to start with a particular base container, layer my favorite tools on top and *cache* the resulting container (so the tools don't need to be reinstalled next time), then use it to build and test my- oh, huh, this is just how Docker's supposed to work in an ideal world, isn't it
I worked at a pretty well known company (valued in the billions) that moved all of their pipeline into GitHub actions but they were too cheap to pay for anything so we had to build all of our tools as "open source" even though they were useless to almost anybody else, just to get around licensing.
What an excellent Festivus rant. It made me go back and read your stuff about Go, which also befits the holiday.
Dude ... after having spent 12+ hours of my Sunday attempting to create a GitHub Action that would both enumerate AND sync my forked repos ... I felt this video to very core of my soul 😂 What a much needed catharsis 👍🏾
On the one hand GitHub Actions is advertised as readily runnable on self-hosted custom runners. On the other hand Python interpreters are not supported on ARM64 Linux because "we do not have hosted runners on ubuntu with arm64 architecture", making actions/setup-python not usable on ARM64 Linux.
The amount of work that went into making this is *mind boggling*
Great video, subscribed!! I am amazed at how jank GH actions are. Thanks for showing some code snippets. I guess I shouldn't be surprised, considering it's a MS product XD
Lovely video, some of which has gone over my head, as I have been fortunate enough to be spared from having to work with some of these tools thus far.
Also, I did a double-take at the credits -- was not expecting to hear a Jazz Emu song here, lol
that hit different 'I disable GitHub Copilot to feel something..'
You're got a 99.X% understanding of so many concepts in software, and you're great at communicating. I remember your earlier videos on depression and meaningness - it seems from the outside that you've found something worth doing! :P
Winston Royce's 1969 presentation pans waterfall, and promoted something like agile, but no C-Suite executives bothered to read his paper in depth.
as a sysadmin who do past years advent of code in "bash", this whole topic flew over my head and I only understand 1/10 of it.
Docker, alpine, huge asssss Ubuntu image, that's about it
12:25 - it still blows my mind that we have collectively decided the path of lesser resistance is adding ISA instructions for fast casting of float to int, vs adding actual integers to JS
I hope one day in the future I'll rewatch this video and will be able to understand all of the witty jokes that I'm too junior to understand now :')
Missed these videos! Glad you're back
12:00 To defend the proprietary header: maybe they need it because they need to know the size of the uncompressed file upfront, because you'd have to wait for the whole file to be uploaded to know how large it is?
I'm so happy you're back. Hope you are doing well!
I was _not_ expecting to see an amazing a capella cover of Jazz Emu in this video!
2:55
I don't look at this literal mountain of code and think "Ah, yes, Quality."
This is awesome. Way more in-depth than other GitHub Actions critiques I've read.
Github Actions only feels bad if you've never written Bitbucket Pipelines or done your own build pipeline. Then it feels amazing.
I love the Jazz Emu song at the end. Great video as always!
"Sometimes I disable Copilot just to feel something" had me laughing so hard!
fasterthanlime/JazzEmu crossover was NOT on my 2023 bingo list!
This was a fantastic video! And it’s awesome that you’ve done subtitles too!
Awesome video, I recognize a lot of these annoyances even when just trying to put workflows together in github actions. Didn't know they didn't perceive themselves as a package manager / AIO solution tho
I'm so happy you're back, your videos are always worth the wait
I wasn't expecting that JazzEmu cover, but I'm plesantly surprised lol
As someone who just started learning CI like 4 days ago:
What
I just stumbled across this video and the content is really amazing. Immediately subscribed, keep up the good work!
Liked the whole video but stood up and started applauding when the jazz emu cover started playing
Hi Amos, very entertaining video! Just a small point: I feel like the music is sometimes too loud
It doesn't matter if it's terrible. If a better tool comes about, you can always use an action to call out to it, or trigger it with a webhook and manage everything else form the other side. It's not like a programmer worth their salt couldn't express any action in any other system. As long as Github repos have scripting or webhooks, there's room for competition and innovation.
Thanks ❤for recognizing us :)
24:37
Quality content as usual. Passionate and interesting and dense. And quite a pleasurably memorable and long awaited encore to your absolutely banging Ode to Joy in the Deutsch.
Welcome back, Merry Christmas :)
The docker joke at 19:46 made me joke way more than what it should have... 😅
Thank you for this excellent moment.
Fantastic, S tier video as usual, Amos :)
Nothing puts a smile on my face more than seeing a new upload.
I didn't expect this video to go from "GitHub actions kinda sucks" to "there is no ethical software development under capitalism" but damn, another banger of a video! Thank you Amos
He's alive, im happy
Great video! Amazing work on the editing.
fasterthanlime makes youtube videos???? instant sub ❤
You're such a good story teller!
happy holidays 🥳
The first C compiler that was good and free (and open source)? Surely that's the Portable C Compiler, which was made publicly available in 1979. The GNU compilers were deliberately designed to be non-modular - Stallman was worried that other projects would adopt specific parts such as optimisers if they were modular, or that they would be licensed under more open licenses and encourage the use of non-GPL compilers. This is one of a number of areas where "license politics" influenced poor design decisions in GNU projects.
So that's why upload-artifact is so slow... it's CPU bound by a checksum algorithm implemented in pure JS (TS). Shelling out is literally better.
Welcome back, I hope you are well!
Please do another video as soon as GitLab's Step Runner is released (which will take another GItLab version release cycle or two). This was great!
Yeah I never really understood why github actions was written in javascript. Always seemed like a massive mistake.
music is a bit loud (at least on the beginning where I am at), it makes it a little hard to follow the dialogue for me. Don't know if it's on purpose.
welcome back!!
Absolute masterclass of informative and entertaining video documentary. Most importantly I feel so validated in my burning hatred for GitHub Actions, as a DevOps guy coming from the Ops side who doesn't fully grok all the niceties outlined within.
Github actions always felt a little finicky but never knew all this. well-made video!
Good christmas gift, welcome back!
Great to see this! I didn't follow it completely, but that's the fun, I guess. It forces you to grow. >_<
Great to see you back and hope your jaw and teeth are doing better. Cheers! :)
Yes! Those videos are dense and multilayered on purpose, so you can/should pause them, look stuff up, and watch them again in a few months, to see if more of it makes sense!
Wow, this is really good, it also makes me wish you will one day do a complete history of (personal) computing!
Blink three times if you need extraction
Not sure I would've done what I did last week if I had watched this. Great video!
it is my first time clicking a sub for a channel that i feel like " well looks like i will miss a lot of fun of i am not subscribing".
i was sold on your channel from the internet video but AYO WAS THAT JAZZ EMU !!!
"Fuck them, get paid and feed your family, if you can contribute to the commons, that's a privilege, use it wisely" is such an incredible end statement, brilliant video!
Absolutely love your content nice touches with the game show transitions!
Well, a new video from you absolutely feels good.
Oh wow this video is fantastic. I will devour your content from now on. I love your energy man!
Pipe cat into grep. Oh boy I smell JavaScript engineers
I have a simple go project. And I wanted to use github action. Now I have more commit fixing github action then actual code
This is really good. I'm a longtime reader of yours, and it looks like I'll be a longtime watcher too.
I’m glad you enjoyed it, thanks for the kind words!
Thanks for citing our paper :)
Thanks for your work!!
6:05 the irony of "never produce detects" does not elude me.
Oh wow, I didn’t even catch that. Nice find!
@@fasterthanlimeI don't really wanna harp on it so much 'cause, you know, ESL is hard.
This is an amazing video thank you! I was rolling on the floor
My experience of github action, ie just dumping
```
name: cpu-tests
on:
pull_request:
push:
branches: master
jobs:
test-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install dependencies
run: |
pip install -e .
- name: Test with unittest
run: |
python -m unittest
```
in every repo, is spectacularly different from the experience of github actions described in this video. What on earth are you guys _doing_ with it to have problems this complicated?
This video just made me appreciate Gitlab CI even more.