Archive for category Techie Talk
Powwownow implements new media gateway solution, delivered by Squire Technologies.
Posted by Casey Williams in News, Partnerships, Techie Talk on January 20th, 2010
Last year, Powwownow replaced their 10 existing Cisco Media Gateways with an SS7 Media Gateway, a one box solution from Squire Technologies. The change has reduced operating costs and lowered power consumption by 66%.
Looking to increase revenue and service levels, Squire Technologies BT approved SS7 Media Gateway provided a scalable single box solution that delivered carrier grade SS7 to VoIP interconnect.
“Simple engagement with no contracts and no billing is Powwownow’s ethic, providing millions of affordable and easy to use conference calls worldwide. Service levels such as these require maximum resilience and our existing fleet of Cisco AS5400s were extremely power hungry and challenging to manage – the SS7 Media Gateway supplied by Squire Technologies has provided us a seamless single box solution ” – Paul Lees, Joint CEO.
The SVI_MG 8000 SS7 Media Gateway replaced 10 existing Media Gateways with a much higher bandwidth STM-1 interface allowing us to reduce our power consumption by 66%. Squire Technologies worked closely with us to gain official BT CAT, NIF and NIT testing making the SS7 Media Gateway an approved BT interconnect product. Since the initial BT deployment the unit has been upgraded to provide further STM-1 interconnect at BT and to other European carriers.
“This was a very exciting opportunity for Squire Technologies and I would like to thank Powwownow for sponsoring us through the BT interconnect approval process. We look forward to working with Powwownow now and in the future helping them to support their continued growth in the Conference Calling market.” -
Simon Dinnage, Business Development Director, UK
About Squire Technologies
Established in 2001, Squire Technologies Ltd has experienced rapid growth providing Carrier Grade Telecoms Products and Services to the Telecommunication Industry worldwide with deployments in more than 50 countries.
What colour says about you
Posted by Chantelle in Techie Talk on December 1st, 2009
As a Web Developer, I’ve realised it’s always good to know the meaning behind colours when choosing them for your website and branding.
Here is a list of the most common associations.
Redaction, confidence, courage, vitality |
Pinklove, beauty |
||
Brownearth, order, convention |
Orangevitality with endurance |
||
Goldwealth, prosperity, wisdom |
Yellowwisdom, joy, happiness, intellectual energy |
||
Greenlife, nature, fertility, well being |
Blueyouth, spirituality, truth, peace |
||
Purpleroyalty, magic, mystery |
Whitepurity, cleanliness |
||
Blackdeath, earth, stability |
Graysorrow, security, maturity |
It’s nice to see that Powwownow is enforcing its bid for the environment through its green, white and blue logo!
Overcoming the junk mail filters
Posted by Powwownowteam in Techie Talk on November 19th, 2009

(image courtesy of danshill)
We think we’ve done pretty well at Powwownow over the last few years. But that doesn’t mean we’ve not had our challenges.
And one ongoing challenge we’ve experienced is finding a way to avoid our communications (which are essential to how we provide our service) being intercepted by email client junk filters.
As Andrew explains in an article in today’s Telegraph, the success of Powwownow relies heavily on our customers receiving the information they need to be able to hold a conference call. Without that information, there can be no Powwownow. And the number of calls to the help desk asking for information to be re-sent suggest that it’s not a seldom occurrence.
So, while some of the big boys have the tools and the tricks to overcome the spam filters, for the little(r) guys like Powwownow, it’s not so easy.
It’s not a battle we intend on losing, however. We’ve not been shy on investing on new technology to make us compete in the telecoms sector, and we’ll continue to do so in the future.
And, if you do have trouble receiving details from us that you think you really should have received, please get in touch and we’ll do our best to make sure you do get the info you need – now and in the future.
Rounded Corners
Posted by Carl Pappenheim in Techie Talk on July 22nd, 2009
Powwownow is available in so many countries that we offer comprehensive lists of dial-in numbers in PDF form. There are a great many combinations of services and languages and we are adding new access numbers all the time so these PDFs are generated automatically by computer. I was updating these last week and, as part of that, it came to my attention that the rounded corners weren’t working. We had been using four little images in the background with the corners drawn on by hand. Sadly, when customers printed the PDF, background images often weren’t shown. That wasn’t a big problem, as long as you don’t mind the marketing department sawing off your head with a rusty spoon.
It immediately occurred to me that drawing the corners on with vector lines would make the most sense; there’s no way they wouldn’t be printed. Unfortunately the PDF generator we use (FPDF) only draws straight lines, not circles, so I needed to figure out a way to achieve the same result using only straight lines. I needed trigonometry. It was just like being back in maths class in school! I flicked ink at the boy next to me, blew spit balls at the office manager when his back was turned and stared at the clock. Then I did some trigonometry.

I started out, above, trying to figure out a formula for moving from one point on the cricle to another but then realised that even if I succeeded, it would just leave me with a hollow circle, not a solid one. So I changed tack and realised it was blindingly simple.
If you start from the centre point, the co-ordinates of any one point on a circle can be expressed as x=radius*sin(angle), y=radius*cos(angle). Both sin() and cos() are available within PHP so my plan was to start from the corner I wanted to “round off” and draw a series of white lines inwards to the border of an imaginary circle. If there were enough lines they would cover up a sort of curved rectangle shape and make the corner look rounded.
| Corner | Range in degrees | Range in pi radians |
| Bottom right | 0 to 90 | 0 to 0.5 |
| Bottom left | 90 to 180 | 0.5 to 1 |
| Top left | 180 to 270 | 1 to 1.5 |
| Top right | 270 to 360 | 1.5 to 2 |
PHP works in radians, which are like degrees except there are 2*pi radians in a full circle instead of 360. Each corner has a range of 0.5*pi radians and zero is at the 3 o’clock position in the FPDF plugin . To the right is a table showing the ranges each corner needs to use. Because I’m lazy to a fault, I wrote a little loop to create an array of the boundaries marking the limits of each range.
Once that was ready, all I had to do was define which corner I wanted, from 1 to 4, and I’d be able to pull two adjacent numbers from the array to find the start and end of any quadrant I liked. Once I had these boundaries, I could start at the lower end and draw a line, then add 0.1 and draw another line.. and so on until I reached the upper limit. And you know what? It worked! In this image, you can see the original sharp corner on the far left and then the first attempt at drawing the lines in next to it.

Not bad, eh? The next step was to change the line colour from red to white (obviously) and reduce the size of the step to make the lines so dense that it looked like a solid shape. Rather than simply reduce the interval between lines from 0.1 to 0.01 I set the interval to 1/radius so it would get smaller as the corner got bigger. That way, if anyone decided to make a bigger corner in the future, instead of gaps showing, it would simply draw more and more lines to make sure the shape was always solid white.
You can see in the middle of the imagea above what that looked like – pretty good, no? The next step was to do the other three corners. Obviously, to get the appropriate curve, the imaginary circle should be inside the main coloured area, offset by a distance of one radius in both the x and y directions. However, that was a bit of a challenge – think about how you have to move in a different direction at each corner:
| Corner | X offset | Y offset |
| Bottom right | - | - |
| Bottom left | + | - |
| Top left | + | + |
| Top right | - | + |
The sharp eyed among you will have noticed that the X offsets are the same in the middle and the Y offsets are in groups of two. So I wrote some cunning one-line logic statements to calculate the X and Y offset on-the-fly before adding (or subtracting) from the co-ordinates of the corner to produce my origin point. Then I had the combination of an appropriately offset circle centre and the correct range of angles from before.
One other problem you may have noticed was a slightly ragged edge where the straight ends of the lines themselves were clearly visible at the ends of my overlay shape. So I subtracted from the offset value to put the circle just a tad outside where it should have been which keeps those rough ends away from the coloured area. The far right above shows the final result and very satisfactory it is too.
Well, that’s job done in my book. But of course I’m forgetting the most important stage: mess around with the settings to produce beautiful moire patterns all over the international dial-in PDF!

A vast improvement, I’m sure you’ll agree. Interested art gallery owners can reach me at the usual address…!
The finished function:
function corner ($pdf, $cnr, $x, $y, $r) {
/*
$pdf = fpdf object
$cnr = corner number, 1 to 4
$x and $y = coordinates of corner point
$r = radius of corner curve
*/
// white to match document background
$pdf->SetDrawColor(255,255,255);
// define four sector ranges in radians
for ($i=0;$i<=2;$i+=0.5) {
$lim[] = $i*pi();
}
// find x and y of virtual circle's origin by adding a small offset
$d = $r-0.1; // offset only needs to be tiny
$ox = $x + ($cnr>1&&$cnr<4 ? $d : -$d); // 2 and 3 vs 1 and 4
$oy = $y + ($cnr>2 ? +$d : -$d); // 1 and 2 vs 3 and 4
$step = 1/($r*10);// more lines if it's larger
for ($a=$lim[$cnr-1];$a<=$lim[$cnr]+$step;$a+=$step) {
$yy = $r*sin($a);
$xx = $r*cos($a);
$pdf->Line($x,$y,$ox+$xx,$oy+$yy);
}
}
Fooling around with Google Maps
Posted by Carl Pappenheim in Techie Talk on May 22nd, 2009
They say you shouldn’t take your work home but, if you’re lucky, sometimes your curiosity is piqued by something that you just have to investigate on your own time. No, I’m not talking about cyber stalking the office babes on their Facebook pages, quiet down at the back. This week, I’ve been putting the finishing touches to our new conference call scheduler application and, while implementing a Google maps tool for calculating time zone differences, I started thinking about their zoom levels. I can’t tell you how many times I’ve tried to print off directions and found that the route was too small to be clear, then zoomed in and found the route didn’t quite fit all on one screen. It seems like a big leap at those times, yet when you’re looking at the whole world, or zoom all the way in to one street, the contrast between stages isn’t nearly so obvious. So what is the change in scale each time you click the plus or minus?
The application Google supply contains a suite of useful procedures, including one which tells you the longitude and latitude of the four corners of the visible area at any one time. So I wrote a small script that would subtract the latitude difference between the top and bottom of the map view whenever I clicked a button, giving me the real distance that was represented by the height of the map area. Then all I had to do was click, zoom in, click.. and so on.
Zoom levels in Google are represented by numbers which you can see if you use the ‘link’ button on the normal maps site.
http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=TW9+1SE&sll=57.704147,0&sspn=1.655398,5.822754&ie=UTF8&t=h&z=16&iwloc=A
The most zoomed out level is 0 and the most zoomed in is 17 (it used to be 15 but as better quality aerial photography and streetview came along it was extended). Here are the relevant distances for a few zoom levels, in degrees.
| 5 | 6.39341931 |
| 6 | 3.196849481 |
| 7 | 1.598441987 |
| 8 | 0.799223142 |
| 9 | 0.399611839 |
(As an aside, to convert longitude difference to miles, divide the Earth’s circumference in miles (24,901.463) by 360. Amusingly, because I am 12 years old inside my head, this comes out at about 69)
Anyway, the numbers look pretty arbitrary, right? I pasted the results into Excel and created a third column with a formula which divided each number in the list by the one after it. Here’s what I got:
| Zoom | Distance | Distance ratio |
| 0 | 153.3373324 | 1.58142375 |
| 1 | 96.96157175 | 1.908420623 |
| 2 | 50.80723325 | 1.988817298 |
| 3 | 25.54645583 | 1.998239156 |
| 4 | 12.78448365 | 1.999631658 |
| 5 | 6.39341931 | 1.999912523 |
| 6 | 3.196849481 | 1.999978421 |
| 7 | 1.598441987 | 1.999994623 |
| 8 | 0.799223142 | 1.999998657 |
| 9 | 0.399611839 | 1.999999664 |
| 10 | 0.199805953 | 1.999999916 |
| 11 | 0.099902981 | 1.999999979 |
| 12 | 0.049951491 | 1.999999995 |
| 13 | 0.024975746 | 1.999999999 |
| 14 | 0.012487873 | 2 |
| 15 | 0.006243936 | 2 |
| 16 | 0.003121968 | 2 |
| 17 | 0.001560984 | ERR |
Ho ho! Looks like that third column is pretty much constant, except at the top end. That’s probably down to inaccuracies in the projection. All flat maps have errors when you try to show a spherical shape on a flat map and they’re always worse near the poles. But otherwise, case closed! Every click on the Google map zoom doubles or halves the size of what you can see. Which is why it seems like such a big difference when I’m trying to print those directions.
Only one question remains: how can I use this knowledge to impress the girls in the office?












