Our Blog

Engage with us

Now showing articles in "dancer"

Friday Grab Bag

Posted 2017-10-06 15:21:01 GMT

Happy Friday! Here's a healthy dose of randomness to start your weekend:

- The iOS 11 update is pretty nice so far, especially for iPad users. However, the battery usage on my iPhone 6s seems to have increased significantly. Has anyone else noticed this?

- PostgreSQL 10.0 has been released! Check out the announcement.

- AOL Instant Messenger will be discontinued on December 15th. It's the end of an era.

- The Perl Dancer Survey 2017 is online. The Core Team needs and wants your feedback about the future of Dancer. Find out more about the survey, and get your response in by October 31.

Have a great weekend everyone!

Tags: crome-plated perl dancer postgresql

What have I been up to since 2015?

Posted 2017-02-02 19:47:40 GMT

Since last I last posted something technical, I was between work opportunities and just getting involved with Dancer and the Perl community after a long time away. A lot has changed in that time, and I wanted to take a little time to share a bit about what I have been up to in that time.

Joining the Dancer Core Team

The thing that pleases me the most was having been invited to the Dancer Core Team. I have adopted the role of release manager, and for now, I spend most of my time on the project reviewing pull requests, running and writing tests, building and testing releases, and crafting release announcements. I spend time squashing bugs and dealing with GitHub issues as I am able to, and am looking forward to having some time this spring to get some wishlist items taken care of for the project. The Dancer Core Team is a talented, passionate group of developers that care deeply about the Dancer Community, and I am honored to be a part of them.

Rejoining the Perl Community

After a long time away, I have started participating in local Perl Monger groups again. I have mostly attended Chicago.pm meetups during this time, but have recently started attending MadMongers meetings as well… There is a really interesting series of sessions at MadMongers right now that center on developing a Zork-inspired single-player text adventure, which is too good for this retro-game lover to pass up.

I have also started attending some other area meetings that involve accessibility and general web development. I am trying to learn about VueJS and Angular from people with experience in it, and trying to educate people about Modern Perl and what it means to be a Perl developer in 2017.

Accessibility is a new passion of mine, and I am both trying to learn how better to make web sites more accessible while convincing my fellow developers to do the same.

Tau Station

I spent the last year or so as project manager for Tau Station, and had a great time being paid to develop a MMORPG in Perl - quite the dream come true! It’s an amazing game, and it is rapidly progressing towards its alpha launch this summer. If you are interested in sci-fi, Perl, or free-to-play games, you should really check out what’s going on there - you won’t be disappointed!

What’s next?

I am devoting some time this spring to work on a charity devoted to helping parents and families of children with autism. My own son was diagnosed with autism this past year, and it’s been a long, difficult, and educational journey for my family. We have been extremely fortunate to have access to information and resources that have made this a lot easier for us to live with, but many families do not have the tools they need to help themselves or their children. I am hoping that through our efforts and outreach that we can provide help, information, and other resources available to all families of special needs children.

Here’s to an amazing 2017. Stay tuned, much more to come!

Tags: crome-plated perl dancer

Dance, dance, dance!

Posted 2015-10-04 20:59:59 GMT

My experimentation with Mojolicious ended at my own site. I liked it for simple things, but as I tried to build an app that grew, I found myself getting more and more frustrated with the framework. I don't find that my frustration is damning of the product necessarily, but it was clear before long that it wasn't going to suit my tastes down the road.

Hello Dancer :) I have missed you like a long lost old friend.

I started by porting an old project of mine from Dancer 1 to Dancer 2, and was immediately reminded of why I loved Dancer - simplicity, clarity, consistency. The consistency was really appreciated as my pet project grew in size.

I can respect Mojo's reinvent the wheel, try to eliminate non-Perl core dependencies approach. But as I have worked with Dancer again, I like how it is able to remain lean while building upon a number of other tools in the Perl community that are well-tested and vetted by others.

As I have been working more with Dancer, I have taken to sending a few pull requests through to clarify and improve some issues I have found with the documentation. I've found the community very helpful and receptive (especially Sawyer, who has fielded a ton of questions from me as I have been getting up to speed again), and have even been threatened with a commit bit if I keep up the good work :) It's my sincere hope to keep contributing to and helping to improve Dancer and the community.

Tags: perl dancer mojolicious crome-plated

Eating my own dog food

Posted 2013-07-10 03:41:48 GMT

You’re a software developer. You write apps for your customers; you don’t write applications for yourself. Users ask you for changes and it frustrates you. You’ve already given them an amazing application, why would they want it changed? You can’t possibly improve on the masterpiece you have already presented them with.

I see this time and time again, and it’s not an uncommon situation. Software developers, when not given a specific spec or set of marching orders, will (to their credit) give users the best they possibly can, and often times become emotionally invested in the work they’ve produced. What should be a simple request becomes a personal insult of the worst kind. Many times, this behavior is unintended: it’s hard to pour a lot of effort into something and not have a sense of pride in the final result. But many programmers are unable to take a step back from the situation and see things from the user’s perspective, because many times software developers don’t get to use the software they create for themselves. They love their work, but not for the same reasons a user (ideally should) love that developer’s work.

I have struggled with this same issue off and on over the course of my career. When I found myself sliding precipitously down this slope again last year, I asked myself how I could best get out of this destructive mindset.

Enter waste:


Waste is a pastebin. Pastebins are simple, well-defined problems for programmers, and it gave me a pretty reasonable scope-of-work to run with. And since we were in the market for a pastebin at work, I had the perfect opportunity to write one and eat my own dogfood in the process.

Because I use waste regularly, I quickly became attuned to its flaws. Every problem I find, every bug I squash, every new feature added gives me a personal sense of satisfaction. I am building an app that I love to use, and given my coworkers feedback, that they love to use too. Because I am a user of the app, I also get to see things from the perspective of my clients. Often times, something that sounded great in theory didn’t work out so well in practice. Being a user of my own app, I can quickly spot and fix these issues. I also gain some respect for my company’s users too, who have to deal with similar issues but have no ability to fix them and have to wait for us to address them.

I had to put waste away for a time while other priorities at work and in life took precedence. I dusted it off today and am so excited to work through some of the bugs people have reported and feature requests that have been sitting out there for some time. Does waste have some warts? Definitely. Some of it I chalk up to learning a new set of tools. But every version is better than the one before. It’s quickly nearing the point where I want to throw it out to the world and let them love me or hate me for it.

I encourage every software developer out there to go and scratch an itch. Build something for you, even if there is all sorts of prior art. If nothing else, it will give you a new perspective on the job that you do, a newfound respect for your end users, and if you’re really lucky, will even turn into a successful product that others will want to use. That is the ultimate reward.

In my own case, waste filled a couple of needs for me. We needed a private pastebin at work, and there are some really good ones out there, but they are almost harder to install than it was to write one. And since 2011, I have written waste three separate times: once (as shinyPaste) to learn Catalyst and jQuery UI, a second time (as shinyPaste) in early 2012 to learn Mojolicious, and one last time in the last half of 2012 to learn Dancer and Bootstrap. During this process, I learned to love using Dancer and Bootstrap, and haven’t looked back since.

Tags: dancer catalyst jquery ui bootstrap mojolicious programming crome-plated

Building an API

Posted 2013-07-08 14:52:11 GMT

Later this year, for the first time ever, my company has to build an API so third parties can more easily access date stored in our applications. Additionally, we are going to be providing an authentication mechanism for other applications that our clients may write using our API. Invariably, the first time I try something new, I make more than a few mistakes along the way, and I'd rather not make them in this API. So I am going to make these mistakes while designing an API for another product I love :)

IssueTrak, our helpdesk software vendor, has a great API already, but with them going all-in on the development of the new version of their product, they haven't been able to support all the great new features of IssueTrak in their API. So what better opportunity for me to learn something new than to build an API that includes these features?

But building the API isn't enough. I'd like to use this experience to learn some new tools, too. I had originally wanted to use Grape (and learn Ruby), but the sad reality is that if I want to get this done in any reasonable amount of time, I'm going to have to use Perl. So I'm going to change up my usual toolchain a bit. Instead of Dancer, I am going to use the newly-released Dancer 2 (going wild, I tell you!). After some discussion with rjbs, I am going to take a stab (inside joke) at Text::Template instead of TT2. For the help browser, I am going to use PureCSS over my beloved Bootstrap.

I'm hoping at the end of this adventure that I will have learned how to build a sane API that others will have an easy (and enjoyable?) time using, and that I'll have gained some understanding of some new tools that may be useful for future projects. If not that, I'll have had a nice exercise in expanding my horizons, getting out of my usual habits, and finding another way to do things.

Tags: issuetrak perl ruby purecss bootstrap tt2 dancer grape crome-plated