OSC is hiring!

08 Sep

We presently have two open positions for talented web developers. Both positions are in our San Jose, Costa Rica office. We are centrally located on Paseo Colon, walking distance from Parque La Sabana. OSC employees enjoy a collaborative and low-stress work environment, challenging projects, competitive salaries, and fantastic co-workers.

Resume’s should be submitted to jobs at osc.co.cr. Please include a cover letter and the job title you are most interested in.


Position 1: Lead Web Developer, CRI Team.

CRI is a not-for-profit corporation that helps students in their transition from school to the external world. They provide software to school children simulating a real workplace environment.

In this position, you will help build and extend CRI’s software offerings. Of particular note will be a web module for creating, taking, and grading tests, where some parts of the tests will receive input from flash mini-movies or html5 drag-n-drop areas. You will also help improve our current report generating system.

You will work to extend and enhance the Moodle (moodle.org) open source software package.

Additional responsibilities will be in the area of operations and security in a LAMP environment, and evaluation of moving to a cloud based service model.

Experience generating flash applications and/or interacting with them programmatically is a definite plus.

This contract position is for a period of 6 months, with a high likelihood of being retained further in either a full or part-time capacity.

Fluent written english is a requirement.


Position 2: Senior Developer, Reporting — SR team.

SR is a leader in the Search Engine Marketing industry.

In this position you will help extend and improve SR’s existing reporting capabilities and generate new types of reports for SR’s clients. Reporting is a very important part of SR’s business, so this position carries significant responsibility.

We are looking for developers with experience in some or all of the following:
PHP, mysql, excel spreadsheet generation, graphing, statistical analysis, large-scale data warehousing, ETL operations (pentaho, jasper), hadoop

Salary commensurate with experience.

Semi-fluent written english is a requirement.

Browsers: Web developers’ nightmare..

13 Jul

We web developers will die waiting for the day when the whole world uses one single browser. IMHO, Internet Explorer is the worst thing that has ever happened in the history of mankind :) . Why does it always have to behave different? We don’t know. Sometimes we miss a small detail in our code but some others, IE just want to mess with us.

We’ve been working with the jQuery theme roller in the last days and we made a small modification to save the selected theme in a database. That way logged in users would always see the last theme they picked up.

We had this this issue that whenever the user changed the theme and then refresh the page, the old theme was loaded again and saved in the database. It was this “small detail” in our code I mentioned before, but it turned out the ajax call that saves the theme was working different on IE and Chrome.

We were using the same PHP script to retrieve and save the theme and IE was caching the ajax call, something that did not happen in the other browsers.

The solution was to add {cache: false} to the ajax call.

Many thanks to Tavo for helping out.

JSFiddle is super cool!

25 Apr

Who knew that you could do this kind of stuff?!?!

This is a snip that was used to create polaroid effect for the Staff page.
Idea always taunted me that I have to include all softs of things to the main section of the site just to display an example. Overtime, such practice would boggle down the web request, thus making page views slow. JSFiddle sorts all of that problem.

Perfect example: As I write blogs for this site, sometimes I want to show an example of (lets say) how to use google font library. Problem we’re facing is that in order to show what google fonts will look like embeded, I would have to include fonts to be shown example out of into the HEAD section of the site. Multiply that by 10′s of post and we have lots of redundant data being loaded for no reason.

Solution comes in a simple form

Continue reading