Sedang memikirkan sebuah slogan yang cocok untuk sebuah gerakan. Entah kenapa yang terpikir adalah kata-kata berbahasa inggris.
- Yes, we can !
- Go
- Move Forward
- A little step in the long road
Mungkin efek globalisasi benar sudah melindas negara kita. Otak-otak kreatif kaum muda kita sepertinya selalu mengangkat versi timur dari ide-ide barat :) Ketika di minta berpikir kreatif orizinal indonesia, hasilnya seperti ini :)
Tetapi akhirnya kata itu ditemukan, "Selangkah Maju".
Selangkah Maju demi indonesia,
Selangkah Maju di bidang yang kita kuasai.
Berhenti berpikir besar, bermimpi-mimpi indah.
Potensi, potensi, potensi itu saja yang selalu kita banggakan.
Kita memang punya begitu banyak potensi,
Tapi tidak pernah mampu mewujudkannya :)
Oleh karena itu, berhentilah.
Tengadahkan wajah ke atas, pejamkan mata perlahan-lahan.
Bayangkan hal yang paling kamu sukai.
Ketika apa yang ada di benak sudah dirasakan oleh seluruh tubuh.
Ambil selangkah maju, langkah-langkah kecil, di dorong rasa ingin tahu dan kebebasan.
Bukan impian kosong atau slogan semata.
Karena selangkah maju itu adalah jalan kita, untuk mengubah negara ini.
Thursday, June 24, 2010
Wednesday, June 23, 2010
Encounter
I'm looking for that special encounter,
where its only a moment but feels like eternity.
Where no words exchanged,
only eyes were met.
To not ask, To not say.
To be in a moment in time, where time seems to meet its end.
No more journey after this, No more waiting for the One.
This is the place where exactly I want to be !
where its only a moment but feels like eternity.
Where no words exchanged,
only eyes were met.
To not ask, To not say.
To be in a moment in time, where time seems to meet its end.
No more journey after this, No more waiting for the One.
This is the place where exactly I want to be !
Monday, June 14, 2010
Phailed !
Ah gagal nih mau bikin app ke dua. Udah hampir satu bulan progressnya gak bagus, gak sampe2 ke versi 0.1. Terus juga tanya sana-sini sepertinya animo-nya tidak terlalu bagus. Harus cari ide lain.
Huh.. usaha 1 bulan terbuang, tapi harus tahu kapan untuk cut losses dan mulai yang baru.
Huh.. usaha 1 bulan terbuang, tapi harus tahu kapan untuk cut losses dan mulai yang baru.
Tuesday, June 1, 2010
Friday, May 28, 2010
Tapestry 5 grid paging with hibernate
This is something that i expected to exist in tapestry. Since i "know" T5 from the first release, back then this class isn't available yet. So back then i created my own paging method with 2 additional action link above Tapestry Grid.
But now its so easy. If you want to create paging for your grid, you just have to return the HibernateDataSource with the session and your class for your grid source parameter. Like this :
return new HibernateGridDataSource(session, OrderForm.class);
Its something very simple. But when you're in the middle of something, sometimes its too easy to overcomplicate stuff (Not thinking straight, i previously implements my own GridDataSource for my hibernate class). Everything work out of the box (paging, sorting,etc)
Also the grid has a reset() method for reseting the Sort Ordering.
update :
i found the easiest way to add default column sort for now is by implementing this method.
@Component(id="orderGrid")
private Grid grid;
@SetupRender
void setDefaultSortOrder() {
if(grid.getSortModel().getSortConstraints().isEmpty()) {
// call it twice to make it desc ordered
grid.getSortModel().updateSort("orderDate");
grid.getSortModel().updateSort("orderDate");
}
}
don't forget to reset the sort order to see the result.
update :
i found the easiest way to add default column sort for now is by implementing this method.
@Component(id="orderGrid")
private Grid grid;
@SetupRender
void setDefaultSortOrder() {
if(grid.getSortModel().getSortConstraints().isEmpty()) {
// call it twice to make it desc ordered
grid.getSortModel().updateSort("orderDate");
grid.getSortModel().updateSort("orderDate");
}
}
don't forget to reset the sort order to see the result.
Wednesday, May 26, 2010
I learn something new today :)
Thanks to geoff jumpstart, I finally learn how to protect tapestry page in a more 'classier' way. I've been meaning to learn this, but only able to do it now. The guide is here. The concept is very similar with me, only the the implementation differs. While i'm using basic method of extending base page by their role. Jumpstart uses annotation, way cool :D
So now i'm trying to implement it using annotation. Its very straight forward actually, since the concept is very familiar. Even the autologin concept is very familiar. But of course he's doing it far better and classier than me and i think i will change it too :)
Jumpstart uses system properties to set the autologin properties, while I implement in the code. Since the system properties wouldn't be available when i deploy my apps to the server. I don't have to worry about forgetting to reset the autologin properties when i want to deploy my apps to the server.
To set the system properties in eclipse wtp, you just
~FD
So now i'm trying to implement it using annotation. Its very straight forward actually, since the concept is very familiar. Even the autologin concept is very familiar. But of course he's doing it far better and classier than me and i think i will change it too :)
Jumpstart uses system properties to set the autologin properties, while I implement in the code. Since the system properties wouldn't be available when i deploy my apps to the server. I don't have to worry about forgetting to reset the autologin properties when i want to deploy my apps to the server.
To set the system properties in eclipse wtp, you just
- go to the server window > right click > open
- in the bottom of general information > click open launch configuration
- select the arguments tab, and in the vm argument box add
- -Dmyapp.autologin="true"
- restart your server
~FD
Monday, May 24, 2010
First experience with SQLLite
Well it more like the first problem i have with SQLLite in android. If you follow the notepad tutorial for android, you're going to think that this is like any regular database mapping in java. Especially for those of you that used to working with ORM such as hibernate.
When you want to add a second table naturally you'll create another class to handle that table. Well it turn out in SQLLite (in the SQLiteOpenHelper Constructor) if the database is already open, then it wont call the next onCreate() method. So your second table wouldn't be created.
this link explain it more throughly. To solve it you need to put the table creation in one place. The better approach is to open the db in a single class and pass around the handler to other class that actually handle the database functionality. That way you wont be stuck with one single file to handle the database (we're trying to stick with OOP principles here) :).
Another good link about DB/SQLLite handling in android is this link. This will tell you how to ship your android application with prebake database file.
~FD
When you want to add a second table naturally you'll create another class to handle that table. Well it turn out in SQLLite (in the SQLiteOpenHelper Constructor) if the database is already open, then it wont call the next onCreate() method. So your second table wouldn't be created.
this link explain it more throughly. To solve it you need to put the table creation in one place. The better approach is to open the db in a single class and pass around the handler to other class that actually handle the database functionality. That way you wont be stuck with one single file to handle the database (we're trying to stick with OOP principles here) :).
Another good link about DB/SQLLite handling in android is this link. This will tell you how to ship your android application with prebake database file.
~FD
Subscribe to:
Posts (Atom)