Thursday, February 8, 2018

How to install Tizen 2.4 app on Tizen B2B Digital Signage TV

1. Build a .wgt package

Right click on your project and click on "Build Package".
This will generate a .wgt file at the root level of your project.


2. Place package on a server 

Copy the above generated .wgt file into an accessible directory on your web or HTTP server.
In the same folder, place a file named sssp_config.xml
This is a descriptor file that the TV use in order to locate the app, and also to identify version upgrade.
sssp_congif.xml:
<?xml version="1.0" encoding="UTF-8"?>
<widget>
<ver>10</ver>
<size>2948</size>
<widgetname>WgtFileName</widgetname>
</widget>
As you can see, the file contains three fields:
1. ver - The version of the app.
If the version in the sssp_config.xml file is greater than the one already installed, then the TV will install the new package.
2. size - Size of .wgt file in kilobytes.
3. widgetname - Name of .wgt file without the extension.

3. Install Web App.

  1. Press the "Home" button on your TV remote control
  2. Pick "URL Launcher Settings"
  3. Pick "Install Web App"
  4. Insert URL to the directory that the package is located at.






Saturday, December 20, 2014

How to enable Chrome for Android remote debugging with Phonegap Developer App

In order to remote debug on Android with Chrome while running in Phonegap Developer App, you should use an apk that was built in debug mode.

Thankfully the app is open sourced. I've cloned and build the app.
You can find the debug apk here:
If you want to do it yourself - here is the Github repo.

Saturday, June 28, 2014

Freelancer.com Bug Fixes Chrome extension


This extension was developed in order to fix and improve Freelancer.com.

Features:
  • Project page: No employer profile link.
  • Employer profile: Click on Employer button shows error instead of employer stats.
  • Find freelancer: show country name below the country flag.
We add a visual "✔" to every fix. 

Source code @  bitbucket.org

Friday, June 13, 2014

Remote Control VLC Media Player over TCP

  1. Open your command line (cmd) and cd to VLC install location.
  2. Type the following command:
    vlc --intf rc --rc-host localhost:50000
    (Port doesn't have to be 50000)
  3. Open Socket Test TCP client or any other TCP client.
  4. Connect to 127.0.0.1:50000
  5. Send "Help" to get a list of available commands 
Your response should be something like that:

+----[ Remote control commands ]
|
| add XYZ  . . . . . . . . . . . . add XYZ to playlist
| enqueue XYZ  . . . . . . . . . queue XYZ to playlist
| playlist . . . . .  show items currently in playlist
| play . . . . . . . . . . . . . . . . . . play stream
| stop . . . . . . . . . . . . . . . . . . stop stream
| next . . . . . . . . . . . . . .  next playlist item
| prev . . . . . . . . . . . .  previous playlist item
| goto . . . . . . . . . . . . . .  goto item at index
| repeat [on|off] . . . .  toggle playlist item repeat
| loop [on|off] . . . . . . . . . toggle playlist loop
| random [on|off] . . . . . . .  toggle random jumping
| clear . . . . . . . . . . . . . . clear the playlist
| status . . . . . . . . . . . current playlist status
| title [X]  . . . . . . set/get title in current item
| title_n  . . . . . . . .  next title in current item
| title_p  . . . . . .  previous title in current item
| chapter [X]  . . . . set/get chapter in current item
| chapter_n  . . . . . .  next chapter in current item
| chapter_p  . . . .  previous chapter in current item
|
| seek X . . . seek in seconds, for instance `seek 12'
| pause  . . . . . . . . . . . . . . . .  toggle pause
| fastforward  . . . . . . . .  .  set to maximum rate
| rewind  . . . . . . . . . . . .  set to minimum rate
| faster . . . . . . . . . .  faster playing of stream
| slower . . . . . . . . . .  slower playing of stream
| normal . . . . . . . . . .  normal playing of stream
| frame. . . . . . . . . .  play frame by frame
| f [on|off] . . . . . . . . . . . . toggle fullscreen
| info . . . . .  information about the current stream
| stats  . . . . . . . .  show statistical information
| get_time . . seconds elapsed since stream's beginning
| is_playing . . . .  1 if a stream plays, 0 otherwise
| get_title . . . . .  the title of the current stream
| get_length . . . .  the length of the current stream
|
| volume [X] . . . . . . . . . .  set/get audio volume
| volup [X]  . . . . . . .  raise audio volume X steps
| voldown [X]  . . . . . .  lower audio volume X steps
| adev [device]  . . . . . . . .  set/get audio device
| achan [X]. . . . . . . . . .  set/get audio channels
| atrack [X] . . . . . . . . . . . set/get audio track
| vtrack [X] . . . . . . . . . . . set/get video track
| vratio [X]  . . . . . . . set/get video aspect ratio
| vcrop [X]  . . . . . . . . . . .  set/get video crop
| vzoom [X]  . . . . . . . . . . .  set/get video zoom
| snapshot . . . . . . . . . . . . take video snapshot
| strack [X] . . . . . . . . .  set/get subtitle track
| key [hotkey name] . . . . . .  simulate hotkey press
| menu . . [on|off|up|down|left|right|select] use menu
|
| help . . . . . . . . . . . . . . . this help message
| logout . . . . . . .  exit (if in socket connection)
| quit . . . . . . . . . . . . . . . . . . .  quit vlc
|
+----[ end of help ]

Friday, April 18, 2014

Making Latex work with Anki

Using Latex with Anki can be quite powerful, here is how to fix the “dvipng: GUI framework cannot be initialized.” error that you'll get after installing MikTex:
  1. Go to your miktex bin folder (in my case C:\Program Files (x86)\MiKTeX 2.9\miktex\bin)
  2. Right click mo_admin.exe and run as admin
  3. In the General tab, switch “Install missing packages on-the-fly:” to “No”
  4. Click OK


Source: EmptyLoop.com

Wednesday, January 1, 2014

Install ASP.NET With DISM.EXE on Windows 8

If you are trying to run your ASP.NET website on IIS8 on a WIndows 8 machine, you are possibly going to get the following error:
The requested content appears to be script and will not be served by the static file handler
On previous windows versions, running aspnet_reqiis.exe -i was sufficient. Unfortunately aspnet_reqiis.exe no longer works on windows 8, and we are required to use a new tool - DISM.EXE.

Quoting Microsoft info about DISM:
Deployment Image Servicing and Management (DISM) is a command-line tool used to service Windows® images offline before deployment. You can use it to install, uninstall, configure, and update Windows features, packages, drivers, and international settings. Subsets of the DISM servicing commands are also available for servicing a running operating system.
DISM is installed with Windows® 7, and it is also distributed in the Windows OEM Preinstallation Kit (Windows OPK) and the Windows Automated Installation Kit (Windows AIK). It can be used to service Windows Vista® with Service Pack 1 (SP1), Windows Server® 2008, Windows® 7, Windows Server® 2008 R2, or Windows PE images. DISM replaces several Windows OPK tools, including PEimg, Intlcfg, and Package Manager.
So in order to install ASP.NET with DISM via command line - run the following line:

dism /online /enable-feature /all /featurename:IIS-ASPNET45

More info on Microsoft Support

Update:

If you are using WCF services, then you'll need to enable those also with DISM:
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation 
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

Thursday, December 26, 2013

Add -pthread flag for C++ build in Sublime Text 2

  1. In Sublime Text 2, go to "Preferences -> Browse packages..".
  2. Inside C++ directory, find the "C++.sublime-build" and open it.
  3. Use the following:
    {
     "cmd": ["g++", "${file}", "-pthread","-o", "${file_path}/${file_base_name}"],
     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     "working_dir": "${file_path}",
     "selector": "source.c, source.c++",
     "variants":
     [{
    "name": "Run",
    "cmd": ["bash", "-c", "g++ '${file}' -pthread -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
    }]
     }

QuickFix : SendingTime accuracy problem

Error

Message 1 Rejected: SendingTime accuracy problem

The above error message is usually followed by a session logout. It is caused due to incorrect date and time settings in the client machine.

Solution

Verify date, time and time zone are all set to the correct date and time settings.
Since you can set time zone and time independently, I suggest to double check the time zone (UTC hours difference), matches the time set.

Saturday, October 12, 2013

Multi Server UDP Client

Just a small UDP client that reads the servers list and commands from the settings (.config) file, and sends the selected message to all the servers.

Instructions:


  1. Open the "MultiServerUDPClient.exe.config" file with a text editor.
  2. Change the value of the node "IpAddresses" to your servers list delimited by ";".
  3. Change the value of the node "Messages" to your servers list delimited by ";".
  4. Run the exe and select the message you would like to send via UDP.
  5. Message will be send to all servers in the list. (Without waiting for a response..)
Target platforms: Windows

Download

Wednesday, August 7, 2013

Linux: Kernel programming - Webcam driver

- This project is part of the Linux System programming course @ MTA- 


The project consists from the following parts:
  1. Kernel driver that acts like a web cam driver. 
  2. "Feeder" that feeds frames to the kernel driver.
  3. Frame grabber that grabs frames and display them at NTSC. Manage time/delays using the kernel driver.
  4. Lock reads/writes in the kernel driver using wait queues.