wat the doodle!
wat the doodle!
  • 13
  • 1 726
Let's Create A Toy HTML Builder in Rust
In this session we take a look at creating a toy "HTML" builder in Rust,
So why would you want to create a nestable builder like this?
Well, an infinitely nestable builder allows one to programmatically generate some output in a typesafe and precise way.
It’s also the “base level” building block for layering higher levels of abstractions on top of the builder, for example one could create functions that emit a particular component, and those components could of course be nested and composable.
Or another example could be creating data adaptors that take data in one particular format and use the nestable builder to transform it to the final target format.
มุมมอง: 70

วีดีโอ

Build a Todo Web App Using Deno, Hono, and vanilla JavaScript!
มุมมอง 7114 วันที่ผ่านมา
In this session we're going to take a look at using Deno (a fantastic JavaScript runtime) and Hono (a very lightweight web server framework) in order to build fully functioning "Todo" web application. This includes the entire Front end built using just vanilla and raw JavaScript and Deno with Hono to handle the static file hosting as well as the backend API. While my preference is always toward...
Dynamic languages vs Statically Typed languages
มุมมอง 3521 วันที่ผ่านมา
In this session we explore and compare and contrast dynamic programming languages against statically typed languages. What are the key strengths of each and what are some of the negative aspects of each? Is there a clear winner?
The Agile Methodology is Horse Manure!
มุมมอง 751หลายเดือนก่อน
In this session we take a quick dive into the the "Agile" methodology that is part of the software development life cycle. We compare the current modern incarnation and it's original roots and find that to be frank it's utter horse manure! Is modern agile a lost case, can it be saved? watch this video to find out.
Procedural vs Declarative Programming styles
มุมมอง 384หลายเดือนก่อน
In this session we explore two different programming styles side by side: procedural vs declarative. While they ultimately both achieve the same result, we take a basic example and work through that to see how they compare and comment on what the advantages and potential disadvantages or trade offs each style or programming has when directly compared to each other.
Hyperfetch Project (a neofetch clone in Rust) Update Number 1
มุมมอง 86หลายเดือนก่อน
Since the last video entitled "Oh No, Neofetch is dead!" in this session we'll be taking a look at the new "hyperfetch" project update. Hyperfetch is essentially an attempt at a neofetch clone but rewritten in Rust. There has been some good progress which we review in this session.
oh no, neofetch is dead!
มุมมอง 75หลายเดือนก่อน
On the 26th of April this year Neofetch was marked as archived on Github and the news has been widely reported I first heard of it a week ago. It's a massively popular project and so I decided to do a super quick dive into the codebase. It's a bit of monster at over 11K lines of code (LoC), and it's all in bash! so the code is very dense and it's a bit like pulling at a thread when trying to un...
How to install docker on Arch Linux like a Chad!
มุมมอง 93หลายเดือนก่อน
While I was configuring my Virtual Machine (VM) instance that I use specifically for recording my TH-cam sessions I realised that I didn't have Docker installed. I thought I take the opportunity to do a quick video on installing docker on an Arch based Linux distribution. While it's fairly trivial to do, I thought on the off chance that it maybe helpful for someone out there in the internet. We...
Sorry Uncle Bob, You're just wrong!
มุมมอง 59หลายเดือนก่อน
Robert C. Martin aka "Uncle Bob" recently did an interview with ThePrimeagen. Early on he mentioned something in the interview that was a pretty bold statement. It's inspired to me unpack it and see if it's really something that holds weight. While "Uncle Bob" has done a tremendous amount of good work in terms of practices related to the software industry (author of the Agile manifesto), one ha...
Get Hired as a Junior Developer in 2024
มุมมอง 31หลายเดือนก่อน
so you're looking to get hired as a junior developer in 2024? well 2024 things are looking bad. This is because the global economy is not doing all that well and that has a knock on effect on all the industries for the tech industry what this means is that we have far fewer roles than we have candidates and as a consequence that means that the competition is is really really intense. So as a ca...
Wat The Doodle Intro!
มุมมอง 152 หลายเดือนก่อน
A super short Into for context for my background
Vectorising My Doodles!
มุมมอง 182 หลายเดือนก่อน
This is a short video of my current process of vectoring my hand drawn doodles, this is not a tutorial. It's simply my current process, I'm constantly learning so I suspect that my process will change as I improve and learn more, I wanted to share as also a way of self documenting my own process!
Rust isn't a hangover cure?
มุมมอง 402 หลายเดือนก่อน
A video response to the Article titled "C isn’t a Hangover; Rust isn’t a Hangover Cure" By John Viega. John who appears to be highly credentialed security expert has written a very in-depth article, while he has many valid points, I wanted to provided some counter perspective and try and see if I get to the crux of the argument presented by John!

ความคิดเห็น

  • @ewhorlow
    @ewhorlow วันที่ผ่านมา

    Thanks a lot, just what I was looking for to get started. For me, it wasn't auto-starting on reboot, so instead of using: > sudo systemctrl start docker ... I had to use: > sudo systemctrl enable docker

  • @init_bobjames
    @init_bobjames 9 วันที่ผ่านมา

    nice project wat the doodle! lets goo, lets make html element nodes and overload the dom, html bomb, can we do it?

    • @watthedoodle
      @watthedoodle 9 วันที่ผ่านมา

      thanks Bob! we can create fork bombs in the shell, but that's because the shell can spawn a new process, sadly HTML is interpreted and static so we can't create the equivalent or at least to my understanding it can't be done! 😆

  • @yuriks
    @yuriks 20 วันที่ผ่านมา

    Good response, echoed a lot of my own thoughts when reading the article! Regarding point 5 of the tl;dr (10:15) my understanding of the author's point is that he considers that people use C or Rust (or other systems languages) unnecessarily, in contexts where application languages (of which Go was offered as one example) would suffice. I'm not very persuaded by that either, however: 1) In my experience at least, most greenfield applications or servers these days are already not written in C to begin with. This is a part of the problem that has already essentially solved itself via market pressure, because people were unhappy with the productivity that C afforded them, and have already migrated to languages like Python, Go, or Javascript. There used to be a time when large desktop applications or tool suites were entirely written in C++, which in many cases was the only viable alternative at the time, but my perception is that this isn't really common anymore today. 2) It is not always a linear step up in safety/ergonomics along that chain. Go lacks protection against multithreading bugs, and infamously has had poor abstraction capabilities around things like error handling or generic data structure types (until recently). Python codebases with dynamic typing rapidly become hard to reason about once they grow past a certain size, causing productivity to nosedive and affecting correctness/reliability. There are many stories from developers praising Rust's features for data modeling and how they actually improved development velocity with it. etc. Memory safety bugs aren't the only bugs, and not even the only *security* bugs! Logic bugs can also affect security, and not as many languages seem to think it's important to give developers tools to adequately defend against these as well. 3) There are contexts where a language runtime might be prohibitive. Go tends to fare very well here, but deployment of Python apps to end-users tends to be challenging, and even if that's ok for servers or some kinds of desktop apps, I certainly wouldn't want to pay the startup cost of a JVM for each command in my shell scripts, for example! I think a disappointing trend with these kinds of articles I notice is that more "machine-oriented" programmers that think in C a lot seem to overestimate how comfortable the average developer is with an environment like that compared to a more abstracted or math/functional-like language. There's a learning curve, but I think their familiarity with that model tends to bias them towards assuming everyone also finds it intrinsically more intuitive to use, which I really don't think is the case. As with most things in these discussions it's hard to get actual conclusive evidence about any of these things though.

  • @init_bobjames
    @init_bobjames 23 วันที่ผ่านมา

    hey Doodle, if you haven't tried it, I'd go over the doodle outline in black pen and then try the 'Trace Bitmap' feature? have you tried that?

    • @watthedoodle
      @watthedoodle 23 วันที่ผ่านมา

      oh nice, not heard of that, thanks! I'll look into it

  • @davea136
    @davea136 28 วันที่ผ่านมา

    Everything is crap once the PMC and their MBA locusts infect it. See: David Graeber. Saved you 5 minutes.

  • @ipontt
    @ipontt 29 วันที่ผ่านมา

    Disagree with most things on the video. We need more focus on documentation rather than getting working software fast. Focusing on the later just leaves you with rushed unmaintainable crap that can only be understood by the underpaid, inexperienced junior that was too eager to prove he's an asset to the company by getting shit done fast. I do agree that non-technical managers can be an issue, but in my experience having nobody correctly translate a client's wishes to requirements to proper documentation is just a recipe for disaster later on. Clients change their minds, then nobody is certain this change wasn't what they originally stated (or worse), the manager decides they know what the client wants and what the client wants is not written anywhere other than a nebulous 5 words sentences per requirement. And I also agree on agile snakeoil salesmen being cancerous bullshit. I had to attend a course like that and it was worthless. Full of "exercises" that just wasted hours that could have been invested in other things. All because the company wants a scrum certification.

    • @watthedoodle
      @watthedoodle 28 วันที่ผ่านมา

      Thank you for you in depth comment! While I do agree documentation is important, the issue is the first build will always be guaranteed to be wrong, this is because the problem space is *not* initially understood and things evolve as we explore the problem space. Therefore focusing on documentation first is not the correct approach as that assumes one fully understands the entire problem upfront (which we do not). But for sure documentation *after* one has an actual working platform is indeed important. Regarding juniors running wild, that is a different topic about project leadership and developer management and a good lead would nip that in the bud, but that is one for another topic. Also "correctly translating a client's wishes" that right there is actually the issue, part of the original Agile manifesto explicitly states about "customer collaboration" meaning the distance between developers and customers/users should be zero, it is precisely *because* we have all these intermediaries that all the miscommunication happens in the first place, and no amount of "proper documentation" will ever solve that. You will learn so much more when you sit right next to your customer and observe how they interact with your platform then all the documentation in the world!

    • @aaronbono4688
      @aaronbono4688 28 วันที่ผ่านมา

      ​@@watthedoodlesure the first build won't necessarily be right but I have always put documentation first and I have been able to actually document how the interface is going to work and put it in front of users and get feedback so that we build a better tool before we ever start coding. If you do good documentation and make sure that it's done in a way that it gets in front of users early so you get feedback to refine and perfect the documentation then you will spend less time coding and you'll get closer to the target on the first build. I have been building software this way for over 25 years and it works really well and I get things done really fast and you need to do good documentation first that way the build goes really fast and everyone understands it and it's clean code and it's closer to the mark the first time we all need to get away from this stupid dichotomy where it's only waterfall or only rapid code and it's nothing in between because it's the place in between where sanity lies.

    • @watthedoodle
      @watthedoodle 28 วันที่ผ่านมา

      @@aaronbono4688 sure I agree, however from your description that sounds more like system design than documentation. But we may be arguing semantics at this point! I absolutely agree regarding system design which is very important in any build so we're are on the same page here. What I'm against is the the endless documentation with the expectation for everything to be detailed down to the last dot before anything is ever built, I don't agree with that approach! I high level design, schema design, major building blocks those are all you need initially to get going in my view. For the record in total I've been building software for around 22 years (so just a few years fewer than yourself) 😄👍

    • @aaronbono4688
      @aaronbono4688 28 วันที่ผ่านมา

      @@watthedoodle so again it comes around to getting away from these discussions of the extreme waterfall versus the extreme dive head first into coding and start discussing the sane and effective middle ground. No matter what the topic these days we keep getting mired in discussing the extremes and we have lost sight of the fact that we live in a world of spectrum where there is plenty of middle ground.

    • @watthedoodle
      @watthedoodle 28 วันที่ผ่านมา

      @@aaronbono4688 Yes I agree there is a middle ground, and I think that is captured well in the original Agile manifesto, so it doesn't say "no" documentation and planning, because those are the values "on the right", it just advocates to try and focus more on the left (hence the spectrum). If others think "oh the left means no X" then that is also a false understanding of the original agile manifesto.

  • @halvarmc671
    @halvarmc671 29 วันที่ผ่านมา

    If you work at a company, chances are they're not doing agile or anything close to agile. It's also not a methodology, it's a mindset. As long as you adhere to the principles, you're doing agile. So, even you get a fail.

  • @jacksonkerr4268
    @jacksonkerr4268 29 วันที่ผ่านมา

    Tlrw; Agile is bad because companies aren't doing Agile. Not very insightful.

    • @watthedoodle
      @watthedoodle 28 วันที่ผ่านมา

      Thank you for you comment. With respect sir, that is absolutely *not* the conclusion of this video. In fact it's the complete opposite. This is clearly understood if one watches the full video.

  • @MiroslavPopov
    @MiroslavPopov หลายเดือนก่อน

    You messed up the sort. It must be `arr.sort( (a, b) => b.age - a.age )` or, even better: ` arr.sort( (a, b) => a.age > b.age ? -1 : a.age < b.age ? 1 : 0)`. I'm not sure what is happening in your example. Another thing. `sort` is a function with a side effect. It sorts the array in place (though, it returns a ref to the same array). You should use `arr.toSorted( ... )`. A good try, but you should prepare better for your videos. Anyway, I'll put you a thumb up for efforts.

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      ah yes you're correct because the function is a comparison which I didn't do. Yes thanks for the correction. Yes it's mutable and has side effects, I didn't want to tackle that in this session as I wanted to focus on the procedural vs declarative. But you're correct, it's best avoid mutations as far as possible, of course in some cases it's needed and certainly locally scoped mutations are fine.

  • @ismbks
    @ismbks หลายเดือนก่อน

    the topic looked very interesting but i had to stop the video because it is unwatchable on mobile devices think about increasing your font size, especially if you only use 2/3 of the screen real estate in your videos

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      Thanks for the feedback! noted. I will look into ways to improve the experience for mobile devices 👍

  • @steventompson-yu5wm
    @steventompson-yu5wm หลายเดือนก่อน

    theres lot of alternatives to neofetch!

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      absolutely yes, I just wanted to add my "Yet Another Fetch" YAF 🤣

  • @init_bobjames
    @init_bobjames หลายเดือนก่อน

    great to see the progress doodle, both in your content and the hyperfetch rust project 👏👏👏👏

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      morning Bob! hope your day is going well! thanks for the kind words!

  • @init_bobjames
    @init_bobjames หลายเดือนก่อน

    lets goo doodle 🙌🙌

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      Loaded up on morning Coffee and ready to go! thanks Bob! 😁

  • @Gojo_Satoru_editz
    @Gojo_Satoru_editz หลายเดือนก่อน

    Qemu please

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      alright buddy, I'll see if I can get do a qemu vm session at some point, although not sure if my host machine supports nested VMs, because the session will end up being a VM inside a VM 🤣

  • @goodnewsjohn2482
    @goodnewsjohn2482 หลายเดือนก่อน

    Sweet... I use Linux too... I like the simplicity.

  • @Gojo_Satoru_editz
    @Gojo_Satoru_editz หลายเดือนก่อน

    Can you give a tutorial on how to install a virtual machine on Linux?

  • @Gojo_Satoru_editz
    @Gojo_Satoru_editz หลายเดือนก่อน

    Thanks!

    • @watthedoodle
      @watthedoodle หลายเดือนก่อน

      you're welcome buddy 👍

  • @user-nu2sz2wg3i
    @user-nu2sz2wg3i 2 หลายเดือนก่อน

    Burn out after 20 years of career! What a resilient man

    • @watthedoodle
      @watthedoodle 2 หลายเดือนก่อน

      well burn out number 12 😭