00:00:08.480
All right, let's get started. This is the fifth annual RejectConf. Thank you! As I mentioned earlier, we're going to sort the talks by time, shortest first, so we can get as many people talking to you as possible and convey as much information as we can.
00:00:19.760
One thing I will say based on lessons learned from the past: if you’re too ad-lib, I’m going to boot you, and if you play Rush, I’m going to boot you as well. Stick to these guidelines, and we should be good.
00:00:39.120
So, did you guys sort yourselves? Go ahead, your hoodie, Rico. Are you going to be able to go with Standalone? Is that okay?
00:01:08.420
Now, let's move on to our first presenter.
00:01:44.479
I’m working on Merv and some other internal stuff. Johnson is a JavaScript to Ruby bridge. I wrote a terminal that I will use to demonstrate things. This might be tough with the Standalone configuration.
00:02:16.800
So, Johnson does some expected tasks in JavaScript mode. For example, you can create a variable. Then you can go into Ruby mode and see that same variable.
00:02:43.440
You can create an array in Ruby mode, switch back to JavaScript, and look at it. You can index it directly and manipulate it, all while remaining in JavaScript.
00:03:14.159
There's also the ability to pass a JavaScript function into a Ruby block. This block gets converted to a Ruby block and rendered using the Ruby side via a map function.
00:03:22.620
We have basic demos, including a templator function. This demonstrates standard JavaScript integration that works on the client as well. You can switch between languages seamlessly, allowing you to pass parameters back and forth.
00:04:02.700
Yes, I'm interpreting JavaScript. You can think of it as evaluating JavaScript but within the SpiderMonkey context.
00:04:15.000
What’s impressive is the bridge can handle Ruby objects. You can create Ruby arrays or handle Ruby files directly in JavaScript, just as you would expect in a JavaScript environment. This compatibility allows for testing functionality and ensures everything functions correctly between the two languages.
00:06:36.360
All right, can you hear me? Good. I'm presenting a project that I've been working on. My name is Sebastian Delmont from 3dc.com, and I'm based in New York City. We've been working on a project called Arepa, which we initially named before finalizing its direction.
00:07:22.199
Arepa aims to make the administration of remote equipment more efficient. We use Puppet for server management, but we find Puppet has several issues and limitations. Our goal is to build a system that allows you to specify what each server needs to do in a declarative manner, thus avoiding Puppet's complexities.
00:08:13.620
With Arepa, you will be able to find a host, set variables—like its IP address—and declare its role, such as a database server. You will specify what services the database server needs, which includes installing specific packages and configuring files.
00:09:19.740
For example, to define a database server, you declare that it requires a MySQL package and that certain configuration files are necessary. Each time you run the configuration, Arepa ensures it manages the installations without trying to abstract away the underlying complexities.
00:10:22.400
We've developed some underlying code that can handle these configurations. While initially there may be some confusion, we're making strides towards completion. If anyone is interested, feel free to reach out, and you can check out the GitHub page for Arepa.
00:11:12.779
Do we have anyone else who wants to give a talk? Come on! This is a short line; we should have more people eager to share their insights.
00:11:30.959
Let's get those lines moving. If you have something to present, please step forward and bring your ideas to the stage.
00:12:31.000
All right, now let’s move to the next speaker.
00:12:35.000
I’m Gregory Brown, and today I want to talk about the Ruby Mendican project. For those unfamiliar, a Ruby Mendican is someone who survives on the generosity of others, often within religious contexts. Thanks to contributions from 70 individuals, as well as support from Ruby Central, I’m taking 22 weeks off to work on open-source projects for Ruby.
00:13:43.020
The first project I’ll be working on is called Prawn, a PDF library designed to be fast, nimble, and efficient, much like its namesake. The current standard library for generating PDFs—the PDF Writer—has become unmaintainable, which is why we’re transitioning to Prawn.
00:14:27.960
Some goals for Prawn include Ruby 1.9 compatibility, internationalization for non-English speakers, and a focus on speed. While the PDF Writer generates documents at a slow pace, we’re aiming for improved performance.
00:15:54.660
We’ll also enhance the API to cater specifically to Ruby developers rather than maintain compatibility with other older languages.
00:16:31.020
I have some big plans for Prawn, including support for color, page sizes, and more complex graphics like Bézier curves in the coming weeks. I’m hopeful I’ll have a working version ready by May 5th.
00:18:49.520
However, getting started on complex text rendering will be challenging. While there’s currently a limitation on what Prawn can do, my aim is to focus on drawing meaningful visual representations over the next several weeks.
00:19:53.200
If anyone is interested in collaborating on this project or discussing further, I would love to connect with you later. Thank you!
00:20:48.900
Okay, I think we can wrap up this talk. Is there anyone else who would like to present? If so, come up!
00:21:02.460
I'm Luke Miglia, and I want to share a new feature I’ve integrated into my tools that helps monitor frequently changed code within projects. The aim is to pinpoint areas for refactoring or optimization based on usage statistics.
00:21:50.050
This feature parses your project’s Git log to identify files with the highest frequency of changes, then runs a simple analysis to gauge their code quality. Such insights could significantly optimize your development process.
00:22:34.560
You can find the script for this tool on my website. Just follow the link, and you can start benefiting from this innovative approach to managing your code quality.
00:23:08.640
Thanks for your time! Is there anything else anyone wants to add or share? Otherwise, we’ll continue dimming the lights and preparing for the next set of talks!
00:25:24.690
Alright, I am going to address a popular topic—our experience with Ruby’s mocking frameworks and their implementations. I’ll show you an exciting, minimalistic mock framework that captures the essence of what makes testing engaging.
00:26:11.290
This framework captures the simplicity and elegance many of us appreciate about Ruby. It is compact, efficient, and built with usability in mind, complementing the expansive Ruby ecosystem.
00:27:15.420
If you have ever expressed interest in streamlining your testing strategy, this might just be the solution you're looking for. Let’s get into a demonstration of how it operates.
00:27:57.340
So, that’s all I have for now. Thanks everyone for your participation today; it's this lively exchange of ideas that drives our community forward. Until next time!