Job opportunity at ArKaos

It’s always a cool moment when you can grow your team and make some place for new employees in the company.

Looking for developer is a difficult task, I always say, and I am proud of, we are an atypical company. First we try to be as agnostic as possible regarding as many technologies as possible. We are cross platform, we talk to many video APIs and we sell from very inexpensive product to customized and very powerful hand crafted servers.

But how can you do that ? With a lot of passion and by spending a lot of time learning every day. We optimize our software to push the limits as far as we can. It can means trying to work around undocumented bugs in OpenGL drivers, using poorly documented APIs, spending days tracking hypothetical memory performance issues…

Also important to ArKaos is what I call our Punk mentality. We don’t expect others to help us, to be self-sufficient is very important. It’s normal to want to do things that no other have ever done, just expect a lot of problems and expect to fail many time before you eventually succeed. We write code not to make our life easier but to use the least possible memory, the least possible bandwidth from the disk and to avoid unnecessary decencies from the operation system.

The world of real time video is a fascinating one; so many people did not yet perceive the potential of creating perfectly synchronized audio visual performances. So many things are still to be created and defined. It feel hard for me to write that because I started creating real-time video tools at the beginning of the 90s… 20 years ago. Just look at the different VJ applications or at the different media servers used by the lighting industry, they are very different tools that can be used to create amazing real time audiovisual performances.

The last important thing is our social behavior; we are a software company that likes a lot to speak with hardware companies. You can only do that by spending a lot of time networking during many exhibitions, building friendships and trying to convince companies, sometime much bigger than you, that a collaboration is always the way forward. During our history we did forge many alliance that helped promote the concept of real-time video performance. We contributed significantly to what you see today when you go to a concert and enjoy a nice moment.

You don’t go to an event to just “listen to music” but to “see a nice concert!” Right ?

If you think you could help us, here is the more formal job description job detail

Making real use of the BBox2 from Belgacom

In Belgium in selected places we have switched to VDSL2 with the promise of higher bandwidth and extended services such as IPTV.

Being an avid bandwidth eater and having several server at home I did upgrade my subscription and quickly installed the BBox2. At first everything was fine and the browsing and download / upload speed were just great. Then came the morning after…

The first morning I woke up after installing the BBox2 I discovered that I could not read my mails, ok it can happen, so I did not worry… But when I came back from work it still was not working while I could read my mail during the whole day at the company. I rebooted the modem and everything came back fine. This is where a painful process of 5 months of user support and troubleshooting start 🙂

I phoned several time to the Belgacom user support and they were always friendly and tried hard to solve my problem. At first the told me to fix my ADSL filter, it didn’t worked, then they made me change the BBox2, it still didn’t worked…

At that time after already a few weeks of investigations I discovered that you can telnet to the modem and start tweaking options and read status informations not available on the limited web interface. The most interesting is simply to log to the modem and simply type “fw_dump -ps”, this simply dump the content of the translation table of the router. This was indeed my problem. When I was monitoring the NAT table it was holding too much connections. Atfer a fresh reboot you have something like this:

[admin @ home]$ fw_dump -ps
Active Connections 175 Max 5000
…. follow many lines of table data….

But after one hour

[admin @ home]$ fw_dump -ps
Active Connections 2378 Max 5000
…. follow many lines of table data….

And after 4 hours

[admin @ home]$ fw_dump -ps
Active Connections 4000 Max 5000
…. follow many lines of table data….

And there the BBox2 is dead, you can still surf a little but you can’t read your mail (it needs a new port), and you can reboot the BBox2. At that time I also discovered that you could simply log to the modem and type “fw_restart”, this restart the firewall and reset the translation table. Be aware that when you do that you will close any active connection. So don’t do that while downloading that 300 MB update file 🙂 So it was at least a solution but still a pain because I can’t learn my princess to log via telnet to the modem to type “fw_restart”, she is a geek but not at that point.

I then investigated replacing the BBox2 by a compatible modem, the sales person at MediaMarkt told me wrongly that an ADSL2 modem would work for me. So I bought a linksys ADSL2 modem and tried to connect it with no luck.

After yet another phone call to the Belgacom support I understood that I could not have any other VDSL2 modem than the ones from Belgacom. The worst is that you can’t even switch back to ADSL, once you are in VDSL you have to live with that.

At that point in time I also knew after trial and error that the problem on my network was coming from my Dreambox, it’s my satellite receiver. It’s basically an embedded linux system where you can run many applications. The source of my problems is that I run there 2 applications : NewCS and CCcam . To keep on decoding most channels I need those to be connected on the internet. The strange thing is that with the previous ADSL modem the traffic generated by my Dreambox never created any problems.

After reading on the forums of forum.adsl-bc.org I decided to try to put the BBox2 in bridge mode. When you put the BBox2 in bridge mode you basically turn off everything except the modem. In bridge mode you switch off the firewall, router and wifi. I decided to replace all of this with a high quality router, the WRVS4400Nv2 from cisco / linksys.

It’s not fun to do that, you need to tweak low level settings in your setup, so here are the screenshots if you want to try that. I suppose that most other routers should work. Basically you must have a router that support PPPoE connections to the WAN. So here is the wiring I did:

Home Network

Home Network

Before connecting the BBox2 to the router you must:

Log to the BBox2 and disconnect from the internet. You do that from the first page at http://192.168.1.1

Set the BBox2 in bridge mode. Click “Advanded Settings” -> “Network Interfaces” in the left menus. You will see this:

BBox2 Network Interfaces

BBox2 Network Interfaces

Click the edit icon here:

BBox2 Wan Select

BBox2 Wan Select

You arrive here:

BBox2 Wan eth1.20 VoIP

BBox2 Wan eth1.20 VoIP

Click on the settings button, we are almost there, you will land here:

BBox2 Wan eth1.20 VoIP editing

BBox2 Wan eth1.20 VoIP editing

Make sure that the underlying connection is set to “Lan Bridge” and click apply.

Now that the BBox is in bridge more you must change it’s IP address so that it does not conflict with the router, I did change mine to 192.168.1.241 but basically put anything that is not 192.168.1.1

You do that from the “Network Interfaces” menu, select the LAN entry:

BBox2 Lan Select

BBox2 Lan Select

Click settings and you land on the editing page where I did set the new IP of the BBox2:

BBox2 LAN Bridge Edit

BBox2 LAN Bridge Edit

Once you set the new IP click on apply. That’s it your BBox2 is on bridge mode.

Now you can de-connect the local area cable from the BBox2 and connect it to the right modem port of the router. Once it’s done you connect your computer to the router via a cable and go to http://192.168.1.1, there on the WAN setup page you set this:

Cisco Linksys PPPoE setup

Cisco Linksys PPPoE setup

And click on the save settings. You should now have a working setup.

Since I have done that I have a working and stable internet connection with close to 20 Mbps download and 1 Mbps of upload, much better than the old ADSL connection. It’s too bad you have to do all of this if you want to run servers at your home place! So if you have a Dreambox and want to switch to the VDSL2 in Belgium use this information to have a working a stable setup!

NAMM 2010 Day 1

We are at NAMM with ArKaos to meet various friends and partners.

NAMM show 2010

NAMM show 2010

I was happy to see back Christophe Martin.

Fraktus with Christophe Martin

Fraktus with Christophe Martin

Christophe did help us a lot in the history of ArKaos, he is the one that got us working with Jean Michel Jarre more than 10 years ago. And since then he never miss a release of our products and make articles in the French magazines where he is reporting.

We also met the team of Living Instruments, we like a lot their Ohm64!

Fraktus with Peter and Jay from Livid Instruments

Fraktus with Peter and Jay from Livid Instruments

Here is a quick video I made where you see some news including Rane SIXTY-EIGHT Mixer for Serato Scratch Live -> 4 Virtual Decks in Scratch Live!
The Roland Octapad SPD-30.
And Live controlled by the cool Novation Launchpad

I liked a lot Pigtronix and their Futuristic Analog Technology for guitars:

I was also very impressed by the kids of Rock nation school, they played at the Hilton.

The played tunes from RATM, Metallica, Motorheads… not bad for kids between 9 to 14!

Preview of interface to drive a network of players

I am toying with the idea of a network of players synchronized to a central coordinator since a few months and I have already shared those movies:

New synch experiments at WWDC

Exploring an idea about distributing content on a network of players…

Our goal at ArKaos is to build a new range of products based on such architecture but we want to move forward step by steps and the first public step will be a simple interface to drive a limited pool of players connected to the same network.

Here you can preview what will look like the interface. This application is not even alpha code but I am happy to share it with those of you that are curious.

I used the opportunity when working on this project to experiment with the cocoa tools of Mac OS X. I am a big fan of cross platform programming and I worked with wxWidgets since a few years. Unfortunately because Apple did obsolete carbon we are now looking for new ways of creating our interfaces. I am happy that just within a few days I was able to create this already complex interface without writing too much code. In the end it’s true, interface builder rules and cocoa is a great idea!

Ok now to my prototype, the application is still useless but it demonstrate how to write a simple cue player. You can create list of events (cues) and assign them to computer keys. Then the idea is that when you will press those computer keys those players listening to the network events will start playing those video loops.

So at this time what can be done here is:
– importing static pictures to the cells on the left by drag and dropping from the finder.
– playing with the + / – buttons of the cue editor to add and remove steps of a cue.
– drag and drop visuals from the left cells to the cells of a cue.
– you can edit the layer position, start time and duration of a cue step. You need at this time to use the enter key to validate a new time or duration.

Here is a simple picture to show the interface in action:

Coordinator

Coordinator

Just drag and drop a few pictures on the left cells, create a few cues steps with the + and – buttons. The final prototype will be able to play movie loops across 3 zones of maximum 6 projectors. It will be possible to stack 4 layers of visuals on each zones. This is why by example the popup says z1l1, it means zone 1 layer 1.

I made a quick build if you want to play with this preview app, for Mas OS X only at the moment, download it here:

2009_08_CocoaCoordinator.dmg (208 KB)