CMOS #18: Timi Ajiboye on Client Manager, Resque, Friendly ID and other Rails gems
Interview with Timi Ajiboye, a great discussion of his view of open source, and his work in Ruby, his favorite Ruby Gems, and his new projects in Sails.js!
What are you doing?And he said,
This is Visual Basic.Like, show me. So he taught me how to hide UI elements or display them, or how to get values from what the user's inputting, so I made like a calculator, around when I was eleven. Yeah, so since then, I've always understood sort of programming, since I was ten.
Okay, this thing has some of the functionality I want but I need to add this one to it, so I can use it.So that way everybody writes less code but gets it better, much better, much more stable. People are so different and you'd be surprised how differently people can see your code and show you what's wrong or what can be better. It's which is why, I think, open source is...yeah, I think it's pretty selfish. It's not in every scenario that it applies, that you can use open source just like, expose all the code. I don't think it's everything Facebook does is open source, everything that Apple does, but it makes sense in some scenarios like React or tools that we use everyday to write code, it makes sense.
Okay, you make a parser for this bank, this format, you do Excel and this bank.It was fun, that was my first gem, so for me it was the first gem that I had something to do with. It was fun. It was nice to see how everybody just works on separate parts and everything come together. The other one, which is the one I made alone, for now, with no contributors, is Client Manager. Basically it is to authenticate clients from, if you've been in an API and you want to make it from an application or your iOS to access that API, you just need to install Client Manager to your app and it does a lot of that for you automatically. You can just use the GAuth auth client or you can add users like you add clients. And then they get their token and they can add that together. So that's two, those have been pretty...
There's one called Friendly ID. So Friendly ID automatically helps you handle slogs for your modules, so you can have your blog posts but you want to have slogs and you want that slog you be in the URL, rather than in /post/number, you know? Friendly ID just automatically does it with ease, you just need to add like two lines to your model, and it automatically handles slog creation.
Another thing I use, I use Resque for a synchronous purposes. I don't know why I choose Resque over something like DelayedJob, I think it was just easier for me to learn how to use. But first of all, you create jobs in a jobs folder and you can en queue them. And if has this other open source gem, that's the Web Interface to see your jobs and your workers. So I really like how it works, I've used it for stuff like moving images from a workstation to a CDN, you don't want to have it blocking your requests. You just want it to spot them and move them, and it happened really fast, it moved about 16,000 images in minutes, because I had 14 different workers processing these jobs...
Maybe I do know something, maybe I can do this,and you'll be able to. But you'll have to...it's better if you're doing it on projects you actually want to use, and you like. Because that way, fixing those things would affect your own applications that you're building and there's more on the line, so there's more motivation to fix those things.
Okay, thank you very much, I think we can get to the end of this interview. Do you have any other issues you wanted to mention that we have skipped over, forgotten?
JumpsSoCool is quite weird because it doesn't have any particular theme, I'm just teaching how to build anything I've built before. So if I built a voice-activated home automation motor, I write really long tutorials on how to...which there's one series like that going on. I just write anything I've built, maybe because I do a lot of experiments and they never see the light of day. They're never public. So I figure that'd be a good way to show it off and to teach people how to do them. And get some much-needed help.
Oh, I didn't know this and this and this!
We have frontend and backend.
We have people like me, who sort of do everything, but the frontend is my weakest aspect, I don't think I'm every going to be a full, really good frontend developer. But my experience in doing all of these things is different from the experience of someone doing only frontend. I'm doing backend and all of us kind of learn from each other. It's amazing.