Upgrade semua python packages

Pip merupakan tool untuk menginstall dan mengelola pustaka python dengan mudah. Namun Pip tidak memiliki metode untuk melakukan upgrade semua pustaka python dengan mudah. Namun akhirnya nemu link di stackoverflow.com tentang cara mengupgrade pustaka python dengan menggunakan python script.

import pip
for dist in pip.get_installed_distributions():
    if 'site-packages' in dist.location:
        try:
            pip.call_subprocess(['pip', 'install', '-U', dist.key])
        except Exception, ex:
            print ex

Ganti ‘site-packages’ jika pustaka python tidak terinstall di direktori ‘site-packages’. Seperti pada debian dan turunannya yang meletakkan pustaka python di direktori ‘dist-packages’.

Kredit untuk hacker-hacker di stackoverflow yang sudah berbagi pengetahuan.

Peran CIO Pemerintah meningkatkan produktifitas digital native worker pemerintahan

Ilustrasi digital natives (gambar di ambil di sini)

Kamus online oxford mendefinisikan digital natives atau pribumi digital sebagai orang yang lahir atau tumbuh dewasa bersamaan dengan berkembangnya teknologi digital dan sangat akrab dengan komputer dan internet sejak usia balita. Sedangkan digital immigrant didefinisikan sebagai orang yang lahir sebelum atau dewasa sebelum berkembangnya teknologi digital.

Terminologi tersebut pertama kali dicetuskan oleh Marc Prensky, seorang visioner, inventor, penulis, pembicara, desainer game pendidikan dan pembelajaran, pada tahun 2001. Pribumi digital tumbuh dan berkembang dengan dikelilingi berbagai perangkat digital mulai dari komputer, internet, email, video games, pemutar musik digital, kamera video, telepon selular.

Sekarang nampak jelas dengan berbagai perangkat digital yang tersedia disekitarnya menjadikan pribumi digital berpikir dan mengolah informasi yang secara fundamental berbeda dengan generasi-generasi sebelumnya. Pekerja generasi pribumi digital memiliki kemampuan menerima informasi yang sangat cepat dibandingkan generasi imigran digital. Kemampuannya untuk memproses informasi secara paralel dan multitask. Mereka lebih menyukai grafik daripada teks. Sebaliknya Imigran digital secara umum cenderung untuk memproses informasi step-by-step dan kemampuan menerima, memproses informasi digital secara lebih lambat.

Sebuah penelitian yang dipublikasikan tahun 2012 oleh Time Inc, sebuah divisi dari Time Warner, menyebutkan bahwa pribumi digital adalah kelompok yang tidak pernah istirahat, berpindah-pindah dari platform media (TV, majalah, tablet, smartphone atau saluran media pada platform tersebut) sebanyak 27 kali per jam. Yang berarti bahwa mereka berpindah-pindah mengakses berbagai platform media setiap 2 menit sekali. Sedangkan imigran digital sebanyak 17 kali/jam yang berarti setiap 3 menit sekali. Pribumi digital memiliki keterlibatan emosional dan respon emosional yang rendah terhadap konten yang mereka konsumsi. Pada kenyataannya mereka menggunakan media untuk mengatur suasana hati mereka, mood serta mengalihkan perhatian pada platform media yang lain setelah lelah dan bosan.

Baca lebih lanjut

Screenshooter Released

Apa itu screenshooter ?

Screenshooter adalah aplikasi kecil yang digunakan untuk mengambil gambar dekstop komputer dan mengirimkannya sebagai email attachment. Aplikasi ini memiliki beberapa fitur yaitu:

  1. Mengambil gambar desktop keseluruhan atau pada area tertentu
  2. Mengirimkan gambar desktop ke email secara berkala
  3. Setting email subjet dan body email

Aplikasi ini cocok digunakan jika anda mensupervisi beberapa pekerjaan yang dikerjakan oleh tim yang bekerja di lokasi yang berbeda. Dengan menginstall aplikasi ini di setiap anggota tim bisa melaporkan aktifitas harian mereka (daily reports), sehingga dengan mengamati aktivitas dekstop secara berkala mereka anda akan dapat melihat produktifitas pekerjaan yang mereka lakukan.

Baca lebih lanjut

Koneksi MongoDB di Node.js menggunakan Mongoose ORM

Berikut ini adalah contoh koneksi mongodb di Node.js dengan menggunakan mongoose ORM

Informasi lebih detail tentang nodejs bisa di lihat di http://nodejs.org,, mongodb bisa di chek di http://mongodb.org sedangkan mongoose ORM bisa di lihat di sini

/**
* how to connect mongodb in node.js using mongoose ORM
* MongoDB Resources : http://mongodb.org
* Mongoose Resources : http://mongoosejs.com
**/

// initialize mongoose
var mongoose = require('mongoose');

// connection mongoose to mongodb
// this just like odbc or jdbc
// in this case mongodb server at localhost
// you can change easy by replace localhost with your mongodb server
mongoose.connect('mongodb://localhost/hellomongo');

// get mongodb schema
var Schema = mongoose.Schema, ObjectId = Schema.ObjectId;

//create new Collection Schema
// if you new to mongodb, think Collection as database table
var UserCollection = new Schema({
  username : String,
  password : String,
  last_access : Date
});

// mapping schema with model
var UserModel = mongoose.model('User', UserCollection);

// insert a new user
var heru = new UserModel();
heru.username = 'heru';
heru.password = 'heru password';
heru.last_access = new Date();

// save instance
heru.save(function(err){
  if(!err){
    console.log('user saved');
  }else{
    console.log('error while save user, err : ' + err);
  }
});

source code bisa di lihat https://gist.github.com/1158486

Install JqGrid demo di komputer lokal

JqGrid adalah salah satu plugin jquery yang populer. Dalam setiap release terbaru selalu disertakan versi demo yang bisa diinstal di komputer lokal. Sebenarnya di dalam file demo sudah disertakan petunjuk cara instalasi (file: readme.txt) yang sudah cukup jelas. Bagi anda yang tetap merasa kesulitan instalasinya, berikut ini adalah langkah-langkah instalasi:

  1. Unduh file demo jqgrid (untuk contoh disini saya menggunakan demo jqgrid versi 3.6 yang bisa didownload di situsnya. Ada sedikit kesalahan script di file jqgrid.html yang menyebabkan grid tidak bisa ditampilkan. Perbaikannya lihat langkah no 7.
  2. Extrak file demo tersebut di www-root webserver yang support php, akan ada folder jqgrid_demo36. Jika tidak sreg dengan nama foldernya, silahkan dirubah nama foldernya sesuai dengan keinginan anda. Supaya tidak terlalu panjang saya ubah menjadi jqgrid saja. Baca lebih lanjut

Sharing Koneksi Internet Dengan Proxy Server

Posting kali ini saya ingin berbagi pengalaman sharing koneksi internet dengan menggunakan proxy server. Semoga posting ini bisa memberikan ide baru bagi anda semuanya.

Langsung saja, saya memiliki 2 buah komputer, sebuah laptop dengan sistem operasi Linux distro ubuntu jaunty (9.04) dan satunya desktop dengan sistem operasi windows xp. Dengan menggunakan Prolink 5-port Mini Ethernet switch, keduanya bisa nyambung dengan konfigurasi IP 192.168.0.xxx. Laptop tersebut biasanya saya gunakan untuk konek ke internet (saya berlangganan paket broom unlimited dari IM2) dan mengembangkan perangkat lunak diplatform linux/multiplatform. Sedangkan desktop hanya digunakan untuk nonton video atau untuk mengembangkan perangkat lunak yang khusus berjalan di lingkungan windows (itupun jarang sekali ada order). Supaya tidak menganggur, saya membeli tv tuner dan dalam sekejap monitornya beralih fungsi menjadi televisi. Baca lebih lanjut

C#: Bikin Aplikasi Notifyicon tanpa Form

Ada cara yang bisa digunakan untuk menampilkan notifyicon di taskbar windows tanpa menggunakan Form, langkah-langkahnya sebagai berikut:

  1. Buat Project Windows Form Application Baru
  2. Setelah project telah selesai, buka file Program.cs yang berisi baris kode sbb:
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;

    namespace WindowsApplication1
    {
        static class Program
        {
            ///
            /// The main entry point for the application.
            ///
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }

  3. Ganti baris Application.Run(new Form1()); dengan Application.Run();.
    Form1.cs sudah tidak digunakan lagi sehingga bisa di hapus dari project.
  4. Sekarang tinggal membuat instance dari class NotifyIcon. Instance dari class NotifyIcon harus diletakan sebelum baris code Application.Run() supaya NotifyIcon yang dibuat bisa ditampilkan di taskbar windows.Tambahkan potongan kode berikut disebelum baris Application.Run()
    NotifyIcon remainder = new NotifyIcon();
    remainder.Visible = true;
  5. Sekarang coba compile dan jalankan aplikasi, ah… kok tidak ada Notifyicon baru yang muncul di taskbar windows ? Tidak ada yang salah dengan kode yang baru kita lihat. Hal ini terjadi dikarenakan kita belum memberikan Icon pada NotifyIcon.
  6. Sekarang kita siapkan icon untuk notify icon kita, supaya lebih mudahnya kita akan menaruh icon di Resources class. Expand folder Properties yang ada dibawah project name pada jendela Solution Explorer, buka file Resources.resx (detilnya tidak dijelaskan disini). Saya asumsikan klo icon yang kita tambahkan ini bernama “icon”.
  7. Setelah icon kita tambahkan ke Resources class, langkah selanjutnya adalah mengeset variable remainder dengan icon tersebut. tambahkan code
    remainder.Icon = Properties.Resources.Icon;
    sebelum baris remainder.Visible = true;
  8. Sekarang compile dan jalankan program tersebut, maka di taskbar windows akan muncul Notify yang baru kita bikin. Selamat, anda berhasil membuat aplikasi NotifyIcon tanpa menggunakan Form.

Baca lebih lanjut