FlyNumber.com–a concise review

Share on TwitterSave on DeliciousDigg ThisSubmit to redditShare via email

Flynumber.com is a DID Telephony service provider, i.e. virtual numbers in other countries so that they can be routed to other countries or services, and in my case it was to be routed to my skype account.

A whole week of service got me the below.

image

To say the least I was less than impressed with the response time, their customer service mentioned a country policy which was not stipulated on their legal page, and it made me feel uneasy. To top it off, who knows if they will refund this money. Here’s hoping.

update Nov.19 Still having received any feedback nor money back from this company. Buyer Beware!

JWPlayer – Autostart cause video to not show, but audio still runs

Share on TwitterSave on DeliciousDigg ThisSubmit to redditShare via email

We just started using some of the jwplayer javascript events and one of the problems we first came across, was a problem with IE8. I myself have tested the video location on multiple platform but this must be a particular variant of IE8 , which has problems with this.

The jwplayer forums suggested that it was a cache issue, however I implemented the cache solution and that was not effective. The computer I was able to identify with this issue was a Dell Vostro 220 series Windows 7 home Premium Running IE8 (8.0.7600.1635) in any mode (Quirks, standards or even IE7 compatability). The following relevant video components were found:

  • Flash Version 10.0.42.34
  • Quicktime 7.6.6 (1673)
  • Windows Media Player 12.0.7600.16667
  • Silverlight 4.0.605.

The issue occured both with an flv and a wmv file. The video was being streamed across RTMP.

The symptoms are a black (blank) screen , but audio is displaying correctly.

The solution for those looking to still autostart is implement a start request once jwplayer is ready.

<Script language=”javscript”>jwplayer(‘container’).onReady(function() { jwplayer(‘container’).play(false);});</script>

Taking your testing seriously – Tips & Tricks to setup your testing platforms

Share on TwitterSave on DeliciousDigg ThisSubmit to redditShare via email

As every project grows the #1 ratio that I think is guaranteed to occur is that your testing time will grow exponentially , ever increasing to the point where testing will end up taking longer than the actual development. 7 years ago the project I work on today, was barely given a few basic tests before it was placed online. With only a couple visitors per hour, I had time. I would use the live environment for testing as that is where we were, that is all we had. But this is today, and today we go through a process of checks and balances to make sure code looks right, so I want to share what has worked for me.

What I can recommend:

  • Code versioning
  • Client to manage code versioning locally
  • development server – local code, preferably with the same platform installed.
  • Code Synchronization between test & production or between Code versioning service and servers
  • Test environment on the live server-
  • Live environment on live server
  • Test database
  • live database

Snags I have seen:

  1. Components and updates seem to happen more often on the development server, simply because the development team uses it more. Numerous times I have had issues arise because what we are using locally doesn’t match what we are doing on the live server.
  2. Server setup is different between the 2 machines. This happens all the time with environment variables, installed apps, missing dlls , new versions of the same dll and a plethora of other situations. Word of advice is to keep your local development environment as similiar to your live environment as humanly possible. This will save you time, time time.
  3. Maintaining & keeping live & test databases (million+ records) is resource intensive but if you don’t do it , you will find yourself a 100 times a month remembering that the test database is missing field x or that field Y’s size limit was increased this morning but its not updated.
  4. Check your folders, commit your files. Do branches if you have to but put your files in the repository. If its not in there you are going to kick yourself because you can rollback sooner or later.
    1. Commit often enough that you won’t kick yourself in the pants. How many times have I wanted to revert to a code change from a few days ago, but the last commit was weeks ago.

Software I have worked with:

  • SVN for windows is your friend.
  • Cygwin – syncing is good.
  • TortoiseSVN, it just works.
  • webDrive, with this little Ftp to drive software, I can do winmerge comparisions directly against the server or live, without to much hassle.
  • DirectoryOpus or any commander type file explorer.
  • Love using Visual Studio’s web deploy, simplifies dll deployment into one file. The only catch is if you are working on a unfinished project and you need to fix a fire, you have to commit your changes , rollback those files, and complete your quick fix and then deploy, otherwise you end up. Today they have something even better .

All in all I can say, work with a process in place when it comes to the transitioning of files, leave very little to manual operations, and you will be happier for it.

AutoHotkey – Macro coding

Share on TwitterSave on DeliciousDigg ThisSubmit to redditShare via email

So today I delved into the World of Autohotkey, specifically because I was too lazy to program a new application which would manage logging in and navigating some pages (using form posts) to save a file. The site I was trying to aces doesn’t have an API connector for downloading these reports, only for executing actions, so it was one way. Later on we are going to code this formally with some .NET to perform the login and download all by a program, but for now this Tool has found some purpose in my bag of tricks.

Limitations of AutoHotKey as a automated function

  • it can’t start if logged out
  • it can’t start up the computer
  • you can’t rely on window size as that changes on each opening , so really don’t use mouse functions.
  • Even though a window is active it doesn’t necessarily mean its ready for input , look at the code below where I really had to add sleep functions so that the system wouldn’t start typing in the middle of window dialogs opening
  • Windows keyboard shortcuts are your friend

On the whole, I really enjoyed the simplicity of design. It looks to me that if I had no other way of doing automated tasks this would be a very useful tool. I actually spent a few minutes thinking about our customer service staff and thinking if there are locations where this sort of automation could be handy.

I know there is 7 ways to do this better, I saw the functionality to build in IE right into AutoHotKey

; semi colons start Comments , go figure.
SaveFile(NumberofDays)
{
TimeString =
TimeString += -%NumberofDays%,days ; By setting the TimeString as Empty when I add days to it, it will default to today’s date
FormatTime,TimeString,%TimeString%,yyyyMMdd ; Formatting the time because I am going to use it in the file name
FormatTime,Days,%TimeString%,dd ; the next three are going to be used to file the right url
FormatTime,Months,%TimeString%,MM
FormatTime,Years,%TimeString%,yyyy
;Sendinput\Send basically send keystroke and mose commands, strings encapsulated by % are variables
SendInput,{F4}{DELETE} https://somesite.com/somelocation/%Years%/%Months%/%Days%/v1981406/OrderDetailReport.csv{ENTER}
Sleep, 1500
IfWinExist, Login Page ; If a window with Login Page in the title pops up, login
{
SendInput, SUPERLOGIn{TAB}PASSWORD{ENTER}
}
Sleep, 1500
;now here comes the where we look for the file download window to open and do a series of IE hotkeys to quickly get through it without mouse usage

WinWait, File Download, Do you want to open
IfWinNotActive, File Download, Do you want to open , WinActivate, File Download, Do you want to open
WinWaitActive, File Download, Do you want to open
Sleep, 1000
Send, S
WinWait, Save As,
IfWinNotActive, Save As,, WinActivate, Save As,
WinWaitActive, Save As,
sleep, 1000
Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{DELETE} ; I do this to clear out the text space before I send any command data
SendInput, c:\downloads\%TimeString%_FILE.csv{ENTER}
sleep, 1500
WinActivate,Confirm save as,
Send, {LEFT}{ENTER}
sleep, 3000
}

MsgBox “Runnning Daily save of Cybersource file’
SetTitleMatchMode,2 ; when it does windows searches

;Hit the windows button wait for the menu to open up and then type in my command to open IE
WinWait, Program Manager,
IfWinNotActive, Program Manager, , WinActivate, Program Manager,
WinWaitActive, Program Manager,
Send, {LWINDOWN}{LWINUP}
WinWait, Start Menu,
IfWinNotActive, Start Menu, , WinActivate, Start Menu,
WinWaitActive, Start Menu,
Send, iexplore{ENTER}
WinWait,Explorer,
Sleep, 1500

;first time around I looped around it a lot so that I could download all this month’s file.
Loop,1
{
SaveFile(A_Index)
}
;Close the Windows window at the end ofi
IfWinExist, Windows Internet Explorer
{
WinClose ; use the window found above
}