Categories
Recommended Solutions tips Website work

UnderGet – Download blocked content

Ever wanted to try and download an mp3 file at your workplace, but couldn’t because corporate firewall policy was to block every url ending with the .mp3 prefix?

Categories
Hard drive Solutions tips

How thinking outside of the box might save your “damaged” hard drive (and mental health)

This is a short tale about last minute information salvage, and why you should always stay optimistic about your failed hard drive.
This of course, doesn’t cover up case of hard drive that is making funny noises…

Categories
graphics Java programming tips video

The woes of Frame Animation on Android [w/ code]

My adventures of getting frame animation on the Android 2.1 continue, and take a turn for the worse. Will I come up victorious in the end? Not sure…

Categories
ffmpeg linux Recommended tips video

How to rotate a video using MEncoder and FFmpeg and live to tell the tale

Hi
I’d like to share a quick tip on rotating video files.
I’m always frustrated with taking videos with my phone. Single handedly it’s easiest to do it when the phone is upright and not in landscape mode. But the files are always saved in landscape mode, which makes them rotated when you watch.
Although there are plenty of GUI software to do it, using the command line is faster and can also be batched!

Categories
Android code Java Mobile phones programming tips

Reading contacts in Android 2.0+

On one of my Android apps, I added a trivial option to select a contact from the phone’s contact list. This was working fine until SDK version 5, which changed the way the contacts are represented in the phone’s SQLite database. It is using the “newer” class called ContactsContract instead of the deprecated People class

I have spent quite time in order to figure out which was the best way that will fit my needs. If you are in the same position, feel free to use the code below

My example below is will display a two row list of all the contacts, with alphabetical indexing. It is a mixture of code snippets I have found on the net, while may not be optimized; it will definitely give you the hang of things.

Categories
Android Recommended Software Solutions Stream tips

An Android solution for listening to online radio while multitasking

Android + Yourmuze.fm + Dolphin Browser HD + XiiaLive = WIN

It’s been a while since I’ve posted anything in the blog… Sorry for that… very busy times. I had a lot of ideas of what my “comeback post” should be about, but I knew I had to share one of my relatively recent discoveries that made my smartphone online-radio listening experience a whole lot better
If you don’t know yourmuze.fm, this might be the time to get to know it. It’s a free service that has a LOT of worldwide radio stations available as an online stream for usage with most of the smartphones.
In order to start using it you need to register for free via your desktop computer, and add the stations you like. Later on, you can surf to the mobile version of the service by mobile web and listen to the stations you selected.
So far so good… I like it. But how about multitasking?

Categories
code graphics gui opencv programming tips

Combining OpenCV 2.x and Microsoft WPF [w/ code]

Hi,
Just a quicky about OpenCV and Windows Presentation Framework interoperability. It’s really easy with a simple Managed C++ wrapper. What I’ll show is how to transfer an OpenCV cv::Mat into WPF’s BitmapSource. Let’s see how it’s done.

Categories
Recommended Solutions tips Voip Website

Call Skype from a regular phone… for FREE

Today I came across a very nice free service called Ring-2-Skype. It lets you register a personal international number from about 40 countries, and whoever calls this number and dials your extension is directed to your Skype account.
The coolest thing is that you can register a number on several countries for the same Skype account. For instance on for USA, one for Peru etc.
And… it’s FREE!
The downside is that the number you get is not direct, but requires you to dial an extension number, so you can’t use it with Google Voice-like services.
UPDATE #1: I discovered a bug with the service – it is incompatible with Skype’s voicemail: meaning the call gets disconnected when the greeting is played. I contacted them and they said it’s a known issue and they are taking care of it. I’ll update the post again once I know this issue is resolved

Categories
Android Mobile phones Networking tips Voip

VoIP for Android is in town


Well, At least when it comes to SIP communication
Update:
Well, there has been a great leap in Android support with VoIP. Skype has released a decent client for most Android based phones (with the exception of Galaxy S, and USA Based clients cannot use 3G), and I have discovered another excellent VoIP client for Android called cSipSimple (If you liked Sipdroid I advise you to check this one out as well. It’s my current default).
Other than that, the upcoming Android 2.3 is said to have native SIP support which is extremely cool
Having said all that, enjoy my original post 🙂

A Smartphone, as its name implies is… eventually… a smart phone! Exactly! That’s what I thought. And as one I should have the ability to run any software that is compatible with its hardware and software.
That turns out to be almost true. VoIP is off the limit.
And it is not because the device cannot handle it, Far from it. It is because mobile companies are afraid for their revenues. When people are using VoIP on their infrastructure, it takes away money from them. Oh you poor phone companies. My heart goes out for you.
And after all the tears run out, I went out to look for some VoIP that DOES work for me. SKYPE of course was off limit. Even though there is “Skype Lite Beta” for Android, it does not support Skype-to-Skype user call. And why should it? Skype is an excellent IM software and VoIP is only secondary (wink).
I then stumbled upon SipDroid. Sip droid is a SIP client for android. This is great if you have a SIP account provider. I for instance, have an account which runs on asterisk server (open source IPBX system).
I got the installation of SipDroid at once! And installed on my phone to try it.
What can I say? It has huge potential. But it is only fully compatible with its mother ship, which is pbxes.com. Luckily (but of course – not a solution) they allow you to enter your own sip account there so you can connect to it through them (like connecting to your neighbor through china… but it works). Although pbxes.com has a strange certification error they claim is negligible.
So, using it directly with asterisk server causes poor outgoing audio which is lame. I’m sure some people might be able to tweak their server to handle it directly and properly but I didn’t manage to do that… nor found proper idea sharing on that subject.
But this client is still in beta stage so I honestly believe it will kick ass when it’s complete.
It’s no Skype, and I hope some Skype-like client like Fring will port soon for Android, but until then, it’s better than nothing.
Two important notes if you want to use it:

  1. If you are planning to download it from the Android Market – You will get a limited version which disables usage of VoIP over 3G/EDGE. So if you want the full one then download it directly from the project page.
  2. VoIP data, is currently 1.20mb per minute, so watch your data plan
Categories
.net Networking programming Recommended Software Solutions tips Windows scripting

The proper way to run a remote process

This is the story of my journey to find a way to run a process (or a program on a remote pc)
This wasn’t an easy thing at all…
Overall, I thought, this should be an easy thing to do.
I found this C# code on a Microsoft forums

object[] theProcessToRun = { "notepad.exe" };
ConnectionOptions theConnection = new ConnectionOptions();
theConnection.Username = "username";
theConnection.Password = "password";
ManagementScope theScope = new ManagementScope("<\\\\" + IP + "\\root\\cimv2", theConnection);
ManagementClass theClass = new ManagementClass(theScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
theClass.InvokeMethod("Create", theProcessToRun);

I tried this code, not after forgetting to disable the firewall on the remote computer – a big downside but I guess if I had gone with it I’d hunt a way to stable port to unblock in the firewall.
 
Then I found the big downside (which can be an upside to some of you):
The remote process this way will never have a GUI window opened (In this example, a process of notepad will be opened in the background).
This can be a big advantage to system admins which want to run scripts.
 
Ok, back to the quest.