setiap kastemer yang aku tanyai soal openSolaris pasti bilang apa itu ? Linux turunan apa ? setelah panjang lebar ngobrol soal solaris oooo itu OS buat server datacenter. tuingggggg... nahhhhh openSolaris ditujukan untuk desktop dan server dengan aplikasi terbaru agar komunitas dapat mengembangkannya. dan ada kabar yang bagus dari openSolaris ini. yaitu masuk 23 besar di Distrowach.com. Ian Murdock masih harus terus berusaha.
Kamis, 18 Desember 2008
openSolaris versi Distrowatch
setiap kastemer yang aku tanyai soal openSolaris pasti bilang apa itu ? Linux turunan apa ? setelah panjang lebar ngobrol soal solaris oooo itu OS buat server datacenter. tuingggggg... nahhhhh openSolaris ditujukan untuk desktop dan server dengan aplikasi terbaru agar komunitas dapat mengembangkannya. dan ada kabar yang bagus dari openSolaris ini. yaitu masuk 23 besar di Distrowach.com. Ian Murdock masih harus terus berusaha.
Selasa, 16 Desember 2008
Bermain ZFS (raidZ1 aka RAID 5) p parity
Udah pada denger soal ZFS kan.... kalau belum baca wiki. ZFS ini filesystems yang dikembangkan oleh Sun Microsystems yang fiturnya Storage pools, Capacity, Copy-on-write transactional model, Snapshots and clones, Dynamic striping, Variable block sizes, Lightweight filesystem creation, Additional capabilities, Cache management, Adaptive Endianness. keterangannya baca di WIKI :D
yang utama adalah gabungnya fungsi RAID, enkripsi dan kompres. mantab ndak tuh... tapi baca aja keknya kurang greng... kalau nggak nyoba... kalau nggak sempat nyobain ini dia video yang menunjukkan RaidZ-1 nya jalan....
credit to constantin
di Video ini ditunjukkan 12 USB dengan raid 6 dan disimulasikan 1 hardisk rusak masih raidz-1 masih online...
ngoprek openSolaris 2008.11
Kali ini punya kesempatan nulis blog. mau nulis soal ngoprek openSolaris 2008.11.
dapat CD dari Alex, langsung install di Acer Travelmate 6292.
langsung mikir
1. nanti kalau mau baca tulis NTFS ? (maklum masih butuh Visio)
2. mau dengerin music gimana (mp3) ?
3. konek dengan im2 broom ?
4. konek dengan ethernet ?
Nahh setelah menjalankan live CD akhirnya PD dengan mengoverwrite SXDE dengan openSolaris 2008.11
jawaban pertanyaan 1
setelah baca2x ada 2 alternatif yaitu menggunakan ntfs-3g atau atau paket dari Belenix
berikut cara dari ntfs-3g yang didapat dari forum opensolaris.
credit to Sartek
you'll need some developer software like: gcc-dev
so: pkg install gcc-dev sunstudioexpress
then:
hg clone ssh://anon@hg.opensolaris.org/hg/fuse/libfuse
hg clone ssh://anon@hg.opensolaris.org/hg/fuse/fusefs
$ cd libfuse/
$ export PATH=/opt/SunStudioExpress/bin:/usr/bin:/usr/sfw/bin
$ make
$ make install
$ make pkg
$ cd ../fusefs/kernel
$ make
$ make install
$ make pkg
$ pfexec /usr/sbin/pkgadd -d packages SUNWfusefs
$ pfexec /usr/sbin/pkgadd -d ../../libfuse/packages SUNWlibfuse
$ cd fusefs/kernel/
$ wget http://ntfs-3g.org/ntfs-3g-1.2717.tgz
$ gtar xf ntfs-3g-1.2717.tgz
$ export CC=gcc
$ ./configure --prefix=/usr
$ make
$ pfexec make install
how to find you ntfs partision? here's an example:
$ pfexec format
AVAILABLE DISK SELECTIONS:
0. c4d0
/pci@0,0/pci-ide@2,5/ide@0/cmdk@0,0
1. c4d1
/pci@0,0/pci-ide@2,5/ide@0/cmdk@1,0
2. c5d1
/pci@0,0/pci-ide@2,5/ide@1/cmdk@1,0
3. c6t0d0
/pci@0,0/pci1849,7002@3,2/storage@2/disk@0,0
Specify disk (enter its number):
* now enter your first disk numer like 0
then enter fdisk, and you will see something like:
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 IFS: NTFS 0 1274 1275 26
2 Active Solaris2 1275 4995 3721 74
now quit fdisk & format (enter 6 and then quit)
so: disk you selected (c5d0) + p1
now we can mount it:
$ pfexec ntfs-3g /dev/dsk/c4d0p1 /mnt/windows/
kemudian untuk yang dari paket belenix
credit to sempat patnaik
1) Install the FSWpart package
Download http://www.belenix.org/binfiles/FSWpart.tar.gz
Uncompress: gunzip -c FSWpart.tar.gz | tar xvf -
Install: pkgadd -d . FSWpart
2) Install the FSWfsmisc package
Download http://www.belenix.org/binfiles/FSWfsmisc.tar.gz
Uncompress: gunzip -c FSWfsmisc.tar.gz | tar xvf -
Install: pkgadd -d . FSWfsmisc
3) prtpart /dev/rdisk/c0d0p0 -ldevs
This will display all the partitions in this format ==> /dev/dsk/c0d0pN : FAT/NTFS
NOTE : N means 0,1,2,3 etc.
4) Now to mount the particular NTFS partition
Example :
mkdir /mnt/c
mount -F ntfs /dev/dsk/c0d0p1 /mnt/c
if you have more than one partition, than make more directories in '/mnt/'
and put the address (/dev/dsk/..)
dan akhirnya aku pilih yang kedua karena simple :D
Jawaban ke 2
baca forum sini sana akhirnya diarahkan ke fluendo mp3 decoder plugins untuk gstreamer.
download di http://www.fluendo.com/shop/codecs/support/44037/
daftar dulu trus dari products pilih end user products.
nahhh trus baca readme... selesai deh
jawaban 3 belum nemu yang stabil... :(
jawaban 4 langsung support
berikut laporannya dan terima kasih :D
Rabu, 19 November 2008
satu baris bash yang berarti buad admin
ono ono wae wong londo kui, segala perintah di linux banyak banget opsinya, berikut salah satu baris perintah yang menarik
w|awk '{print $1}' |xargs -ibing grep bing /etc/passwd|awk -F":" '{print $5}'
jalaninnya di solaris boleh kan :D
bash-3.00# w|awk '{print $1}' |xargs -ibing grep bing /etc/passwd|awk -F":" '{print $5}'
Super-User
NFS Anonymous Access User
No Access User
SunOS 4.x NFS Anonymous Access User
Super-User
bash-3.00#
kalau di solaris w itu diubah menggunakan who
bash-3.00# who|awk '{print $1}' |xargs -ibing grep bing /etc/passwd|awk -F":" '{print $5}'
User paijo
Super-User
bash-3.00#
mantab jadi bisa langsung tau ini user siapa nama aslinya dan rolenya sebagai apa.
Kamis, 18 September 2008
Preparing GWT-ext with netbeans 6.1
Tutorial ini serupa dengan yang dibuat oleh Dariusz Borowski yaitu membuat halaman login tetapi disini saya menggunakan netbeans 6.1.
Pertama, persiapkan semua peralatan tempur
1. JDK 6 update 5 http://java.sun.com/
2. netbeans 6.1 http://www.netbeans.org/ . i use netbeans DVD that include point 1 and 2
3. gwt4nb https://gwt4nb.dev.java.net/
4. GWT-ext 2.05 or later http://code.google.com/p/gwt-ext/
5. EXTJS 2.02 http://yogurtearl.com/ext-2.0.2.zip
Setelah peralatan terkumpul saatnya berperang
1. install JDK... sangat jelas bagaimananya
2. install netbeans... sangat jelas bagaimananya
3. install gwt4nb
ikuti langkahnya disini https://gwt4nb.dev.java.net/manual/quickstart.html
4. install GWT-ext
ekstrak ke to d:\ . dicontoh ini saya menggunakan ini.
Saatnya membuat project baru
creating new project ->Web -> Web Application
Klik Next, dalam contoh ini saya menaruh projectnya di d:\myprojects kemudian tuliskan "gwtext"
Klik Next,
Klik Next,
Pilih Google Web Toolkit sebagai framework lalu arahkan ke direktori penginstalan GWT. saya memilih nama modul GWT sebagai standar.
lalu akan terlihat projectnya telah siap. Sekarang membuat GWT RPC service. dengan klik kanan di "Source Packages" -> New -> GWT RPC Service....
lalu klik Next,
Hapuslah GWTServiceUsageExample.java dan pilih
Setelah selesai,Sekarang tambahkan librari GWT-ext dengan melakukan klik kanan di projek "gwtext" lalu pilihlah properties. kemudian akan muncul Window seperti gambar dibawah. Lalu pilih Libraries, tambahkan Jar
lalu point to file gwtext.jar
Sekarang saatnya coding...
buka welcomeGWT.html didalam diagram pohon Web Pages.
ganti codenya menjadi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="'gwt:module'" content="'org.yournamehere.Main=" main="">
<link rel="stylesheet" type="text/css" href="js/ext/resources/css/ext-all.css">
<script type="text/javascript" src="js/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/ext/ext-all.js"></script>
<script language="javascript" src="org.yournamehere.Main/org.yournamehere.Main.nocache.js"></script>
<title>Main</title>
<div id="login_widget">
</body>
</html>
Kemudian salin librari extjs. Buatlah direktori js didalam diagram pohon Web Pages lalu salin extjs kedalamnya.
Lihatlah gambar dibawah.
Sekarang pindah ke Main.gwt.xml, Kamu akan menemukan dibawah paketorg.yournamehere
tambahkan teks ini
<inherits name="com.gwtext.GwtExt" />
setelah teks ini
<inherits name="com.google.gwt.user.User"/>
Gantilah berkas GWTservice.java dibawah paket client
package org.yournamehere.client;
import java.util.Map;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
public interface GWTService extends RemoteService {
public static final String SERVICE_URI = "/gwtservice";
public static class Util {
public static GWTServiceAsync getInstance() {
GWTServiceAsync instance = (GWTServiceAsync) GWT.create(GWTService.class);
ServiceDefTarget target = (ServiceDefTarget) instance;
target.setServiceEntryPoint(GWT.getModuleBaseURL() + SERVICE_URI);
return instance;
}
}
public boolean userIsValid( Map loginData );
}
GWTserviceAsync
package org.yournamehere.client;
import java.util.Map;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface GWTServiceAsync {
public void userIsValid( Map loginData, AsyncCallback callback );
}
MainEntryPoint.java
package org.yournamehere.client;
import java.util.HashMap;
import java.util.Map;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.RootPanel;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.form.Form;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.form.TextField;
public class MainEntryPoint implements EntryPoint {
private TextField fName = null;
private TextField passWord = null;
private Button loginButton = null;
private Panel loginPanel = new Panel();
private FormPanel formPanel = new FormPanel();
public void onModuleLoad() {
// call the async login service
final GWTServiceAsync loginService = ( GWTServiceAsync )GWT
.create( GWTService.class );
ServiceDefTarget endpoint = ( ServiceDefTarget )loginService;
String moduleRelativeURL = GWT.getModuleBaseURL()+"gwtservice";
endpoint.setServiceEntryPoint( moduleRelativeURL );
this.setLoginPanel();
final AsyncCallback callback = new AsyncCallback()
{
public void onSuccess( Object result ) {
// take the result coming from the server
boolean ok = Boolean.valueOf( result.toString() ).booleanValue();
if( ok )
{
MessageBox.alert( "Success", "Successfully logged in!");
}
else
{
MessageBox.alert( "Invalid", "Wrong username or password");
}
}
public void onFailure( Throwable caught ) {
MessageBox.alert( "Error", "Error while logging in" );
}
};
loginButton = new Button( "Login" );
loginButton.addListener( new ButtonListenerAdapter() {
public void onClick( Button button, EventObject e ) {
Map loginData = getUserData( formPanel.getForm() );
loginService.userIsValid( loginData, callback );
}
});
formPanel.addButton( loginButton );
loginPanel.setBorder( false );
loginPanel.setPaddings( 5 );
loginPanel.add( formPanel );
RootPanel.get("login_widget").add( loginPanel );
}
// setup login panel
private void setLoginPanel()
{
formPanel.setFrame(true);
formPanel.setTitle( "Simple Login Form" );
formPanel.setWidth(350);
formPanel.setLabelWidth(75);
formPanel.setUrl( "save-form.php" );
fName = new TextField( "Username", "userName", 230 );
fName.setAllowBlank( false );
fName.focus();
formPanel.add( fName );
passWord = new TextField( "Password", "pswd", 230 );
passWord.setInputType( "password" );
formPanel.add( passWord );
}
// prepare data for sending to the server
private Map getUserData( Form form )
{
String formValues = form.getValues();
Map loginData = new HashMap();
String[] nameValuePairs = formValues.split( "&" );
for (int i = 0; i < nameValuePairs.length; i++) {
String[] oneItem = nameValuePairs[i].split( "=" );
loginData.put( oneItem[0], oneItem[1] );
}
return loginData;
}
}
GWTServiceImpl.java
package org.yournamehere.server;
import java.util.Map;
import org.yournamehere.client.GWTService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {
// Here it should be something more useful e.g. sending
// a request to LDAP server
public boolean userIsValid( Map loginData )
{
boolean accepted = false;
String name = loginData.get( "userName" ).toString();
String pswd = loginData.get( "pswd" ).toString();
if( name.equals( "guest" ) && pswd.equals( "guest" ) )
{
accepted = true;
}
return accepted;
}
}
sekarang cobalah clean and build lalu run.....
gunakan username guest dan password guest
kalau berhasil kamu akan mendapatkan tampilan seperti berikut
Problem found on netbeans 6.1
after you install please update plugins especially plugin with category "base".
then when you try to build using default configuration error with "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space"
you can fix temporary by add
this text
<jvmarg value="-Xmx512m" />
after
<arg value="${gwt.module}"/>
inside build-gwt.xml inside nbproject directory
or you can download org-netbeans-modulesgwt4nb modules to replace your current gwt4nb inside .netbeans/6.1/modules/
Langganan:
Postingan (Atom)