Vasteras - Sweden, Belgrade, Nis - Serbia

May 18, 2012

Troxo - Software Development Company

New website in the pipeline

October 19th, 2007
Tags:, ,

We’ve got a new website in the pipeline which we’re really excited about. It’s been in the making for a while now. Our attention is currently focused on the development of various PHP apps but hopefully it’s going to be up and running very soon. We’re using WP as our CMS, which seems to be exactly what we needed.

Here’s a screenshot of the new look:

website-screen-dump-teaser-small.jpg

We love to hear from you. If you have any comments or feedback, you are welcome to send us an email at info at troxo dot com.

 

Troxo gears up for 2008

October 12th, 2007
Tags:, ,

Things have been hectic this summer. We’re moving toward the end of another productive year with many interesting projects to work on and really cool clients to work with.

As you probably remember, we also have new programmers on the team which has really allowed us to stretch our wings when it comes to PHP programming. With Dusan and Marija on board, we now have a total of twenty developers working at full steam.

Yesterday we got together for a nice group photo. We felt it was high time we showed you our pretty faces. :)

Troxo team

We have been also working to redesign our website but it’s been on the back burner for a while. Very soon it will go live so keep an eye out for the new look.

 

New programmers on board

October 5th, 2007
Tags:, ,

We welcome our new members Marija and Dusan. They will join our custom PHP development team to help us produce more excellent web applications.

We already have very exciting projects for them and we invite more great people to join us!

Marija Dušan

 

Project manager needed

September 24th, 2007
Tags:,

It’s been exciting at Troxo and we are now looking for a project manager to oversee the development and implementation of a variety of web projects. This is a client-facing role so you need to be fluent in English as we have customers around the world.

You will manage dynamic development teams in a fast paced company and make sure projects are delivered on time, within budget and in the most efficient way. You’ll need to have excellent time management abilities with a can-do attitude.

In return, we offer a more than exciting environment, excellent conditions and we make sure you have everything you need to make your work more fun and creative, say a screen like this. :)

Send us your CV at job at troxo dot com. We are poised to hear from you if you fit the bill.

Our development center is based in Nis, central Serbia and we welcome all candidates willing to relocate.

googlemapsnisserbia20060611.png

 

A small thing we did for our client

September 18th, 2007
Tags:, , , ,

This is one of the posts from the how-we-do-it series.

A while ago we had a part of a project where our client NSN ASA wanted to have:

  • Custom reporting with an advanced mail merge function (to create invoices, order lists, etc.)
  • Easy-to-create report templates, so they can be created by non-programmers
  • Simple, simple, simple
  • PHP API

Our first thought of course was to find an appropriate component and use it for this project. However, we were amazed to realize there isn’t any out-of-box solution for easy report creation from PHP. There surely are a lot of ready solutions like CrystalReports, Birt, Jasper reports with iReport, but we felt none of them met the above requirements (especially simplicity).

So, here is our approach to solving this problem:

  • Report data should be sent via a standardized XML. There will be no more than hands full types of XML tags in the report data.
  • Report template will be created with MS Word (after all, anyone can use it, right?)
  • Template will have the simplest possible tagging system, implemented as MS WORD fields. (Example: <<tablestart>><<data1>><<data2>><<data3>><<tableend>>
  • There are no good Unix components for handling Word files – therefore we will implement this on windows platform and expose SOAP interface for accessing it from PHP.

Now that this is up and running here is the small illustration of our “baby” in action:

 

We would like to thank NSN ASA for giving us the green light to share this with you.

 

Back from Sweden

September 3rd, 2007

A part of our team working exclusively for pingdom.com is back from Sweden after talks on further work on the project. It was hard work and fun at the same time, a combination that always works well at Troxo.

The meeting was really productive and will result in many new features Pingdom’s clients will receive during 2008. After the nitty-gritty, the team got down to a crayfish party, a traditional eating and drinking celebration in Sweden.

They say “one drink for every claw”, but few of us kept up that pace. It wasn’t all partying, though. Sightseeing in Stockholm, go-cart racing, a boat trip and a visit to an amusement park were also on the agenda.

Crayfish party, Sweden

And just when you think everything goes well…Remember JAT, whose uptime we had started monitoring before we took off? Although their site has faced no downtime, their service did have a big one. Our plane (after an unpleasant malfunction) departed as many as 14 hrs behind schedule. Quite a slip :)

 

We are hiring!

August 31st, 2007
Tags:, , ,

We are staffing up for 2008 after a raft of new deals in 2007. It’s been one of those periods where there’s been a lot of work in progress and we’re looking forward to getting new team members on board skilled in PHP and .NET.

We’ve just welcomed two more PHP developers, yet we have no doubt there are even more exceptional individuals willing to join us.

We are particularly keen to hear from .NET developers as we’re always working on interesting, highly interactive applications. Feel free to send us your resume at job at troxo.com.

 

Troxo developers to take off to Sweden

August 23rd, 2007

Our dedicated team of developers building software exclusively for our client pingdom.com is about to take a trip to the company’s HQ in Sweden at the invitation of Sam Nurmi, the founder and CEO of Pingdom. Not to brag, but Pingdom is currently the fastest-growing website monitoring service in the world. Aren’t we proud!

As always it’s going to be pretty busy, a few of days of technical geeky meetings requiring a lot of brains, but at the end of the day everybody is having fun.

20070809062b

We booked with JAT and plan to take off this week. That said, we added jat.com to Pingdom’s GIGRIB for uptime monitoring purposes. Since early August the website has had no downtime at all and appears to be rock solid.

 

IISPassword wins SoftPedia Pick Award

August 14th, 2007

IISPassword has been awarded by SoftPedia with five stars and SoftPedia Pick Award which is given to products that SoftPedia editors think are excellent and above average in their category.

Awards are based on the editors’ experience and judgment, and awarded are only products which the majority of the reviewers agree deserve it.

softpedia_games_award3_bb.gif

 

On .NET Remoting

August 13th, 2007

Recently we had a .NET based project where we had to enable simple client to server communication. We needed a fast solution, totally embedded into applications (meaning – no IIS web services were allowed, unfortunately).

Basically, the challenge was: the main application has to provide remote access to its dynamically created objects, like in the image bellow:

Remoting Project Challenge

We found some really good articles on the net like Remoting in C# and Remoting and Distributed Computing in C#, but none explaining everything we needed – so after some digging into the MSDN, here is the solution.

"Single call" remoting creates a new remoting object for every call by the client. "Singleton" reuses the same object for every client’s call.

"Single call" remoting was not fitting our problem because we needed just one proxy object which will forward calls to internal objects.

In our project there was a small catch with the use of "Singleton". Basically, if you do not create an object before the first call from the client, the object will be created automatically (with the first client’s call), leaving it unbound to our server objects (in the image above that would mean that "remoting facade" does not have references to internal objects – Object 1, Object 2, etc.).

The solution is to create a remoting object, initialize it with references to local objects and use RemotingServices.Marshal method to bind the remoting object instance with the remoting service (like in the following example from the attached project):

Logics.Counter counter = new Logics.Counter();
Logics.RemoteCounter remotingCounter = new Logics.RemoteCounter();
//initialize remoting object with the reference to local object
remotingCounter.SetLocalCounter(counter);
//select channel to communicate
TcpChannel channel = new TcpChannel(8085);
ChannelServices.RegisterChannel(channel, false); //register channel
//register remoting service
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Logics.RemoteCounter), "RemoteCounter", WellKnownObjectMode.Singleton);
//bind remoting object with remoting service
RemotingServices.Marshal(remotingCounter, "RemoteCounter");

The complete sample: troxosamplesremoting.zip