#Ruby

#TaylorEngine v0.4.1 has released!

- New collision methods
- New colour tweaking methods

Trying to do minor releases with some frequency now that the biiiig redesign is all done.

taylormadetech.dev/2026/01/26/

#ruby #GameDev #OpenSource #FOSS #MIT

The Taylor Engine header
2026-01-25

I'm looking for #Ruby or #Elixir work, can start immediately. Freelancer, getter-of-things-done, many years of experience, feel free to DM for more info. Can work worldwide. Happy to work with other languages/frameworks and devops as needed.

2026-01-25

@joerg_spengler yes but #problem example #mastodon mas.to is running on #donations (?) the massive #RAM hungry #ruby is a expensive 500 bucks a month expensive problem hetzner.com/dedicated-rootserv #eu #gov needs to help

Curated Hacker NewsCuratedHackerNews
2026-01-25

Accept_language 2.2 – RFC 7231/4647 compliant Accept-Language parsing for Ruby

github.com/cyril/accept_langua

three word chant3wordchant@social.coop
2026-01-25

Almost 15k lines of #Ruby, bodily dragged into the present, catching up on ~6 years of updates.

Test coverage increased from "uhh basically nothing" to 65%.

And, thanks mostly to #Rubocop, the code is way neater and more maintainable now.

We even accidentally fixed some longstanding bugs!

Hugely excited for the next major dev task: moving away from "Amazon" "Web" "Services" for file hosting.

three word chant3wordchant@social.coop
2026-01-25

WOW IT IS DONE!!!111

github.com/neuronic-games/leve

497 files changed, +12137, -8793

Now there are ~5 days to test before the next cohort of students is let loose on the platform 😌

#Ruby #Rails

I updated my "is #guile fast?" page with the new r7rs #benchmarks data and anchored Guile and #Chez in the benchmarksgame:

#Scheme benchmarks: draketo.de/software/guile-fast
Compared to other languages: draketo.de/software/guile-fast

Chez is roughly factor 7 slower than C,
Guile roughly factor 18
(#Java 3.5, #SBCL 5, #Racket 12, #Ruby 60 and #Python 70)

Diagram of the slowdown of different programming languages, with Guile and Chez anchored it:

#+caption: Approximate geometric mean slowdown¹ as of 2026-01, /Guile* and Chez* only via their relative speed to Racket. ¹ taken by eye from the benchmarksgame graph./
|          |   C | Java | SBCL | Chez* | Racket | Guile* | Ruby | Python |
|----------+-----+------+------+-------+--------+--------+------+--------|
| Slowdown | 1.1 |  3.5 |    5 |     7 |     12 |     18 |   60 |     70 |
Bozhidar Batsov (a.k.a. Bug)bbatsov@hachyderm.io
2026-01-24

The TIOBE index is often cited when people discuss programming language popularity, but it's ridiculously flawed. I mean, just take a look at the current data - according to it #Ruby and #TypeScript are less popular than #Cobol, #Prolog and Visual Basic…

2026-01-23

```
def foo = raise "useless foo"
val = true

val ||= false if foo # will raise
val ||= (false if foo) # no raise
```

#snippet #ruby

2026-01-23

my PoW is looking to hire Ruby/Rails developers at multiple levels over the next few months.

we're an established/profitable and rapidly growing startup in the health/research services space. the team is experienced and energized. compensation is competitive.

if you're a real one, be in my DMs.

#ruby #rails #hiring #jobs

2026-01-23

Zrenitch

Blog/Images/Code: blog.illestpreacha.com/genuary

#Genuary #Genuary2026 #ElectronicLiterature #Worldbuilding #Genuary20 #OneLine #visualpoem

For the 20th Prompt of Genuary2026: One Line, “Zrenitch” Uses One line of #Ruby / #SonicPi to make visual symbols out of letters in a customized font and effects

#creativecoding #coding #worldbuilding #scifi #animation #glitchart #speculativedesign

2026-01-23

OneLineToMake

Blog/Poems/Code: blog.illestpreacha.com/genuary

#Genuary #Genuary2026 #ElectronicLiterature #Worldbuilding #Genuary20 #OneLine

For the 20th Prompt of Genuary2026: One Line, “OneLineToMake” Uses One line of #Ruby / #SonicPi to make Poems from the output.

Example
y i q m u e a
u q y i e m a
a e q u m i y
m a j p y g s d v
g s a y m

#Poem

You’re in Quantifiable measures under every arc
Uniting questions, your inner entity may ask
Availability emotes quivers until minds inquire yearly
Making answers, jousting potential yearnings, Gathering some diverse velocity
Gimmicks, some are: Your Move

#creativecoding #literarydesign #micropoem #worldbuilding #mathematical #experimentalwriting #writing #livecoding #ELit

Oinak :ruby:oinak@ruby.social
2026-01-22

I started refactoring #adventOfCode Day 9 in #ruby and in this case I opted for extracted auxiliary modules (Memoize) and classes(Point and Rectangle).
Unusual for AoC but satisfactory.

# auxiliary classes and modules code:

Point = Data.define(:x, :y)

Rectangle = Data.define(:corner1, :corner2) do
  def area
    ((corner2.x - corner1.x).abs + 1) * ((corner2.y - corner1.y).abs + 1)
  end

  def xy_bounds
    x_min, x_max = [corner1.x, corner2.x].minmax
    y_min, y_max = [corner1.y, corner2.y].minmax
    [x_min, x_max, y_min, y_max]
  end
end

# intentionally naive for argless methods
module Memoize
  def memoize(name)
    original = instance_method(name)
    ivar_name = "@#{name}"
    define_method(name) do
      if instance_variable_defined?(ivar_name)
        instance_variable_get(ivar_name)
      else
        instance_variable_set(ivar_name, original.bind(self).call)
      end
    end
  end
end# Advent of code - Day 9
class MovieTheater
  extend Memoize

  attr_reader :corners

  def initialize(filename)
    @corners = File.readlines(filename).map do |line|
      x, y = line.strip.split(',').map(&:to_i)
      Point[x, y]
    end
  end

  def solution(advanced: false) = advanced ? max_inscribed_rectangle : largest_area

  # Part 1
  def largest_area = all_rectangles.map(&:area).max

  # Part 2
  def max_inscribed_rectangle = sorted_rectangles.rfind { inscribed?(it) }&.area || 0

  private

  memoize def all_rectangles = corners.combination(2).map { |pair| Rectangle[*pair] }

  # Part 2
  def sorted_rectangles = all_rectangles.sort_by(&:area)

  def inscribed?(rect)
    x_min, x_max, y_min, y_max = rect.xy_bounds
    !intersects_rows?(x_min, x_max, y_min, y_max) && !intersects_cols?(x_min, x_max, y_min, y_max)
  end

  def intersects_cols?(x_min, x_max, y_min, y_max)
    col_spans.any? do |x, (c_min, c_max)|
      next false unless x > x_min && x < x_max

      c_max > y_min && c_min < y_max
    end
  end

  def intersects_rows?(x_min, x_max, y_min, y_max)
    row_spans.any? do |y, (r_min, r_max)|
      next false unless y > y_min && y < y_max

      r_max > x_min && r_min < x_max
    end
  end

  memoize def row_spans = corners.group_by(&:y).transform_values { |cs| cs.map(&:x).minmax }
  memoize def col_spans = corners.group_by(&:x).transform_values { |cs| cs.map(&:y).minmax }
end
codeDude :archlinux: :neovim:codeDude@floss.social
2026-01-22

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst