Our thoughts, perspectives, and musings on development


We share knowledge, ideas and ambitions openly, contantly improving and crtiquing our ideas in the larger community.

Posts in development category

Video - development

JAMstack or Drupal? - Part I

Why are organizations still building websites on old technology like Drupal or Wordpress these days when there are so many more hip ways to deliver your content?

Why are organizations still building websites on old technology like Drupal or Wordpress these days when there are so many more hip ways to deliver yo...

9:20
Video - development

Musings of Imperative and Declarative (coding) Design

Most web developers start their career coding user interfaces using an imperative approach. You have some code that has access directly to the DOM and you execute a series of commands to change the state of the user interface. If you are using jQuery to update your UIs you are doing this. Imperative UIs don't scale well as applications grow. There's a better approach: declarative UIs.

Most web developers start their career coding user interfaces using an imperative approach. You have some code that has access directly to the DOM and...

8:57
Blog - development

What's New on WCAG 2.1

Late last year I mentioned on Accessibility Tips for Beginners that a new version of the renowned Web Content Accessibility Guidelines (WCAG) was in the works. As of June 5, 2018, we have 17 new guidelines to consider and comply to under WCAG 2.1. These new guidelines bring to awareness pain points that people living in this tech-saturated world have been dealing with by focusing on improvements for mobile accessibility, people with low vision, and people with cognitive and learning disabilities.

Late last year I mentioned on Accessibility Tips for Beginners that a new version of the renowned Web Content Accessibility Guidelines (WCAG) was in t...

Comments
Blog - development

Javascript: Introduction to Time Complexity

According to Wikipedia, the computational complexity, or simply the complexity of an algorithm is the number of resources required for running it. The amount of required resources varies based on the input size, so the complexity is generally expressed as a function of (n), where (n) is the size of the input.

According to Wikipedia, the computational complexity, or simply the complexity of an algorithm is the number of resources required for running it. The...

Comments
Blog - development

Querying a MSSQL database from Symfony

For a recent project, we had to connect and query a Microsoft SQL database from a Symfony project. Since we use Docker to run the apps in separate containers, we added a new container to simulate the MSSQL database.

For a recent project, we had to connect and query a Microsoft SQL database from a Symfony project. Since we use Docker to run the apps in separate con...

Comments
Blog - development

ngSelect Customizations: Draggable Panel

I was tasked with an issue to build a component that would require several filters all displayed in a grid. After I had finished that, there were several design changes that the product owner wanted to see, to make the select boxes much more usable for the end-user.

I was tasked with an issue to build a component that would require several filters all displayed in a grid. After I had finished that, there were sev...

Comments
Blog - development

Accessibility Tips for Beginners

With more than 56 million people with disability in the United States1, why are they less likely to use the web2? There are multiple factors that can go into an individual's reasoning for not feeling comfortable using the web. One might be that the majority of websites are not created with them mind. Meaning, even if they have assistive technologies, they may not be able to navigate a website comfortably or at all. Even though, companies are making an effort to improve assistive technologies there are a handful of things you can do now that can help improve their experience on your website or product.

With more than 56 million people with disability in the United States1, why are they less likely to use the web2? There are multiple factors that can ...

Comments
Video - development

Core Concepts of Webpack

Front-end developers have so many tools to make sense of these days, npm, yarn, bower, grunt, gulp, the list goes on. What happened to the…

Front-end developers have so many tools to make sense of these days, npm, yarn, bower, grunt, gulp, the list goes on. What happened to the…

23:09
Video - development

Using Pattern Lab to Design More Efficiently

Your UX Designer should be delivering a working HTML prototype, not a picture of your application from Sketch or Photoshop. I’m not going to…

Your UX Designer should be delivering a working HTML prototype, not a picture of your application from Sketch or Photoshop. I’m not going to…

8:12
Blog - development

Shibboleth Authentication in Symfony 2.8+|3.0+

Preface We recently had the opportunity to work on a Symfony app for one of our Higher Ed clients that we recently built a Drupal distribution for. Drupal 8 moving to Symfony has enabled us to expand our service offering. We have found more opportunities building apps directly using Symfony when a CMS is not needed. This post is not about Drupal, but cross posting to Drupal Planet to demonstrate the value of getting off the island. Enjoy! Writing custom authentication schemes in Symfony used to be on the complicated side. But with the introduction of the Guard authentication component, it has gotten a lot easier.

Preface We recently had the opportunity to work on a Symfony app for one of our Higher Ed clients that we recently built a Drupal distribution for. Dr...

Comments
Blog - development

Data Encapsulation for Quality Assurance

Recently, I have been tasked to create an automated content creator for end to end testing. This project should be able to create a drupal content type AND show the steps on how it is done properly. We could say that our team wanted to replicate a user workflow, automatically.

Recently, I have been tasked to create an automated content creator for end to end testing. This project should be able to create a drupal content typ...

Comments
Blog - development

Extending Drupal: all about the service container

The biggest thing that got me excited with Drupal 8 is the first-class use of services & dependency-injection throughout the entire system. From aspects like routing, templating, managing configuration, querying and persisting data, you name it -- everything is done with services. This is a great thing, because it grants developers a level of flexibility in extending Drupal that is far greater than what Drupal 7 was able to. I'll walk you through a few strategies of extending existing functionality, leveraging the power of Symfony's component.

The biggest thing that got me excited with Drupal 8 is the first-class use of services & dependency-injection throughout the entire system. From aspec...

Comments
Blog - development

Understanding Selenium -- our first problem

Hello again! Now that we have setup selenium on your machine, let's talk about what value it actually gives us. If you think about it, or if you decide to look up their website, all that Selenium does is it just automates your browser. The tests, the functionality, and the code hookups are entirely up to you. This is structured this way to cater to people who are new to the product, as well as go all the way to the seasoned veteran. You can use and configure selenium to personalize your needs and wants for your projects.

Hello again! Now that we have setup selenium on your machine, let's talk about what value it actually gives us. If you think about it, or if you decid...

Comments
Blog - development

Understanding Selenium -- a step-by-step

In this blog post, I am going to look at Selenium, the tool of choice every QA engineer has in his toolkit. It is a web framework that runs assertions, that answers true or false questions, based on which assertions were used. This gives the developers and the QA engineers a better picture of how the user interacts with a site, thus making debugging simpler and more efficient.

In this blog post, I am going to look at Selenium, the tool of choice every QA engineer has in his toolkit. It is a web framework that runs assertions...

Comments
Blog - development

Asynchronous PHP with message queues

PHP is without a doubt the most popular language used for programming server-side applications for the Web. However, despite its popularity, it is not the best-optimized of them all. In order to satisfy more modern requirements for web applications, we need to turn to other technologies to patch up some of PHP inadequacies. An example of such techologies are message queues. This blog post will give you an overview of what message queues are about, its capabilities and what type of problems they address, and how you can use them in PHP.

PHP is without a doubt the most popular language used for programming server-side applications for the Web. However, despite its popularity, it is not...

Comments
Blog - development

Where's waldo?

Maintaining a quality website is a tricky task for both developers and QA engineers. With constant changes coming out every single day and features requests comes in bulk, a website can evolve in every little detail. It takes a meticulous hand to catch all of these changes and it takes extreme control to not allow these changes to snowball the work-pile. The task is slightly reminiscent of the game “Where’s Waldo”. QA Engineers look at the most minute details of every project. They execute plans and tests which help the detail sifting, but in the end, it falls under the watchful eye of the engineer to catch the smallest of the bugs.

Maintaining a quality website is a tricky task for both developers and QA engineers. With constant changes coming out every single day and features re...

Comments
Blog - development

Why and how to use SVGs on your site

We recently improved and added several new sections to our site. Throughout the design process, I had in mind the large variety of different browser types, image types and screen resolutions that would be available to view the site. I decided to design multiple graphics in Illustrator and save them as SVG.

We recently improved and added several new sections to our site. Throughout the design process, I had in mind the large variety of different browser t...

Comments
Blog - development

Divide & Conquer: Drupal 7, Symfony, Elasticsearch, and AngularJS - Part 2

In the previous blog post we shared how we implemented the first part of our problem in Drupal and how we decided that splitting our project into discrete parts was a good idea. I'll pick up where we left off and discuss why and how we used Symfony to build our web service instead of implementing it in Drupal.

In the previous blog post we shared how we implemented the first part of our problem in Drupal and how we decided that splitting our project into disc...

Comments
Blog - development

Black box testing and Behat: Why ignorance is bliss

Back when I was in college, learning Software Development involved a lot of processes, while dotting your i’s and crossing your t’s. As a programmer/developer, you had to be meticulous and nit-picky

Back when I was in college, learning Software Development involved a lot of processes, while dotting your i’s and crossing your t’s. As a programmer/d...

Comments
Blog - development

Divide & Conquer: Drupal 7, Symfony, Elasticsearch, and AngularJS - Part 1

It isn't just about Drupal here at ActiveLAMP -- when the right project comes along that diverges from the usual demands of content management, we get to use other cool technologies to satisfy more exotic requirements.

It isn't just about Drupal here at ActiveLAMP -- when the right project comes along that diverges from the usual demands of content management, we get...

Comments
Blog - development

Change the execution order of $(document).ready()

Comments
Blog - development

Adding Functions to jQuery

Comments