General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Brent Jacobs
Continuous Delivery
comments
Comments by "Brent Jacobs" (@br3nto) on "Continuous Delivery" channel.
Previous
2
Next
...
All
Dave is unfortunately skipping over all the steps required to make a codebase Continuously Integratable. Any codebase could be transformed to use CI. Some are just written so poorly that a lot of work is required to make it happen. That time and effort would probably be worth if it takes up to a month to validate a change. How can a company keep their competitive advantage when their codebases move that slow?
1
@ContinuousDelivery thanks Dave for your reply. Smaller steps seems like a good idea. Yes I’ve watched and now rewatched that linked video. It has useful discussion points. I think partially the anxiety is about unlearning “good” practices and getting comfortable with these proven better practices you are teaching us. I’ll report back how we went once we’ve had some time to trial it and build up our experience. Thanks again.
1
8:59 we don’t have a cloud based language yet. In the same way that we can easily invoke any functionality of a local PC from the one program, in theory we should be able to do the same across multiple PCs. We shouldn’t need infrastructure configuration and docker files and kubernetes files. They could all be managed within the code.
1
8:34 we really don’t have good mainstream language support for parallelisable programming though. Plenty of things in theory could be parallelised… like the mapping and filter functions performed on collections. But there isn’t any pipe function in any language that I’ve used. Eg. Each method call in `myArr.filter(filterFn).map(someTransformation).groupBy(someGrouping)` returns a collection before the next method call. That can’t be parallelised. If we had pipes, then each method would get called one after the other for each individual element. That process can be parallelised. Effectively, the group y would be different from the rest, as it would likely need to operate on a collection of Tasks or Promises, and await the results before dumping into the final data structure.
1
@ ah good point! And the AsParallel() method to parallelise it. I didn’t realise that’s how linq worked.
1
6:17 I very much agree with this. I have a sense that product owners are generally not trained in software engineering, which leads to a few extra problems. They don’t have the needed skills to make good software architectural decisions, and ultimately force the development team down paths they wouldn’t ordinarily go down, and designers are easier for the product owner to communicate with because there is less of a skills gap, so it’s much easier for the product owner to direct a project that way. I think product owners should generally be skilled in software engineering, and the less technical skilled people currently in product owner roles should become key stakeholders of requirements. I also think separated backend and frontend teams have created some odd choices in the frontend frameworks, which is why we are currently seeing Server Components pop up and marketed as a new concept as if SSR never existed. I honestly don’t know how you can efficiently create front end UIs without also having the ability to create and modify the backend. It’s always seemed odd to me. Probably why solutions like GraphQL exist too.
1
@Alex-tp5jj Sure. Not directly.
1
If there is an AI singularity, I don’t think it will wipe us out… as single cells are to humans, we will be to AI. That’s my guess.
1
@ApprendreSansNecessite data is data regardless of what it’s context or purpose is. I think your point about conflating types and contexts of data is more about the quality of a program, not whether it is functional programming or not. Mixing or separating context and purpose can be done in any paradigm.
1
@ApprendreSansNecessite the second a feature like first class functions and higher order functions is introduced, the function is no longer stateless. The function closes over some data that can either be used or manipulated by the function. This is no different to instantiating a class and calling a method on it. Pure functions on the other hand are no different to static methods or methods that could be static but don’t have that keyword. It’s for those reason I can confidently say that OOP is FP.
1
@ApprendreSansNecessite yeah, I completely agree with you about your comment to my earlier comment. Of course code can demonstrate properties such as immutability just by not mutating any data it has access to. I think what I was trying to say is that first class functions etc do have a state which may or may not be accessed and or modified.
1
@ApprendreSansNecessite if anything, it’s the anonymous classes of Java that demonstrates the true power of OOP used in a functional programming kind of way. And definitely also Java’s enum constructors. I’ve never come across anything as amazing and powerful as those two language features.
1
@ApprendreSansNecessite lol yes, exactly, that when limiting it to one method and when only using immutable variables is exactly like using a lambda! I find this interesting too… If a mutable variable is used, it can be thought equivalent to a state machine, or if multiple variables used, a non-deterministic state machine. I find this concept interesting because there is an entire branch of maths/science around these concepts and how they relate that could be used to specify well defined rules to refactor code or perhaps how to write code well. Yeah, ok I’ve never had a chance to look at Rust. Your recommendation makes me curious. Thanks. Yes, I assume that’s true that I can’t really know what FP looks like when I have the freedom in OOP to do different things. E.g. to understand your last comment about breaking FP flow.
1
In the test2() example, how are those statements linking together? Are the methods mutating state stored within shipping? Why have the final assert method is part of the shipping object?
1
@ContinuousDelivery thanks for the reply. Yes I get that shipping is a testing abstraction. I’ve never seen this pattern before. I’m asking how it works and how the methods tie together.
1
Nice vid! Nice to hear about a different topic from you 😃
1
Previous
2
Next
...
All