Arsip untuk Desember, 2008

Java get Hardisk & Motherboard Serial Number

Kadang kita pengen ngerti serial number dari hardisk atau motherboard, nah kodingnya itu kayak gini nech

Hardisk Serial Number

import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class DiskUtils {
private DiskUtils() {  }

public static String getSerialNumber(String drive) {
String result = "";
try {
  File file = File.createTempFile("realhowto",".vbs");
  file.deleteOnExit();
  FileWriter fw = new java.io.FileWriter(file);

  String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
              +"Set colDrives = objFSO.Drives\n"
              +"Set objDrive = colDrives.item(\"" + drive + "\")\n"
              +"Wscript.Echo objDrive.SerialNumber";  // see note
  fw.write(vbs);
  fw.close();
  Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
  BufferedReader input =
    new BufferedReader
      (new InputStreamReader(p.getInputStream()));
  String line;
  while ((line = input.readLine()) != null) {
     result += line;
  }
  input.close();
}
catch(Exception e){
    e.printStackTrace();
}
return result.trim();
}

public static void main(String[] args){
String sn = DiskUtils.getSerialNumber("C");
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
     null, sn, "Serial Number of C:",
     javax.swing.JOptionPane.DEFAULT_OPTION);
}
}

Motherboard Serial Number

import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MiscUtils {
private MiscUtils() {  }

public static String getMotherboardSN() {
String result = "";
  try {
    File file = File.createTempFile("realhowto",".vbs");
    file.deleteOnExit();
    FileWriter fw = new java.io.FileWriter(file);

    String vbs =
       "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
      + "Set colItems = objWMIService.ExecQuery _ \n"
      + "   (\"Select * from Win32_BaseBoard\") \n"
      + "For Each objItem in colItems \n"
      + "    Wscript.Echo objItem.SerialNumber \n"
      + "    exit for  ' do the first cpu only! \n"
      + "Next \n";

    fw.write(vbs);
    fw.close();
    Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
    BufferedReader input =
      new BufferedReader
        (new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = input.readLine()) != null) {
       result += line;
    }
    input.close();
  }
  catch(Exception e){
      e.printStackTrace();
  }
  return result.trim();
}

public static void main(String[] args){
  String cpuId = MiscUtils.getMotherboardSN();
  javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
       null, cpuId, "Motherboard serial number",
       javax.swing.JOptionPane.DEFAULT_OPTION);
}
}

Komentar (4) »

Ivan Kolev terbukti lebih baik daripada Bendol

Setelah Ivan Kolev dipecat dan digantikan Bendol, ternyata prestasi timnas makin payah aja. Berikut perbandingan keduanya :

Ivan Kolev :

  • Juara Piala Sultan Brunei (Persija) (2000)
  • Runner-up Liga Indonesia 2000 (2000)
  • Runner-up Piala Tiger 2002 (2002)
  • Lolos ke putaran final Piala Asia di Beijing (2004)
  • Merepotkan tim besar Bahrain, Arab, dan Korea (Piala Asia 2007)

Bendol :

  • Grand Royal Challenge (Runner Up)
  • Piala AFF 2008 (Semifinal)

Mudah lah liatnya, liat rekaman video aja udah keliatan permainan waktu dipegang Ivan Kolev dengan Bendol. Saya berharap pemerintah menyadari ini. Bendol wajib diganti. Tidak perlu Ivan Kolev. Tapi pelatih yang baik dan tidak cuma sombong dan makan seperti Bendol.

Tahun 2009 semoga persepakbolaan Indonesia semakin maju. BRAVO!!!

Komentar (6) »

PECAT BENDOL + BP!!!

Indonesia kalah hanyalah karena faktor kesalahan strategi. Kekalahan di kandang sendiri dengan skor 1-0 adalah memalukan!!! Saya tidak habis pikir mengapa Bendol menggantikan M Roby oleh Nova A dan Arif Suyono oleh Irsad Aras???

Harus nya starting itu ya tetap M Roby & Arif Suyono karena mereka mempunyai skill yang lebih bgus. Catatan untuk BP : HOI LU JANGAN JADI STRIKER yang pemalas. Menunggu bola tidak membantu Budi Sudarsono. Kesalahan paling besar adalah pergantian BP. Seharusnya melihat BP lembek kayak banci. Bendol mengganti BP dengan TA Musrafi sejak menit2 awal. atau kalau perlu dari starting.

Oh iya, ada yang aneh juga. Ricardo, Saktiawan Sinaga, M Ridwan, dan Boaz kok ga ikut yak dalam turnamen ini??? Aneh… Bendol wajib dipecat!!!

Komentar bertahan »

JFugue Problems

First Problem

This is my simple source code to export my jfugue music to MIDI

Player player = new Player();

try {

player.saveMidi(“T80 V1 I[Koto] F5s G5s G#5s G5s F5s

C#5s F5s G5s G5s F5s C#5s G#5s F5s F5s F5s G5s”,

new File(“OUTPUT.MID”));

} catch (IOException ex) {

ex.printStackTrace();

}

The midi output open in notation composer, show like this:

Look at the duration, not same with my jfugue string.

Then if I open it in Guitar Pro 5, the tempo become 20. Not 80 again…

Second Problem

This my simple code to export to MusicXML :

MusicXmlRenderer renderer = new MusicXmlRenderer();

renderer.tempoEvent(new Tempo(120));

for (int i=0;i < 32;i++) {

renderer.noteEvent(new Note((byte)64, Note.getDecimalForDuration(“t”)));

}

for (int i=0;i < 32;i++) {

renderer.noteEvent(new Note((byte)65, Note.getDecimalForDuration(“t”)));

}

try {

FileWriter writer = new FileWriter(new File(“OUTPUT.xml”));; BufferedWriter out = new BufferedWriter(writer);

out.write(renderer.getMusicXMLString());

out.close();

} catch (IOException ex) {

ex.printStackTrace();

}

If I open OUTPUT.xml in MuseScore become like this :

Then if I open it in Guitar Pro become like this :

This is I use jfugue-4.0.3, note t become q.

Third Problems

My Third problem is for percussions :

String s = “T80 V9 [42]+[36]s. Rt [42]s Rs [38]+[42]s. Rt [42]s Rs [36]+[42]i [42]s Rs [38]+[42]s. Rt [42]s Rs”;

Player player = new Player();

try {

player.saveMidi(s, new File(“OUT.MID”));

} catch (IOException ex) {

ex.printStackTrace();

}

Output midi open in notation composer :

Komentar bertahan »

Laga Pertama Piala AFF 2008, Indonesia Menang Telak

Indonesia menang telak atas Myanmar, sekaligus menuntaskan balas dendam dari ajang Grand Royal Challenge. Sementara itu Singapura berhasil menundukkan kamboja 5 gol tanpa balas.

Gol Indonesia dicetak oleh Budi Sudarsono pada menit ke – 25, Firman Utina menit ke – 28, dan Bambang Pamungkas pada menit ke – 65. Hal ini sekaligus memecahkan rekor 33 gol dan 64 penampilan Kurniawan oleh Bambang Pamungkas. Sebelumnya terdapat beberapa peluang seperti tendangan yang membentur mistar oleh Ismed Sofyan (menit ke-8), Gol Arif Suyono Dianulir karena offside (menit ke-16), dan sundulan Erol Iba yang masih sempat diblok oleh kiper Myanmar (Injury Time).

Maju terus Indonesia, dengan Kamboja Indonesia harus lebih telak dari 5-0 agar dapat mengungguli point Singapura…

Komentar bertahan »

Dukung TIMNAS Indonesia di Piala AFF 2008

Dukungan penuh masyarakat sangat dibutuhkan, pemain Timnas juga harus semangat penuh. Jiwa nasionalisme harus dibumbungkan untuk prestasi internasional. Inilah mimpi saya untuk team terbaik TIMNAS PIALA AFF 2008 :

FORMASI 4-3-3

GK : MARKUS HORISON

DF : ISMED SOFYAN(L), CHARIS YULIANTO(C), MUHAMMAD RIDWAN(R),  ISNAN ALI(C)

MD : FIRMAN UTINA(R), PONARYO ASTAMAN(C), ELIE AIBOY(L)

ST : BAMBANG PAMUNGKAS (C), BUDI SUDARSON(L), BOAS T. E SALOSSA(R)

R = RIGHT (SAYAP KANAN), L = LEFT (SAYAP KIRI)

Komentar bertahan »

Apakah benar Java Game kalah dengan C atau .net Game?

setelah mengikuti ITB Game Contest 2008 kemaren, banyak hal yang aku dapatkan. Termasuk pujian sekaligus cercaan. Pujian yang didapat adalah game ku yang aku bangun menggunakan GTGE engine (pure Java) dikira pake Flash buatnya. Orang – orang yang coba pada kaget. Setahu mereka game java itu lemot.. Tapi ternyata gameku enteng sekale…

Pujian datang lagi karena gameku punya grafis yang kalo ditingkat game java udah keren dan unik. Banyak mahasiswi yang suka dengan game ku berjudul “MARBEL”.

Tapi cercaan datang dari beberapa developer yang memakai C dan .net sebagai bahasa programmingnya. Mereka berpendapat, bagaimanapun juga java tetep kalah ma C dan .net. Karena lemot dsb.

Nah dari klise di atas saya mau mengangkat tema, apakah java benar2 lemot untuk game???? jawaban saya adalah TIDAK!!!! Semua itu tergantung bagaimana kita melakukan coding. Manajemen resource semua tergantung oleh programmer. C pun kalo lupa melakukan Free pada memori sama saja, akan memakan resource yang besar. Berbeda dengan java yang ada garbage collector yang akan menghapus memori yang sudah tidak digunakan lagi.

Sebagai perbandingan kita adalah pada game saya MARBEL yang saya buat menggunakan GTGE Engine (berbasis 2D) dan ada lagi game java 3D berjudul tribal trouble yang dibuat menggunaka JOGL. Kedua game ini sama sekali ga ada lemot2nya. Saya bisa buktikan itu… Silakan bandingkan dengan game C atau .net atau yang lain. Kenapa ga lemot? Karena kami memprogram java secara benar, hati – hati, dan terukur. Jadi memori yang kepake juga tidak besar. Efeknya, performance game tetap powerfull.

Sebagai informasi ini adalah Java Game Engine yang benar2 powerfull dan sudah siap bersaing dengan game – game engine lainnya yang bukan berbasis Java :

1. GTGE (Golden T Game Engine) http://www.goldenstudio.or.id

2. JMonkeyEngine http://www.jmonkeyengine.com

3. JOGL dan LWJGL (java berbasis OpenGL)

Silahkan Buktikan dulu buat game dengan engine – engine di atas barulah anda berkomentar. Semoga ini dapat membantu, dan agar sesama programmer walau berbeda bahasa agar tidak saling mengejek. Saya hanya mengankat tema agar para programmer sadar, kita saling melengkapi. Bukan untuk saling mencari kelemahan. Ada banyak jalan ke Roma.. Ditunggu komentar temen2 smua.. Thanks!

Komentar (5) »