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
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 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
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
In this blog post in our interview series, we would like to introduce
you to our own Jay Hannah.
Meet Jay. He is a traveling man, currently somewhere in North America
--- we think. He is a programmer and team lead at Infinity.
…read more
From time to time, it comes in handy to tie various types of
information (ticket id, bug or feature, task owner, sprint
information, deadline, etc.) against a branch. Often we can get away
with just adding them to the branch name, but it can get ludicrous
real fast. In those instances,
'bugfix/jira-613-sprintD-deadline20160523-by_yanick
' just doesn't
cut it.
…read more
In the latest post in our interview series, we’re pleased to
introduce you to Tommy Lee.
Meet Tommy. He is half of the founding duo of Infinity, a NY Yankees
season ticket holder and a sleep-deprived parent of three precocious
young girls.
…read more
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
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
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