The 4PSA Padawan Adventure

We are students, we may not fight with lightsabers, but we definitely had an internship. A great internship, we might add. 🙂

We’re writing this from the orange open space office, where we worked with the 4PSA team and… we became part of it. Here, we had a great summer, we made friends and learned a lot of cool things. But, more importantly, we felt like we belonged to this large family.

Read More

How To Become A Champion In 4PSA Community

Back in August 2012, when we rolled out the 4PSA Community, we knew this project implied a great deal of responsibility.

Our community brings together people who team up on answers, solutions, and ideas about the products and services they use. Every community member is invited to have his/her say on our products, describing issues they have encountered as accurately as possible, offering guidance, sharing experience and know-how with their peers, tempering conflicts and promoting a collaborative attitude.

Read More

Offloading To Workers – A Hands-On Example

Services offload their computationally expensive tasks into workers. Think of software that converts video from its original format to a web standard. This kind of job can be considered long-running, even for state-of-the-art hardware. The web app can’t convert the video, it doesn’t have access to the software and, even if it did, we’d have little control over what ends up on our servers. The service used by the app could convert the video, but it would take valuable processing time shifting though millions of requests.

Read More

Exercises That Will Make You A Better Engineer

It is so easy to distinguish an engineer (or an engineer to be) from a non-engineer. When we interview people for a software engineering position, we want to determine how much of an engineer the candidate is. That’s why we ask a fair amount of questions apparently unrelated to software. Real engineers focus on the problem, break it into pieces, and analyze them. They translate the problem into their “own words”, making analogies with common, easy-to-understand processes. Once their solution is challenged, they are able to optimize and explain it.

Read More

Senior C/C++ Developer Wanted

As we mentioned a while ago, the Stack Team handles the tools and frameworks used by the other Clouders. HubRing, a branch of the fast Redis database, is among the interesting projects we are currently working on. We first used Redis in VoipNow 2, as a caching mechanism. However, due to increasing demands, we had to expand its functionality. As a result, new data types were added. VoipNow 3 and Pinapple brought on some special needs that forced us to diverge from the Vanilla Redis to such an extent that we can consider this project an entirely new product, with a new identity.

Read More

Positioning In CSS (III)

In this final article of the Positioning in CSS series, we’ll describe the floating concept.

What Is Floating

Floating is used to place an element to the left or to the right of its containing block. This can be very easily achieved by setting the float property either to the left or right. In the following code snippet, all the elements under the box class are set to float to left.

Read More

Positioning In CSS (I)

Today we’ll continue our tour of CSS features and delve into the quirks of positioning elements on a web page.

A DOM Element has 3 dimensions, one for each axis. The X and Y axes place an element on the page, horizontally and vertically. The Z axis brings elements closer or farther from the user. Also, the Z axis is used when deciding what element will be shown when two or several elements have overlapping content.

Read More

Cycling Is Fun

We may be Clouders, but we don’t exactly walk with our heads in the cloud. We only ride our bicycles that way. 😛 Well, jokes aside, it’s quite the opposite. If you haven’t figured it out already, we are cycling enthusiasts. We commute by bike, we travel by bike, and some of us even get into bike competitions.

Read More

The Callback Syndrome In Node.js

When starting out in event-driven programming, you often find yourself amazed at how it works. It is pretty much what it feels like when you discover loops or conditional statements. As you progress, it becomes obvious that the overuse of the new paradigm will most likely prevent anyone else from successfully going through your code. This article dissects the problem of asynchronous control flow in JavaScript and suggests a simple solution using closures.

Read More