While developing an example for the heartbeat component, i run into problems dealing with file handling in php. The problem comes from race conditions by reading and writing (updating) the same files. I must admit, it still needs some time to solve this problem in a sufficient way, but i'm on it.
Nevertheless, two shiny links where found by my preferred search engine and it would be a shame to not share them.
The first link has the title handling json like a boss in php. The page shows you how to encode and decode json files in php. What i liked very much, it also contains an error handling part. Shame on my side, i was not aware of the json_last_error function, now i am :-).
The second link headlines itself PHP File-handling tips and tricks and it contains a lot. I like, that the author puts back the SPLFileObject and SPLFileInfo into the limelight.
Even better, i wasn't aware of the available stream "php://temp". Thank you both!
I quickly created two bash functions to use rsync and ssh for syncing directories from the local host to a remote host and vice versa.
The two methods are available on my shell function repository. The two methods are called net_bazzline_sync_from_host and net_bazzline_sync_to_host. Enjoy it :-).
####
# Uses rsync with ssh to copy data from remote to local host
#
# @param string $1 - remote user
# @param string $2 - remote host
# @param string $3 - source path on remote host
# @param string $4 - destination path on local host
#
# @author stev leibelt
# @since 2013-07-05
####
function net_bazzline_sync_from_host ()
{
if [[ $# -eq 4 ]]; then
USER="$1"
HOST="$2"
SOURCE="$3"
DESTINATION="$4"
else
echo 'invalid number of variables provided'
echo 'command user host source destination'
fi
rsync -avz -e ssh $USER@$HOST:$SOURCE $DESTINATION
}
####
# Uses rsync with ssh to copy data from local to remote host
#
# @param string $1 - remote user
# @param string $2 - remote host
# @param string $3 - source path on local host
# @param string $4 - destination path on remote host
#
# @author stev leibelt
# @since 2013-07-05
function net_bazzline_sync_to_host ()
{
if [[ $# -eq 4 ]]; then
USER="$1"
HOST="$2"
SOURCE="$3"
DESTINATION="$4"
else
echo 'invalid number of variables provided'
echo 'command user host source destination'
fi
rsync -avz -e ssh $SOURCE $USER@$HOST:$DESTINATION
}
Arm-js is an ARM emulator written in Javascript. It emulates ARMv7-A and some peripherals of Versatile Express. It can boot Linux 3.6.1 and run busybox processes.
Get Started
1. Download the source code
1. git clone git://github.com/ozaki-r/arm-js.git
2. cd arm-js/
3. git submodule init
4. git submodule update
2. Execute ruby misc/simple-http-server.rb on terminal
3. Access http://localhost:8080/arm-js.html
4. Push Boot button at the top-left corner to start the emulator