David Hart
David Hart
  • 13
  • 118 337
Bikeshedding and Developers
Quick point on the problem of defining "trivial"
Переглядів: 472

Відео

Surviving the Simulation
Переглядів 225Місяць тому
An exploration of simulation, morality and the challenge of AI through the lens of the Matrix. Newel of Knowledge on Perfectionism: ua-cam.com/video/4i1jpJodxKs/v-deo.html Timestamps: 00:00 Intro 01:52 Simulation, Products and People 13:06 Interlude 14:32 The Christian Ideal 26:33 Conclusion
Life isn't easy
Переглядів 297Місяць тому
A bit of a rant about my physical and mental health. I'll be ok, I just needed to get this off my chest.
CV Tips for the AI Era
Переглядів 2922 місяці тому
Quick update on where I'm at and a bit of info about how I reworked my CV to get around AI filtering. "Effective Programs" with Rich Hickey, the creator of Clojure ua-cam.com/video/2V1FtfBDsLU/v-deo.html 00:00 Background 01:37 Breakdown 04:57 AI Video Preview
Why you should learn Computer Science
Переглядів 7193 місяці тому
Breakdown of why I think Computer Science is important, and whether a degree is the best way to learn it. This is a bit of a departure from my regular "talking to a camera" style so let me know if you'd like to see more videos like it. 00:00 Intro 01:14 Modelling Domains of Expertise 02:09 Bloom's Taxonomy 04:32 Roles & Responsibilities 07:13 Universities vs Bootcamps 09:50 Recommendations
Developer Anxiety
Переглядів 7484 місяці тому
Quick video about the fear and anxiety a lot of developers feel. Hopefully some of you get some value from it.
Startups & Culture Shifts
Переглядів 9434 місяці тому
Some thoughts on startups and how their culture shifts over time. Sorry about the audio quality, I'm travelling so not on my regular setup.
Vulnerability & Decisionmaking
Переглядів 1,4 тис.4 місяці тому
A few thoughts on making decisions, adapted from a talk I gave at work.
How ADHD Feels
Переглядів 5996 місяців тому
Describing my own experience with ADHD and hopefully providing some context for people who are wondering if they have it. I'm just a guy who has ADHD, not a doctor, so do keep that in mind.
Your Code Review Sucks
Переглядів 9 тис.7 місяців тому
Bad tooling results in bad code reviews
Always Ask Why
Переглядів 6707 місяців тому
Advice to spice up those boring technical discussions. Also yes, I realised OBS was defaulting my webcam to 480p, hence the quality difference.
Don't Model the Problem
Переглядів 32 тис.7 місяців тому
Commenting on Casey Muratori's article "Clean Code, Horrible Performance". Turns out I can't add links to the description without performing "additional verification", but I'm sure you can find it on Google.
Senior Engineers are a thing of the past
Переглядів 72 тис.8 місяців тому
My thoughts on Senior Engineering roles and the problem of frameworks.

КОМЕНТАРІ

  • @nomadshiba
    @nomadshiba 42 хвилини тому

    true

  • @TheFinagle
    @TheFinagle 3 дні тому

    I judge code by if human level observations of it running can tell the system needs 'time' to pass for it to complete or not. if humans can tell time needs to pass then you failed. If you can trick humans into thinking computers are instantaneous your succeeding. I would rather more companies and developers would take a similar stance and stop wasting the time of the people using their systems. Even if that means doing much less with computers until hardware is good enough to do everything "instantly".

  • @GuRuGeorge03
    @GuRuGeorge03 6 днів тому

    I just want to say something on the topic of performance in general: it really depends. almost all companies have a very small customer base, small teams, small everything. only very few companies in the world actually have "real" performance issues to deal with. Like issues, where you literally have to invent new technologies to make something work. companies like google, amazon, tiktok and so on. So "performance" is almost always a bad argument, since it is not a priority in almost all companies and can almost always be easily solved by scaling vertically or horizontally.

  • @dwhall256
    @dwhall256 8 днів тому

    People who read the book know that Casey's example wasn't clean code.

  • @nathansnail
    @nathansnail 9 днів тому

    an alternative solution to the vacuum problem is `return "NNNNESSSSENNNNESSSSENNNN"`, if we just visit every point then we dont need to bother know where the dust is :)

  • @sikor02
    @sikor02 12 днів тому

    haha I thought the first code was the easy version and I was waiting for more abstracted one. I come from Clean Code CQRS DDD C# world.

  • @sonoftroy8572
    @sonoftroy8572 13 днів тому

    I have a question, when you show your php program, in side your while loop, I noticed the php starting and closing tags were switched. I’ve never seen that done before. What was the reason behind it?

    • @davidhart1578
      @davidhart1578 13 днів тому

      Might be a very old way of doing PHP that isn't as common anymore. Anything not in the PHP tags is rendered as HTML, so by "escaping" PHP inside the loop it outputs the HTML each time

  • @LuRybz
    @LuRybz 14 днів тому

    some people model it as an "mathematics" problem. some people model it as an "english" problem. The mathematical solution is a simple, short and probably optimal solution but if you change a little bit of the scenario then you have to write the entire thing again and this is where the "english" solution seems more scalable. But I get your point: the problem is everyone enforcing that you should model in "english".

  • @keithl3789
    @keithl3789 14 днів тому

    Lots of things to address... Ideally the purpose of various clean code things is for extensibility/coupling. It's a tradeoff. Of course it's bad/wrong to be universally applied when the tradeoff isn't in your favor. Second, every program does some form of modelling, modelling doesn't equal formulaic object oriented modelling. It's not a dichotomy, you can go for various levels of abstraction/indirection in different ways that make different tradeoffs for performance, legibility, and extensibility. You can avoid a using object oriented abstraction while still expressing your intent in your code.

  • @makowiec2k
    @makowiec2k 15 днів тому

    You are making a good point. However this is all based on relatively simple problems. But maybe these are the problems that we have in web development and don't need full model-the-problem approach. Problems where you have e.g. human life at stake (automobile programs) need to be fullproof probably need different approach than standard web development. I am not trying to downgrade web problems here, I just think that web is more complicated than it really needs to be. There is nothing of value that comes from what I have written here since there is no clear substance. Have a good day.

    • @davidhart1578
      @davidhart1578 14 днів тому

      Haha ❤️ no it's a good point. There are definitely problems in web that require a lot of thought, but most of the time I work at companies that are providing a "nice to have" service instead of a critical app. If the app is down the customer will go "oh well I'll come back later". I came from a company that had very high SLAs (an ISP) to one that didn't even have uptime metrics in place, but the developers still had this very cautious, procedural approach that just didn't make sense. Thanks for the thought!

  • @IamRealZote
    @IamRealZote 15 днів тому

    Literally clicked on the video at 5am because I cant sleep. Thanks for the rant. Thanks for putting all that into words. Appreciate it.

    • @davidhart1578
      @davidhart1578 14 днів тому

      Glad it helped 😊❤️ we all have rough times and it helps to know we're not alone. Thanks for watching! Also I'm going to have to replay Hollow Knight after seeing the Zote profile photo 😂

  • @ThatsPety
    @ThatsPety 15 днів тому

    Im going to go against the crowd here and say that the first example can be better. I disagree with "its easier to understand because its all in front of me". I mean yes, all else equal shorter code is better, but all else is not equal, and shorter code often demands more effort to understand what its doing, while slightly longer code with more abstraction can be more obvious and thus easier to understand. In the first example, you can treat each function as a black box and potentially understand, at a high level, what it's doing much faster than the second example, where you have to understand the computation of many or even every line to understand what its even doing. Now of course you can overdo it, and its extremely easy to overdo if you're not conscious of this. For example, i think your first example here is slightly overdone. But just like more abstraction isn't necessarily better, less abstraction isnt necessarily better either. I think the best is somewhere in the middle

    • @ThatsPety
      @ThatsPety 15 днів тому

      But i do want to say i loved this video. OOP has gotten way out of control, and I think video is a good alternative perspective

    • @davidhart1578
      @davidhart1578 14 днів тому

      Yeah that's fair, it's definitely a case of picking the right tool for the job. I got annoyed at this test specifically because they removed the "problem solving" part to instead focus on OOP. Going into that kind of test you're constantly second guessing yourself and imagining the code they would like to see, instead of solving a problem in a practical way.

    • @ThatsPety
      @ThatsPety 14 днів тому

      @davidhart1578 agreed on that. Worse yet is when they try to convince you that the first way is the "right" way to do it and the second way is the "wrong" way

  • @RoamingAdhocrat
    @RoamingAdhocrat 15 днів тому

    David Whitney gives a talk, "Intentional Code (Minimalism in a World of Dogmatic Design)" where he says to burn your copies of Clean Code. Quite refreshing! And I love Dan North's CUPID properties as a replacement for SOLID

  • @wknight8111
    @wknight8111 15 днів тому

    If you ask me to solve a problem, I'll try to solve that specific problem in a simple and straight-forward way. If you ask me to create a framework for solving a whole class of related problems...well that's a different thing entirely. You don't need a Domain Model if you don't have a domain. You don't need objects if you don't have to encapsulate state and methods away from other encapsulations of state and methods, etc. Complexity Must Be Justified. Clean Code is a great way to get developers to start thinking about the code they write in a qualitative way, but if it becomes a shackle that forces developers to become complacent or to stop being mindful, then it's a liability and should be jettisoned. Unfortunately with how dogmatic some people get about programming, A lot of people really fall into the second case.

    • @davidhart1578
      @davidhart1578 14 днів тому

      Yeah I've replied to someone else blaming Uncle Bob for this. I think it's more that people see his principles as rules that have to be applied even when it's not practical.

  • @genx7006
    @genx7006 16 днів тому

    I am in the midst of a project like this right now. The project was complete and working weeks ago. But then committees got a hold of it, and mutated it for no reason. Insane new workflows were added, with no benefit to the end product. And of course I get yelled at for missing the original deadline.

    • @davidhart1578
      @davidhart1578 16 днів тому

      Ah yes, the old classic. "We agreed on this deadline" "We also agreed on these requirements" "But it's agile so requirements change"

  • @AnonymousAnonymous-l2i
    @AnonymousAnonymous-l2i 16 днів тому

    Getting Real book by 37signals talks about this.

  • @robertpirsig5011
    @robertpirsig5011 16 днів тому

    Im not sure if i get the law entirely but i remember doing a analytics project were i built a dashboard that was of a very simplistic nature with straightforward KPIs just to familarise myself with the business. We also had an expert contractor built dashboard that was this amazing tool, with every aspect of analysis imaginable (which was as i found later, surplus to requirements). With this particular tool you could analyze the number of people who used it on a daily basis. Lol and mine was more used because i think most of the business found the expert built one a bit convoluted. It was a fluck on my part as i was just learning but I think when we are building things it is very important to communicate effectively with the ones you are going to be building for. And Really asking them if they actually think they'll use it.

    • @davidhart1578
      @davidhart1578 16 днів тому

      Yeah that's the sort of issue I'm getting at. The contractor went off and created their "perfect" solution but never considered what the user actually wanted. Sometimes we carry over "requirements" from our previous job or our personal aspirations, even though they don't have any value for the end user.

  • @ButSureLuke
    @ButSureLuke 16 днів тому

    OMG thank god I heard this. On any personal project I do(because of course I'm not currently employed as a SE), I never deliver a minimal viable product. I keep thinking of features this app 'could' use and the work items just increase rather than decrease. I definitely get stuck in the mud of having a 'perfect' app(that never releases) rather than a simple functioning app that offers the basic value without all the bells and whistles. I used to think it was a good thing I did because it'd make me a better developer but I can honestly see that it's the opposite after watching this. I'm going to try and focus on just getting something up and running and offering value. Good video!

    • @davidhart1578
      @davidhart1578 16 днів тому

      Yeah absolutely, I've been trapped in that spot myself. Derek Yu (creator of the game Spelunky) wrote an article years ago about finishing a game. It's a good read, points out a lot of the excuses you make to start over. Thanks for the kind words! 😊

  • @StevenHokins
    @StevenHokins 20 днів тому

    Nicely said

  • @fardelian
    @fardelian 25 днів тому

    Thanks for putting my thoughts and feelings into words.

  • @fardelian
    @fardelian 25 днів тому

    What you're talking about is Cargo Cult Programming. There's a Wikipedia page dedicated to it and I have seen a few developers, like you, talk about it, but I have never met one in person.

  • @fardelian
    @fardelian 25 днів тому

    The beauty of Tailwind is that you don't write styles any more, you just write the class names. I mean, sure, on top of CSS you also need to learn Tailwind, but think about all the bytes you're saving when you're sending HTML down the pipe!

    • @davidhart1578
      @davidhart1578 21 день тому

      Yeah I think the utility CSS idea makes a lot of sense, especially at scale. Wasn't the right solution for that project because of the build pipeline differences etc but I think it's probably the way forward

  • @ast_rsk
    @ast_rsk 26 днів тому

    "Performance is a secondary concern until it isn't." This is very much my experience professionally.

  • @petedisalvo
    @petedisalvo 27 днів тому

    Nobody who advocates clean code is unaware that there is a performance hit. It's disingenuous to use small code examples to criticize clean code because clean code is meant to address coupling and manage dependencies in large systems. As systems get larger they naturally begin to modularize to make parts of it more cohesive and to manage coupling and competing business and team structural needs. Also, code is read many more times than it is written, and when you have a lot of it, you need to prioritize readability and testability over performance as high performance solutions are often not as readable.

    • @davidhart1578
      @davidhart1578 27 днів тому

      I guess the larger point is we're using "clean" to indicate strict adherence to a larger framework, and using it to form judgments that don't relate to actual readability. The metaphor is less "clean dishes" and more "clean soul".

  • @littlefoot8078
    @littlefoot8078 27 днів тому

    Loving this content David, your videos are amazing and I need to comment on how soothing your voice is. Makes it for a really good listening experience. Have a good one!

    • @davidhart1578
      @davidhart1578 27 днів тому

      Ah thanks 😊 glad you enjoyed it! If this doesn't work out I'll have to start an ASMR channel 😂

    • @davidhart1578
      @davidhart1578 27 днів тому

      Also no you have a good one 😜

  • @muhdiversity7409
    @muhdiversity7409 28 днів тому

    I worked in a company that took clean code to stupid heights. The code scanner when you checked in even had clean code rules in it so you'd get flagged for stupid things like your functions being more than 5 lines in length etc. The entire codebase was an enormous pile of incredibly difficult to read spaghetti. Uncle "Bob" is a farking moron.

    • @davidhart1578
      @davidhart1578 27 днів тому

      I agree, but I don't think uncle bob is fully responsible. People apply principles without thought for the situation. One of my old teams wanted to enforce code coverage by raw percentage and I had to point out that it means if you delete code with tests, you also have to delete code without tests to balance the calculation 😂

    • @muhdiversity7409
      @muhdiversity7409 27 днів тому

      ​@@davidhart1578 Sadly the people making the decisions are not developers it is imposed from on high with no input from actual developers. The stories I could tell for coverage and unit testing are so comical if they weren't so sad. I think they hire people with art degrees into positions of authority and hand them uncle bobs book to then impose their understanding of the stupidity on the organisation. It happens because the company is so big there's no one to turn to to figure out where this nonsense is coming from and correct it. Watching uncle bobs videos was a requirement in your yearly mandatory "training"

  • @MegaICS
    @MegaICS 28 днів тому

    my take on this is: just make sure you do informed choices when programming, you have to balance both on not being a "corporate programming automaton" and not being a non-"good principles" cultist. use the tool is most fit on the problem at hand and, just sometimes, that tool might be that very-dreaded "abstract factory" pattern

  • @Stu4rt
    @Stu4rt 29 днів тому

    i love you

  • @AnonymousAnonymous-l2i
    @AnonymousAnonymous-l2i Місяць тому

    When I first started code I felt there is something wrong but I couldn't put my finger on spot. The practices/the processed the bullshit buzzwords - the high ground elitist attitude from internet when questioning those things. Invested time in computer engineering/computer science/math/unix/functional programming now things are more clear. I feel its a spiritual warfare to fight against those tech diletants - they use big words factory of factories etc.. When in reality its a bluff of covering up their lack of expertise in problem domain. Glad I've found your youtube man, gathered tons of blogs links links with people talking about same bloat problems.

  • @Happy_beard
    @Happy_beard Місяць тому

    Well done David! I enjoyed listening as I was demystifying some over abstracted code.

    • @davidhart1578
      @davidhart1578 Місяць тому

      Thanks 😊 btw love the dude profile photo, my original script had a skit about how it was "just my opinion man" 😂

    • @Happy_beard
      @Happy_beard 23 дні тому

      ​@@davidhart1578 Dude, it would have been great man. I enjoy all references to our beloved "His Dudeness"; you should put one in another video.

  • @speedychicken831
    @speedychicken831 Місяць тому

    I won't lie, I didn't want to watch it at first since it was so long and because I wasn't sure what it was about, but I'm happy I forced myself to watch it. Anyways, great video! And, I don't know how you do it, but every video I watch you somehow surprise me.

    • @davidhart1578
      @davidhart1578 Місяць тому

      Yeah the length was definitely a concern, first draft was almost 2 hours. Thanks for the kind words! I'm still not sure if I've found a "niche", but I'm slowly figuring out what this channel is about lol

  • @genx7006
    @genx7006 Місяць тому

    Only a software developer could come up with something so convoluted. Bravo! 👏 😊

    • @davidhart1578
      @davidhart1578 Місяць тому

      All those years of UML and architecture discussions turned out to be useful for something 😂

  • @ItsGwame
    @ItsGwame Місяць тому

    10 mins in and really enjoying this. Good job, Dave 🙏

    • @ItsGwame
      @ItsGwame Місяць тому

      Side note, following the Christian creation myth and Genesis and so on: there's a book called Ishmael by Daniel Quinn which explores this beautifully that I think you'd really appreciate.

    • @davidhart1578
      @davidhart1578 Місяць тому

      Ah cheers man, must check it out. Always good to hear from you!

  • @OscarHermoso
    @OscarHermoso Місяць тому

    Great video, David (almost as good as Don't Model the Problem). Your dad sounds like a champ. Keep the content coming

    • @davidhart1578
      @davidhart1578 Місяць тому

      Thanks Oscar 😊 I got stuck in my own head for a long time with this one. Talking about religion as an atheist is weird and I ended up trying to frame everything perfectly. He helped me realize that if people didn't give it a chance that was on them. Hoping to get stuff out more often now that I'm done with it.

  • @Sarah-158
    @Sarah-158 Місяць тому

    The video at the end 😭😭🥹 sorry for all my screaming while you tried to play with Dad 😂😂

  • @RoyRope
    @RoyRope Місяць тому

    I think of 2 things. First, these design patterns, adaptability, testability and readability don't come into play until your programs grow. But you can't expect applicants to spend days on some silly exercise. Yet these aspects of software development are important for more seniority, so you want to test if the applicants have the required knowledge so you end up with some exercise which get over engineered. Second, performance might come into play for given parts of the program, rarely every part has to perform because of given bottlenecks. What is almost certain though is there will come changes. I agree on your closing statement, if you can argue why you think you have a better approach than what they had in mind, but they overrule you simply by dogmatic ways that's just dumb.

  • @robertpirsig5011
    @robertpirsig5011 Місяць тому

    For what its worth I think you are a very excellent comunicator. I enjoy listening to you comment on things. I was also a big hypochondriac all my life. I think it ground me down so much that i literally didn't care if an ailment got me anymore. Im a lot more chill about it now. I have a couple of good and positive friends who've had similar issues and i am lucky for that. Anyhow, i think you are right to know hope we have to know our doubts. Best wishes my friend

  • @geidelguerra
    @geidelguerra Місяць тому

    David I feel you. I have been there. Less severe than what you are describing. Lift weights, take a walk once in a while, eat well, remove poisons as much a possible. Life is good. You are not that bad. Life is good.

  • @4923470021
    @4923470021 Місяць тому

    Hey David, I hardly ever comment on videos but just wanted to say thanks for sharing and that you’re not alone in feeling this way. Sometimes things just feel shitty and it’s hard to pinpoint one reason. It’s even harder when you feel like you can’t explain yourself to other people. You’re not crazy, I completely understand your feelings and thoughts as I’ve shared many of them. You’re talented at expressing yourself and come across as very honest and thoughtful which is a refreshing change of pace compared to most UA-cam creators. It’s ok to slow down and take care of yourself. Best of luck

  • @Dekutard
    @Dekutard Місяць тому

    i get it man. ever since high school i was suicidally depressed. treatment resistant. no meds did anything for me, nor exercise, i kinda had some friends but only one irl, i knew i was too fucked up to have fulfilling friendships and relationships. nothing mattered to me and i was set that i’d rather die than work for the rest of my life. it was about 15 years of therapy, psych, hospitals, TMS, shock therapy, meds, panic attacks, loneliness, betrayal, failures, shit jobs, weird pains showing up no one could explain… i thought it would never end. things are different now. still not easy, and i still have terrible days. but i have to admit they’re not all terrible now. at least i feel like i somehow meant to be here and death is not the answer, that fear even if it shakes you to your very core is just a distraction from the truth. i forgot about faith, it didn’t make sense logically that things would work out. but you gotta let that go and choose to hope. i know now that no matter how deep in your bones you know something, you can always be wrong.

    • @davidhart1578
      @davidhart1578 Місяць тому

      Thanks so much for this. I'm sorry you had to go through all that but I'm glad you found a way through it. I think I'm slowly getting there myself. I feel like I'm in the last stretch of a long journey and it really helps to hear from people who acknowledge how terrible life can be, but can still see hope in it.

    • @Dekutard
      @Dekutard Місяць тому

      @@davidhart1578 yeah. it’s crazy. it was my identity and whole world for many years. words can only do so much. i think i get what you were saying about wishing people could understand. i wish people could know just to be grateful for what they have, because some seem to just have no idea 😆 but there’s no way to express it and no good reason to bring it up for lack of a better way of putting it. anyway, thanks for listening and thanks for the vids. i’ll be here lurking and trying to remember to like the vids lol. good luck, and if there’s anything a stranger could do, lmk.

  • @ButSureLuke
    @ButSureLuke Місяць тому

    Sucks to hear man. After watching your 1st video a few weeks ago I was thinking 'Damn this guy is smart and has it together'. As a software dev for 3 years and now working a crappy unrelated job, I envied your position to seem so confident and smart. Goes to show what I take for granted like decent health. I hope things do get better for you genuinely. We all have our battles we are fighting

  • @alicebennett6437
    @alicebennett6437 Місяць тому

    Touching video Dave, love the openness 🙏So needed in today’s world. You help more people than you know. Sending lots of support

  • @speedychicken831
    @speedychicken831 Місяць тому

    Good video.

  • @VegitoAttacks
    @VegitoAttacks Місяць тому

    Have you tried going to the gym? It can help with your mental and physical health. It might seem like a chore at first, but once you start seeing your progress it can become fun. Start off slow with 30 min light intensity workouts and work your way up from that. Plenty of people feel the way you do. You need to find ways to take your mind off things.

    • @davidhart1578
      @davidhart1578 Місяць тому

      I went to a gym where they gave me a PT but to be honest they were a bit cultish. Put me on a keto plan after I told them I was diabetic and I only realized it was killing me when my eyes turned yellow. Should really find another gym though.

  • @elendil354
    @elendil354 Місяць тому

    Whats your metaphysics?

    • @davidhart1578
      @davidhart1578 Місяць тому

      Fairly agnostic, I went from very religious as a kid to very atheist as a teenager and now I'm somewhere in between

    • @elendil354
      @elendil354 Місяць тому

      @@davidhart1578 I think you need to sort that out first. Doing a deep dive on metaphysics will also take your mind off your health. Sometimes just thinking less of ones current state makes ones state drastically better. Not only history but also your nearest hospital is full of people both suffering more than you while also enjoying life more than you. So it is possible. What helped me a lot was to realise that joy is a function of selflessness, humility and gratefulness. (selflessness = thinking of yourself less, not thinking less of yourself. As CS Lewis so brilliantly put it.) As for the metaphysics check out the philosopers Alexander Pruss, Joshua Rasmussen and Peter Kreeft. They all have great talks and lectures on metaphysics.

  • @guillem_prz
    @guillem_prz Місяць тому

    Hey, I have recently discovered your channel and found your videos really helpful. I am also a software engineer and can relate to most of the things you say in this video. Hopefully better days come to you David.

  • @PleoPleo1
    @PleoPleo1 Місяць тому

    I send you a hug, thank you for sharing how you feel, hope you feel a little bit better sharing it.

  • @Sarah-158
    @Sarah-158 Місяць тому

    I'm always here for you Dave <3

  • @userDude4
    @userDude4 Місяць тому

    Health problems suck. I have a chronic skin desease and sometimes that overshadowes everything. Recognizing and cherishing the small and big victories throughout life keeps me going.

  • @raphael.e.diener
    @raphael.e.diener Місяць тому

    No comment I can think of seems adequate. So... Thanks for sharing