our notebook

Redux redux (via Pollux)
Yanick Champoux (@yenzie)
september 9th, 2016

Redux is a small JavaScript library that is quite popular at the moment. Liberally inspired by functional programming principles, it offers a state container that is accessed and modified via message passing.

Thanks to this message passing, and a strong emphasis on immutability and pure functions, it minimizes surprises and maximizes sanity. One of its beautiful promises, for example, is that since the state is only modified via messages (or actions) and pure functions, one can consistently replay the actions of an application and end up in exactly the same final state.

As I was reading and playing with Redux, I began to wonder... This is a blissfully small library. How easy would it be to port it to Perl? In the name of science, I had to try.

…read more


Announcing our YAPC::EU app!
Paul Zolnierczyk (@paulish29) & John SJ Anderson (@genehack)
august 23rd, 2016

YAPC::EU

If you’re part of the Perl community, you probably know how much Infinity loves Perl and Open Source. However, you may not know how much we also love Xamarin and mobile development --- but after you check out the new YAPC::EU::2016 app on iOS or Android we've put together, we hope you’ll appreciate how our love for Open Source is too big to be limited to just one language or platform.

…read more


OpenWest 2016 Recap
Jake Goldsborough (@rjgoldsborough)
july 22nd, 2016

OpenWest is “the largest regional tech conference devoted to all things OPEN: Hardware, Standards, Source & Data”. This year the conference was held in Sandy, UT from July 13th to July 16th.

Infinity sent a large contingent of folks to Sandy for the conference, and a number of them have summarized their experiences in this blog post.

…read more


iOS Animations in Xamarin - part 2
Will Hutchinson (@tetowill)
july 6th, 2016

TaxChat summary screen

We're back with the second part of our post on iOS Animations in Xamarin. In this post I'm detailing some of the animations seen in TaxChat, an iOS App we recently launched. In the first part we discussed AnimateNotify, AnimateKeyframes and AddKeyframeWithRelativeStartTime. In this continuation we will look at animating rotation and scale using CGAffineTransform, then animating a CAGradientLayer using CABasicAnimation.

…read more





iOS Animations in Xamarin
Will Hutchinson (@tetowill)
april 7th, 2016

TaxChat onboarding screen

We recently launched the app TaxChat, "tax preparation for people who have better things to do." The iOS app saves you from having to do your taxes by yourself; instead you just answer a few questions, snap a couple of photos and a certified tax professional will take care of your tax return for you. All through a beautiful & intuitive interface. You can read more about it at tax.chat.

Since we built TaxChat using Xamarin, I figure this is a great time to write a post on iOS animations in Xamarin and detail some of the animations seen in the app. If you don't already know about Xamarin, check out this introduction to Xamarin by our resident Xamarin MVP, Sean Sparkman. Essentially, Xamarin allows you to build native apps for multiple platforms all in C#, which is pretty sweet.

…read more


Herding Camels
Yanick Champoux (@yenzie)
february 12th, 2016

They say that no man is an island. Likewise, no software runs in a void. Well, except maybe for Voyager's main control. But that's not the same. And beside the point.

So, as I was saying, no software runs in a void. There are dependencies to think about. And depending of where you are in the overall stack, those can come in two flavors. There are, obviously enough, the dependencies that you are using, and there are the reverse dependencies; the other pieces of software that depends on your own.

Fortunately, testing is a very deeply ingrained characteristic of the Perl world. Modules come with their test suites, and the ever-vigilant, ever-running CPANtesters ensures that if a new release of a CPAN module breaks tests of another, authors are more likely than not to learn about it rather quickly.

That's already mightily fine. But sometimes one needs more… custom arrangements. Recently I had such needs, and with the judicious use of already-existing tools I was able create a little setup that would not only allow me to test a selection of modules on my box, but also let me painlessly upgrade those modules when they'd change on CPAN.

…read more


To Infinity And loading.......
Jake Goldsborough (@rjgoldsborough) & Will Hutchinson (@tetowill)
august 4th, 2015

Jake: Recently, I was working on an internal project and started thinking about the infinity symbol. After reading Will's great post on recreating the Archer title sequence with CSS animations, I came up with the idea to create a loader using the symbol. A loader is an animation used to signal to the user that something is happening, like data loading or when submitting a form.

…read more