Analytics

Monday, November 22, 2010

osmo-bsc in OpenBSC master

A small service announcement. The bsc_msc_ip from on-waves/bsc-master is now dead and one can use osmo-bsc from master. It has the same functionality but is implemented in a cleaner way making it more easily extandable.

The biggest benefit of a open/free BSC equipment is the flexibility. If your network is a bit different to what people have thought out 30 years ago, you are now in the position to easily change that. E.g. your BSC could have different MSC connections and send different subscribers to different MSCs.

I am going to work on some new BSC features as well. With the new internal BSC API it should be possible to have different call routing based on some criteria, implement IMSI access control on the BSC, provide CBS services...


Thursday, November 18, 2010

Best Future ever

I'm attending some classes in University to finish up my degree. The classes in itself are close to an abuse and punishment (they are mandantory) but on the commute I manage to read one paper in each direction. I was reading Reflective Facilities in Smalltalk-80 and saw the best implementation of a Future ever. In their Smalltalk-80 dialect all message sends go through a #dispatchMessage: selector and the future is implemented in there.

dispatchMessage: aMessage
...
semaphore wait.
result become: self
^super dispatchMessage: aMessage


This implementation waits for a signal in the semaphore and then turns itself into the result of the operation. This allows one to write code like this


| f |
f := Future promising: [2.0 + 2.0].
f printString.

The execution of the message sent to the Future will block in the #dispatchMessage: until the result of 2.0 + 2.0 is available and then send the printString to the result. There is only one downside, most smalltalk dialects don't have a dispatchMessage: like this.

Tuesday, November 02, 2010

bahn.de and broken web services

Once more I need to buy stuff online, now I wanted to buy a train ticket online as I am afraid the discounted price will be gone once I am at the trainstation...

The payment option I want to use is only available when you are registered, so I registered, using a '+' in my email address and then it didn't work. I assumed like many shitty websites they believe a '+' is not a valid sign in an email.. in this case my account name was taken. Then they tell me that under "My Train" I can register my bank details, well they don't provide a Link to that page... so I had to spend time searching it. Then I say I want to enter my bank details and after three pages in their dialog it fails because apparently it thinks it already has my bank details... well... no... I believe this error is due me not having registered my bahncard, so I tried to register my bahncard but it requires a pin code that they will now send me by snail mail...

Why do companies always hire the most crappy web porgrammers on this planet? Why do they invest more money to make stuff go wrong, than to just make it work. Another example is the train search and going back... if they would use a Web Framework like Seaside it would remember my source and destination, my bahncard details.. etc. Why is bahn.de paying for a bad website? Maybe they should hire experts, it can't be more expensive than these companies hiring idiots....