Skip navigation

Category Archives: Bash


Just share a bit. When we want to commit source code, it’s better to check locally before pushing the source code to repository which then check them at the build server.

Here’s a source code for the wrapper script. The needed binaries are PHPCS, ESLint, and Stylelint.

To execute in the pre-commit, you can just use this.

SOURCE_FILES=${SOURCE_FILES:-`git diff-index --name-only --diff-filter=ACMR HEAD`}
export SOURCE_FILES
./checkstyle.sh

exit $?
Iklan

So I some times need to run a monthly cron job. And I want to set a parameter for duration spanned from first day and last day in the current month.

This is how I do it.

if [ -z “$STARTTIME” ] || [-z “$ENDTIME”]; then
STARTTIME=`date -d “-$(($(date +%d)-1)) days” +%Y-%m-%dT00:00:00Z`;
ENDTIME=`date -d “+1 month -$(date +%d) days” +%Y-%m-%dT23:59:59Z`;
fi

echo $STARTTIME
echo $ENDTIME


Since I used to work using Java before went to PHP on daily basis, I really like using Apache Ant. Actually there is a similar technology called Phing that is fully integrated with PHP, i.e. you can use a PHP code in the script. Which is good, by the way.

So recently I need to create a gzipped version to each files in a directory for the static assets. Below is the Apache Ant snippet to do that. Enjoy.

<target name="compress-assets">
    <apply executable="gzip">
        <fileset dir="${assets.dir}">
            <include name="**/*.js"/>
            <include name="**/*.css"/>
        </fileset>
        <arg value="-c" />
        <srcfile />
        <redirector>
            <outputmapper id="out" type="glob" from="*" to="${assets.dir}/*.gz"/>
        </redirector>
    </apply>
</target>

The script above basically applies Gzip executable to each JS and CSS file in the directory to their js.gz and css.gz counterpart.


Kemaren, seperti beberapa tahun sebelumnya, saya kembali mengisi sesi pengantar Linux untuk Pelatihan Nasional bagi Tim Olimpiade Komputer Indonesia yang akan mengikuti International Olympiads of Informatics tahun 2012 di Milan.

Pengantar Linux ini memiliki tujuan agar siswa bisa terbiasa untuk memrograman dalam lingkungan sistem operasi Linux. Ini tidak lain karena di IOI nanti lingkungan pemrograman yang disediakan adalah Linux. Dalam pengantar ini, selain memperkenalkan tentang Linux serta program-program apa saja yang ada di sana (Nautilus, GCC, GEdit, Geany, dsb), saya juga memperkenalkan bagaimana menggunakan terminal untuk membantu dalam pemrograman.

Materinya dapat dilihat di bawah. Semoga bermanfaat.

NB: Materi ini merupakan versi terbaru dari yang sudah saya tulis tahun lalu. Ada beberapa tambahan seperti time dan batch processing.

%d blogger menyukai ini: