Ascendro Blog

Displaying 1-10 of 15 results.

How to work efficiently with freelancers


This article is a short guide about how to maximize your cooperation with freelancers if you are a web or marketing agency who needs programming services. In the end you need a guy that can help your project and not somebody who stumbles around.

We have put together a few useful ideas that are the result of our experience with different freelancers in the last 5 years. By the way, we are a software provider that helps marketing agencies to successfully deliver web and mobile projects.

read more

1 Comment

Do not get annoyed, buddy

A huge surprise was waiting for our team at wednesday morning. They got called for a meeting and before they knew what is going on they were part of an online match of "Don't get annoyed, buddy".

What happened? In our continuous drive to keep up with latest technology we created a TechDemo featuring 3D-Graphic Rendering, Server Side Javascript and WebSockets. Making it possible to create real time web based applications.

But let's describe what we did...

read more


Yii ArrayDataProvider and lots of records

Here is a short tip from our team that helps you optimize the page load speed.

In one of our applications we have a page listing patients of a practice. As the practices grew their business, we noticed a slowdown when loading that page.

The initial implementation was using a CArrayDataProvider with the data retrieved using an SQL query. Therefore the slowdowns' cause was that on every page load the data was retrieved from the database, and after only the 10 needed results were taken out and displayed. The solution was replacing the implementation with CSqlDataProvider

read more


Website Optimization - A practical approach

Even though bandwith increases, website optimization is a bigger issue then ever. Mobile devices don't benefit from modern fiber lanes and web applications get more complex and require more and more ressources to load.

In different articles we talked already about performance improvements in PHP and Javascript but what if they are already fast?

It is very common that, especially on simple sites, the most time is not spent on processing on the server but on the data transfer itself. Connecting to the Server, downloading the HTML, downloading Javascript and CSS ressources, downloading images...
Additionaly loaded ressources may load additionally ressources which couldn't be loaded before (cause they where unknown), making the load even longer.

There are a bunch of books, articles and tutorials out there describing possible improvements as well as tools analyzing it but gooing through all the items takes time...

read more


Handling large strings in PHP

We recently needed to write an algorithm to unpack a specific file from a proprietary archive format.

The fun part is that the initial task quickly transformed into a research task as our colleague Michael wanted to dig deeper in the topic. Here is the story behind the performance boost.

I never worked with binary files before in PHP so I decided to first get it working and care about optimisations later. 

My straight forward approach of using file_get_contents and normal string operations resulted in very low performing and memory hungry process.

For getting a 10kb file out of an 2MB archive the algorithm took ~1.200ms and ~14mb memory at its peak.

This had to be optimized ... and I succeeded to bring it down to 30ms and 1MB memory at its peak ...

read more


Software testing approach by project size

Which testing method its worth using, manual or automated? Let's just say it is entirely dependent on the project profie and size.

We are constantly looking to improve the outcome of our Quality Assurance department and because we have experience with both manual and automated testing we have put together some general ideas regarding the testing approach depending on the project profile.

read more

1 Comment

Supporting the supporters to support

Building up an efficient department is not easy - improvements can be done everywhere. We recently started to boost up the efficiency of our Quality Assurance department and the results were great!

Using the project management tool Redmine most of the time, beside actual testing, was spent on putting error reports into it.

Writing good error reports is a science already but you can improve it a lot by attaching screenshtos or videos - showing the actual "undocumented feature". Main task is to make it as easy as possible for the developer to understand and reproduce it.

The initial process went like this:

Fig 1.: Manual workflow for adding Screenshots to an error report

Lot of steps, for simply attaching an image to an issue. This can be definitely improved...

read more