Showing posts with label Talk. Show all posts
Showing posts with label Talk. Show all posts

Thursday, December 19, 2024

Video for RubyConf 2024 Workshop "How To Build Basic Desktop Applications in Ruby"

The video for my RubyConf 2024 Workshop "How To Build Basic Desktop Applications in Ruby" has been released:

https://www.youtube.com/watch?v=TTSqRdTVtDY

This video is not only useful to Ruby Developers who want to learn how to build basic desktop applications in Ruby with the Fukuoka Ruby 2022 Award Winning Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library), but also to Rails Developers who want to build Rails productivity tools as Ruby gems (e.g. the rails-gui gem offers a user-friendly fast GUI for rails routes), leverage all the awesomeness of Glimmer in the Frontend of Rails applications 🤯 (in the workshop, I mention a new Glimmer DSL for Web that has all the features of Glimmer desktop gems tailored for Rails Frontend Development), and improve their skills in Object Oriented Programming, Software Architecture, and Software Design in general, like how to apply MVC (Model-View-Controller) & MVP (Model-View-Presenter) correctly to improve productivity and maintainability, instead of doing things the Rails MVC way, which is not completely correct. 

Here are some interesting requests I received from attendees at RubyConf 2024:

  • Write a book about how to build GUI Desktop Applications with Ruby (I actually started writing such a book about 4 years ago, but then got pulled into building Glimmer DSL for LibUI and winning a Fukuoka Ruby 2022 Special Award for it; the book is still a great idea! I will keep it in mind.)
  • Build a code editor that supports live GUI updates (I blogged more details about this topic here: https://andymaleh.blogspot.com/2024/12/the-dcr-kids-programming-language.html)
  • Build a Glimmer DSL for DragonRuby to simplify Game Development with a Ruby DSL

Also, during the follow-up RubyConf 2024 Hack Day Event, we got to build Hangman and a Hockey joke AI app.

Happy learning!

Here is the GitHub repository with the workshop code exercises and test solutions:

https://github.com/AndyObtiva/how-to-build-desktop-applications-in-ruby/tree/rubyconf2024

Here are the workshop presentation slides:

https://docs.google.com/presentation/d/e/2PACX-1vSAaFLYeyolSy2Qe2tW0djv78tA-m120i4DJyaJ4qAHoWpv5Xppn_-yIpg4_IAGntetZkRDkkuT2zXN/pub?start=false&loop=false&delayms=60000&slide=id.g140fe579a5a_0_0


Thursday, January 18, 2024

Montreal.rb Jan 2024 Building an AI Medical Scribe in Ruby

The video of the Jan 2024 Montreal.rb Ruby Meetup A.I. talk "Building an AI Medical Scribe in Ruby" by Jean-Sebastien Boulanger (CTO of Circle Medical) has been posted.

Talk Description:

In this talk, I'll share insights from our experience creating an AI medical scribe using Ruby at Circle Medical, a hybrid primary care provider seeing over 50,000 patients monthly. We leveraged Large Language Models (LLMs) to create a scribe to enhance clinical documentation and save doctors' time.

YouTube Video:

https://www.youtube.com/watch?v=BJwILlX0svw&list=PLRAf4zt5oEjc2mqmEN9m_O0JovQCXxvxt&index=10

Happy Learning!

Saturday, January 06, 2024

Montreal.rb Dec 2023 Building LLM-powered Applications

The video of the Dec 2023 Montreal.rb Ruby Meetup talk "Building LLM-powered Applications" by Andrei Bondarev (Solutions Architect / Owner at Source Labs LLC) has been posted.

GitHub link for Langchain.rb:

https://github.com/andreibondarev/langchainrb

Talk Description:

The 2023 breakthroughs in Generative AI (Artificial Intelligence) have been taking the software development world by storm. We'll take a look at a few components of what is quickly becoming the modern stack for building LLM (Large Language Model) powered applications. Andrei will build a case for Ruby in the emerging AI trend, and show how some of the AI capabilities can be leveraged today!

YouTube Video:

https://www.youtube.com/watch?v=KQlgWT6y5QY&list=PLRAf4zt5oEjc2mqmEN9m_O0JovQCXxvxt&index=9

Happy Learning!

Tuesday, January 02, 2024

Montreal.rb Nov 2023 Anatomy of a Payment

The video and slides for the Nov 2023 Montreal.rb Ruby Meetup talk "Anatomy of a Payment" by Michel Jamati (CTO/Co-Founder of Lexop) have been posted!!

Talk Description:

This talk will provide an overview of the business payment world. Attendees will become familiar with the actors and economics of the payment ecosystem, learn about the major regulations in the payment space that need to be complied with, and understand the Lexop approach to navigating these different challenges. Ruby on Rails examples will be demonstrated along the way to illustrate various types of payments that can be made with different payment processors.

YouTube Video:

https://www.youtube.com/watch?v=tbkVH0q3Vik&list=PLRAf4zt5oEjc2mqmEN9m_O0JovQCXxvxt&index=8

PowerPoint Slides:

https://docs.google.com/presentation/d/e/2PACX-1vRbkntSxjQa_vZvVl5lvnkLbHvkObHZ_CJq_jVflq1I0w_zi7X5D0lSSPvTqYotszuSELzKzt83dK23/pub?start=false&loop=false&delayms=3000&slide=id.g275d0888842_3_7

Happy Learning!

Monday, September 12, 2022

Presenting at Montreal.rb: Glimmer DSL for SWT - Ruby Desktop Development GUI Framework

I will be giving a talk at a Montreal.rb meetup with the title: 

"Glimmer DSL for SWT - Ruby Desktop Development GUI Framework"

The event will take place on Wednesday, October 5, 2022 at the Lexop office (506 McGill St Suite 400, Montreal, Quebec H2Y 2H6, Canada), starting at 6:30pm (talk starts at 7pm).

Abstract:

You may not already know, but it is possible to build native desktop applications for Mac, Windows, and Linux using Ruby, including native packaging as APP/DMG/PKG files on Mac, EXE/MSI files on Windows, and DEB/RPM files on Linux. In fact, Ruby syntax makes developing such applications much quicker with better maintainability than in traditional desktop development languages like C, C++, C#, Objective C, Swift, and Java. That is courtesy of Glimmer DSL for SWT, a JRuby Desktop Development GUI Framework that enables using the robust SWT cross-platform native GUI toolkit the Ruby way, with support for the following:

  • Application Scaffolding
  • Declarative Ruby GUI DSL (Graphical User Interface Domain Specific Language)
  • Declarative Unidirecitonal/Bidirectional Data-Binding
  • Declarative Drag and Drop
  • Custom Components
  • Canvas Graphics
  • Embedded Browser (Web View)
  • Native Executable Packaging (APP/DMG/PKG/EXE/MSI/DEB/RPM)

This presentation will provide attendees with a broad overview of the features of Glimmer DSL for SWT while demonstrating samples and complete applications along the way.

Target Audience:

This talk should be invaluable to web developers in addition to desktop developers as it shows how to apply MVC 100% cleanly in a local app, as opposed to in a cluttered web app with many layers of separation and routing complexity, so it provides a great reference of how to apply MVC optimally, which can transfer to the web in addition to being useful on the desktop.

RSVP: https://www.meetup.com/montrealrb/events/288312775/

If you are anywhere in the vicinity of Montreal or neighbouring cities (e.g. Ottawa), come and join us!

Please inform your colleagues and friends in tech about the event, and post about it on social media!

Update 2022-10-07: Presentation Video and Slides have been posted.

Sunday, September 11, 2022

Rails Remote Conf 2022 Talk Accepted - Ultra Light Wizard

Update 2022-09-12: Correction! the conference will take place February 6-10, 2023, not in September of this year.

My talk proposal for Rails Remote Conf 2022 (Feb 6-10, 2023) titled "Ultra Light Wizard" has been accepted!

Abstract:

Ultra Light Wizard is an approach for building multi-step forms in Rails that avoids issues like code duplication, endless conditionals, and confusing mixing of concerns. That is achieved by adhering cleanly to REST, MVC, OOP, Design Patterns, DDD, and Non-Functional Requirements such as Productivity, Maintainability, Performance, and Security. This presentation will cover common pitfalls in building Rails wizards, how to overcome them with the Ultra Light Wizard approach, and Ruby gems that help with implementing this architectural pattern.

Saturday, July 09, 2022

Montreal.rb 2022-07-07 Talk: How I Built My Code Editor in Ruby

I gave a talk at the Montreal.rb meetup group on 2022-07-07 titled: 

"How I Built My Code Editor in Ruby".

Here is the talk's video:

And, here are the presentation slides:

Related links:

Happy learning!

p.s. During the Gladiator demo, the Ruby script that I failed to run in the Scratchpad turned out not to be a bug... Upon watching the video, I noticed that I made a small mistake in writing the script, and the error message I got as a result was a valid error message that would have helped me correct my mistake if I had read it instead of skipping it during the presentation. In any case, I was able to run a Ruby script a little later in the other project I opened: Hello, Code Text!


Monday, June 13, 2022

Giving Montreal.rb Talk: How I Built My Code Editor in Ruby

I am giving a Ruby software engineering presentation at the next Montreal.rb meetup.

Title: How I Built My Code Editor in Ruby

Date/Time: Wednesday, July 6, 2022. Doors open at 6:30pm ET. Talk starts at 7pm ET.

Location: Lexop (my employer) on 506 McGill St Suite 400, Montreal, Quebec H2Y 2H6, Canada

Description:

Gladiator is a code editor that was built completely in Ruby. It supports syntax highlighting for over 30 programming languages, split pane, file name lookup, a variety of keyboard shortcuts, undo/redo, find and replace, line jumping, monitoring external file system changes, ignoring uneditable files, expanding to fill the screen, running Ruby code, remembering the last open files, and multi-project support. In fact, I have been using Gladiator for all my code editing needs since May of 2020.

In this talk, I will present Gladiator's features, and then dig into the implementation of every feature in Ruby, covering things like the Model-View-Controller and Model-View-Presenter architectural patterns, how to build custom widgets, how to implement file editing commands, and how to support undo/redo.

Attendees should walk out of this talk with rudimentary knowledge of how to build a code editor in Ruby.

---

If you live in Montreal, or anywhere nearby (e.g. Ottawa), come and join us!

RSVP at:

https://www.meetup.com/montrealrb/events/286529635/

Update 2022-07-09:

The talk video and presentation slides have been posted in this follow-up blog post:

https://andymaleh.blogspot.com/2022/07/montrealrb-2022-07-07-talk-how-i-built.html