The LeanPanda blog

Mastico, the new gem by Lean Panda!

Writing simple Elasticsearch queries can often be tedious and complex, using Chewy can help but it increases the difficulty of keeping our code DRY. We would love to show you our solution to make t work easier.

Simple email forwarding with AWS Lambda and Serverless (and SES)

If forwarding emails (with some calculations in-between) is what you need, then AWS Lambda is the simplest solution for you.

How To Run A Lean UX Workshop (For Agencies And Freelancers)

We are an agency with several clients and have fallen in love with Lean UX. But one of our first feelings was that Lean UX is perfect for one-product-focus teams.

What about us, agencies and freelancers?

We are now going to cover everything concerning the kick-start phase of a project as soon as a client gets in touch, and with the determination to do it following Lean UX principles and methodology.

Moving my team to Lean UX

I’ve been studying Lean UX by Jeff Gothelf and Josh Seiden for the last three years. I would never imagined to find such a mature environment in my current team, LeanPanda, to start implementing it.

What has been the main ingredient? Frustration.

It’s full of people here, at LeanPanda, with more than ten years of web experience. Everybody knows waterfall’s frustrations after ten years of experience.

Smart Integration Testing in Rails

When we start to talk about testing we always seem to end up discussing integration testing. But is integration testing really our favourite superhero? Or can it become our worst enemy? In this post I'm going to try, using a practical example, to work out how far we can take integration testing and when it would be better to delegate testing to other parts of the application.

React JS: newbies tutorial

As you can probably guess from the title, this post is aimed at readers with very little experience of programming. That is, at people such as myself: as I've only been exploring the world of programming for six months now. So, it's going to be a genuine newbies tutorial! To follow it, you'll only need to have an understanding of HTML and CSS and a basic level of Javascript (JS).

N.B. In the following examples we will be taking advantage of some of the new abilities offered by ES6 to facilitate the process of writing JS code. It is, however, entirely possible to use React with ES5.

2015: A web agency's year in retrospective

This time last year, we said that 2014 had been the toughest in LeanPanda's history. Little did we know what 2015 held in store for us! If things keep going this way it's anyone's guess how we'll manage to stay sane until 2017?! :) So, here's a bit of backstage news from a web agency that loves doing retrospectives and telling people about its errors and successes.

Ruby, NodeJS and Go: advantages and disadvantages for backend development

For single-page applications there is a pretty clear-cut distinction between frontend and backend. The presentation and interaction aspects are handled entirely by the frontend, while the backend takes care of the logic: reading the data passed to it by the frontend, processing that data and returning the results.

Introducing Dato: CMS for static sites

The web is not in good shape: think about how often we find ourselves confronted with broken sites. One in four websites are currently on Wordpress, where some 70% of installations are vulnerable to attack. Not so long ago, 12 million Drupal sites were compromised by malware.

RubyDay 2015, we're nearly there!

It's almost time! There are just a few weeks to go until the 5th edition of Rubyday, the annual get-together of RubyItalia: the association representing Ruby developers and the Ruby ecosystem of gems and frameworks (such as Ruby on Rails) in Italy. Cantiere Creativo \ LeanPanda, together with two other companies — Nebulab and Welaikahave decided to take part in organizing the 2015 event.

Should you talk to clients about testing?

Over the years we have found that there are huge advantages to testing. However, we have also found that the process brings with it certain problems, some of which are not easily solved. One of these is explaining the value\cost of testing to clients, and deciding whether to confront the issue during the sales phase.

BazaarJS: our criticisms of Angular

Angular is now, without doubt, the Javascript Framework par excellence®, with popularity far exceeding that of any of its competitors. But is all that shines really gold? In this latest post in our #BazarJS series, which looks at the development of Single Page Applications, we will describe our personal experience with the framework.

Multilingual applications: how to manage sitemaps and meta-tags for better indexing

In order to extricate yourself from the tangled web of indexing a multilingual application you need to follow a series of SEO rules to correctly generate sitemaps and alternative links.

  • David LibreraDavid Librera
  • 12 September 2015

BazaarJS: Javascript preprocessors

BazarJS series, this time dedicated to the history, past and future of Javascript. We'll start by taking a look at the CoffeeScript and TypeScript pre-processors, then get to know ECMAScript 6 to find out whether we can finally start taking Javascript seriously.

Machine Learning made simple with Ruby

How is it possible to make automatic classification work properly without resorting to using external prediction services? Starting with Bayesian classification, you can use the ruby gem classifier-reborn to create a Latent Semantic Indexer. Hands on!

BazaarJS: CSS pre and post processors

Our BazaarJS series continues. In this article we're going to take a brief (digestive, if you will) pause from the world of Javascript to confront another, equally important, topic: stylesheets. Based on our extensive experience with Sass, we will examine the principle Javascript alternatives available (Less.js and Stylus). Is it worth changing preprocessor? To finish, we will take a look at a range of postprocessing tools that have grown in popularity during 2014.

BazaarJS: Module loaders e package managers

This is the second episode of our BazarJS series on the magical world of single-page applications... today we're going to be taking a serious look at module loaders, bundlers and package managers: three of the most "confused", controversial and peculiar topics in the Javascript world.

As always, after giving an overview of the available solutions, we will explain the advantages and disadvantages that have led us to our personal choice.

BazaarJS: the Node.js task runner diaspora

This is the first episode of our new BazaarJS series, dedicated to exploring the world of SPAs (single-page applications)... today we'll be talking about build tools and task runners!

Our Guide to Javascript and single-page apps

The world of Javascript is currently characterized by extreme fragmentation and intense competition between different ideas. This has caused us to ask ourselves a couple of questions. Firstly, is this proof of the community's vitality, or of its immaturity? Secondly, how is it possible to survive the current churn rate?

In this new series of articles we will do our best to clearly explain what the different alternatives available to those working with Javascript are, and to set out our ideas about what constitutes solid, maintainable development.

What we're talking about when we talk about startups

The term startup has been a buzzword for quite some time now, and we find that many of our potential clients like to use it to describe themselves. As with all buzzwords, the term is often over-used and abused. As we see it, however, the greatest risk arising from this misuse is that of associating the word startup with a strategy and way of operating which are totally unsuited to the nature of a startup. In this article, we want to explain the meaning of the term as we see it and how it fits into our way of working.

Ecommerce Forum 2015, a short summary

We participated in the tenth edition of the Ecommerce Forum, prominent workshop in the development of electronic commerce. One of the points that most interested us was the process of products delivery. Here is a brief recap of the day.

Fiware Hackathon Italy, we (almost) won again!

A new victory and a prize as best developers! This all happened last week at the IMPACT hackathon, a #fiware promotional event, the European answer to the technological monopoly from across the ocean. We came in second again; we’ll win the next one, because a pig that doesn’t fly, is just a pig (cit. Porco Rosso).

Ruby Day 2014: our experience

Conferences are important to us for a number of reasons: they let us meet old friends; discover faces behind twitter accounts; get to know people; share our experiences; and generally find out about what's going on in our sector. Ruby Day has, for several years, been a point of reference for those like us who love using this language to develop projects.

Made with Middleman and DatoCMS, our CMS for static websites