Andrzej on Software: Recent Episodes

Andrzej Krzywda

Andrzej Krzywda from Arkency talking about all things software, including but not limited to Ruby, JS, OOP, DDD, CQRS, AI, business, sales, marketing

View Details

In this audio, we talk about the limitations of CRUD in representing the DB in the code. As an alternative, another approach is suggested - representing business in the code.

Later we talk about the reusability of business modules and how the low-code approach can fit here.

Arkency Ecommerce repo: https://github.com/RailsEventStore/cqrs-es-sample-with-res


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

When your application is event-driven or uses event sourcing, the feature of audit logs is almost for free.

Check, how I'm adding this feature in the Arkency Ecommerce app
https://github.com/RailsEventStore/cqrs-es-sample-with-res


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Slides: https://www.slideshare.net/andrzejkrzywda/event-driven-without-microservices

Example of modulith code: https://github.com/RailsEventStore/cqrs-es-sample-with-res


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

See the codebase here: https://github.com/RailsEventStore/cqrs-es-sample-with-res

Learn more about event-driven architectures: http://railsarchitects.com


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Check out our Book ➑ https://products.arkency.com/blogging/


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Wondering how to make the most of working from your home office? Looking for ways to optimize work organization in the present situation? Check out the video below for my review of β€œRemote Mob Programming, a book which offers interesting insights on remote work and the rules which should help us to squeeze as much as possible out of it.


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

The concept of B2D is that we're not treating developers as Consumers nor Businesses that much. We treat them as Developers.

This has an impact on the planned work on the CRM. The CRM will probably be more like DRM or DevCRM.

In the first spikes/explorations I will focus on modelling Arkency business processes, but the goal is to extract reusable domains, which can be applied in other projects too.


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Check out our Book ➑ https://products.arkency.com/async-remote/


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Hi everyone!

In this recording you can find:
➑ code comments
➑ commit messages
➑ README files


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Hi everyone!

In this recording you can find:
➑ Product Lines
➑ Serialisation


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Hi everyone!

In this recording you can find:
➑ full-stack developers vs specialised devs
➑ JavaScript vs Ruby
➑ Product Lines
➑ Frontend as a client or as a variant
➑ Opal Rb


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Hello everyone!
If you have ever wondered what makes a good rails architect and what skills and competences are required for the job, this video is for you. With another rails conference round the corner, I thought it would be a good idea to reflect on what it takes to become a competent rails architect and what challenges are facing the community today. Join me for another refreshing walk in the woods as I am sharing my perspective on this topic and discuss why it might not be the best idea to stay in the β€œrails bubble”. Plus, I am talking about the numerous events accompanying the upcoming WrocΕ‚aw conference.
Join here: https://railsarchitects.com/

I would love to hear your opinions so feel free to leave a comment below!


Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
➑ Rails Architect MasterClass. Start on January 1, 2020.: https://arkency.com/masterclass/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

Find more:

➑ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
➑ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
➑ Rails Architect MasterClass. Start on January 1, 2020.: https://arkency.com/masterclass/
πŸ“– Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
πŸ“– Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
πŸ“– Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
πŸ“– React.js by Example: https://reactkungfu.com/react-by-example/
πŸ“– Rails Meets React.js: https://blog.arkency.com/rails-react/
πŸ“– Asnyc Remote: https://blog.arkency.com/async-remote/
πŸ“– Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
πŸ“– Blogging for Busy Programmers: https://blog.arkency.com/blogging/
➑ Arkency Website: https://arkency.com/
➑ Arkency Blog: https://blog.arkency.com/
➑ Arkency on Twitter: https://twitter.com/arkency
➑ Arkency on Facebook: https://www.facebook.com/arkency.com
➑ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/

View Details

As Arkency we're active on several social media platforms, we also post on our blog, publish a podcast, record videos on YouTube and much more. In this video, I'm sharing some of the lessons learnt so far.

This is a beginning of a new series: Social Media for Busy Programmers.

View Details

This audio is part of the Rails Architect Masterclass. Next edition (3rd) starts at 01.01.2020.

Register here - http://arkency.com/masterclass/ and join the growing number of Rails Architects (over100 students already in the first 2 editions).

View Details

Before fixing your code, fix your process! - read the β€œAsync Remote” book.

http://blog.arkency.com/async-remote/

View Details

Andrzej Krzywda and Artem Sarkisov talk about:
the world of code editors
the challenges of delivering to the Ruby community
the JetBrains’ team
B2D
and much more!

View Details

original question - https://twitter.com/j_stadnicki/status/1110851852751589376

View Details

25-26 May 2017, the Rails/DDD workshop in Lviv - http://blog.arkency.com/ddd-training/

Pivorak - https://pivorak.com

View Details

https://fuckups.arkency.com/

View Details

Junior Rails Developer class - http://blog.arkency.com/junior-rails-developer/

View Details

Fearless Refactoring: Rails Controllers - http://rails-refactoring.com

View Details

ajax calls vs web sockets vs read models

View Details

I've just learnt about this concept, I hope I got it right ;)

View Details

In this episode you'll learn a bit about the current state of art with AI and playing computer games.

View Details

I try to find the most difficult academical paper on the topic and start from there.

View Details

Sometimes it happens - what to do now?

View Details

It can actually be both! But usually feature toggles are a better option

View Details

Event sourcing helps with providing the historical context.

View Details

The blogpost I'm talking about: http://blog.arkency.com/2017/02/how-to-unit-test-classes-which-depend-on-rails-models/

Link to my book about blogging: http://blog.arkency.com/blogging/

View Details

Sometimes it's hard to decide which way to go in the project.
2 techniques which help here:

  1. Timeboxed experiments
  2. Reversible decisions

View Details

You can hard-delete an object, you can also use a boolean flag "deleted", you can use a datetime field called "deleted_at". You can also have a record per each deletion. Finally, you can just use events.

What's best?

View Details

Collective Ownership + Small Stories + Single Backlog + Take the first task from the top

Those techniques help you achieve the milestone in the project, where you're able to work on any part of any system.

View Details

Integration tests bring more value if you're planning a bigger architecture refactoring. However, if you're mostly happy with the architecture, then unit tests will give you more benefits.

View Details

When is a good moment not to change an existing code but instead write a new module/class and replace it, in the spirit of immutability?

View Details

One person working remotely forces the whole company to follow remote techniques, in order to be efficient.

View Details

Often developers are waiting for the mythical Domain Expert to ask questions. What if most of the questions can be answered by google?

View Details

We're often asked for estimates, but the business is not always specific what is the actual need. Do they care about the calendar deadline or do they care about the budget now?

View Details

We try to find the perfect tool which would fit both, the developers and the project managers? What if this is a non-perfect approach? What if we go with two different tools?

View Details

Are we faster than 20 years ago? Are we making less bugs?