Bookmark and Share

Monday, May 23, 2016

Howto: create a large file downloader with resume feature

If you need to create a downloader program for the download of a single large file with the resume feature, here is a solution :
WGET  + WINRAR
This is the strategy: use wget to download the file, use winrar to package the wget and dependencies files and to call wget after the extraction.
  1. Download wget and the dependencies from here, GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.
    This is THE tool if you need to download big files.
  2. Copy the files inside a directory , i.e. : “Install”
  3. Install WinRar
  4. Create a new WinRar Archive with these files and settings :
  5. image
  6. Click on the SFX icon in order to create a SelfExtracting archive, and click OK:
    image
  7. Change the Setup command, we need to instruct wget on the file we need to download:image
    1. the –c parameter continues getting a partially-downloaded file
    2. the –O parameter (uppercase!) sets the path and the file name of the downloaded file.
  8. Run the program and the download will start :
    image
  9. If you close and re-launch the program the download will resume gracefully
  10. Use WinRar and not 7Zip for the auto-extracting executable because 7zip doesn’t support windows variables like “%USERPROFILE%”.
    This is important if you need to control where is downloaded the file.
  11. This solution works well if you need to download from the web really huge files : virtual machine images or big archives.
Hope it helps!

Thursday, May 12, 2016

Virtuawin : a free windows virtual desktop manager

If you need to organize your work on multiple desktops (Dev. desktop, Production Desktop etc..)  you can try Virtuawin a free virtual desktop manager.

You can switch desktop using the keyboard (ex: CTRL + ALT + RIGHT ARROW), you can also move windows from one desktop to the other using keyboard.

It supports addon modules, with one of them (SwitchDesk) you can also configure different backgrounds on different monitors.

If you need to install an additional module you need to copy the executable to “\Program Files (x86)\VirtuaWin\modules”

I really suggest it !

Here are some screenshot of the configuration :

image_thumbimage_thumb1image_thumb2

Thursday, March 06, 2014

How to investigate IOS Safari crashes using Chrome

I’ve worked some days on a web app application, completely written using  jQuery, jQuery Mobile and Kendo UI Library.

The application worked successfully on the Android devices but, on Iphone/Ipad crashed unexpectedly.

I’ve tried to investigate the crash logs on the device, with no fortune.

I’ve also connected the device to a mac and tried to debug the web application using the Web Inspector, following these steps http://moduscreate.com/enable-remote-web-inspector-in-ios-6/ , but , when Safari on IOS crashed, the Remote Web Inspector on my Mac was closed too, with no possibility to find what was the latest javascript instruction.

I’ve discovered on the web a great project that enables Chrome debug on Safari for IOS, here is the link:

https://github.com/google/ios-webkit-debug-proxy

You need to install :

After the proxy installation you need to execute it on your mac using :

ios_webkit_debug_proxy





Schermata 2014-03-05 alle 10.12.14



Start the IOS simulator using XCode:



Schermata 2014-03-05 alle 10.22.45



Connect chrome on your Mac to the address…  http://localhost:9221



Schermata 2014-03-05 alle 10.13.15



Choose the device:



Schermata 2014-03-05 alle 10.13.33



Here we are: Chrome web tools debugging Safari!



Schermata 2014-03-05 alle 10.15.17



Network Panel:



Schermata 2014-03-05 alle 10.15.49



Console window:



Schermata 2014-03-05 alle 10.20.57



If Safari crashes… you will be able to see the console message in the web tools window.. this should save a lot of time when you try to find the crash point.



Some tips:




  • don’t use web apps inside iframes : Safari on IOS in really unstable


  • if you need to use jQuery ready event…. wrap the code inside a function and add a timer and call it after 100-200 ms


  • sometimes working on css style overflox-x overflow-y seems to crash Safari


  • read the Apple guidelines for web apps:



Hope it helps!



Matteo

Friday, February 14, 2014

DNN 7 / EVOQ : update containers path using SQL query

Here is a little tip if you have configured a lot of modules with different containers and you need to change the name of the containers.

Three step operation:
  1. Find the containers you need to update:
    select * from TabModules where ContainerSrc like '%YourSkinName%' order by ContainerSrc 

  2. Update the container’s names:
     
    Old container: EmptyTestRed.ascx
    New container:EmptyTestYellow.ascx
    Skin Path: [G]Containers/YourSkinName/
    Query :

    update TabModules set ContainerSrc = '[G]Containers/YourSkinName/EmptyTestYellow.ascx' where ContainerSrc = '[G]Containers/YourSkinName/EmptyTestRed.ascx'

  3. Navigate to Host > Host Settings > Advanced Settings > Performance Settings and click on the “Clear cache” button.

Another option is to disable the DNN Cache, don’t try it , the CMS will become very unresponsive.

That’s all!

Thursday, September 26, 2013

Browserstack : real web-based testing on VM

image

Today I’ve discovered a great testing service : browserstack.
You can test using a REAL OS your web pages, and see it using : Windows XP, 7, 8, OSX Snow Leopard, LION … and also IOS/ANDROID using the emulators.

image

Available browsers on Windows 7:

image

You can test a public url over the internet and …. an internal URL.
image

Wait! Internal URL?



Yes you can also test your local web application using a little java proxy program:

image

And after the connection:

image

After the connection:
image

And here is the test VM (the screenshot refers to a local web page on different port):

image

The only word to describe this service is : MAGIC!!!!!

Note: this is a real OS (with limited features for security reasons), here is the demonstration:

XP:
image

OSX:
image