Thursday, December 29, 2011

Not Want Macbook

No no no. I don`t think i`ll want Macbook Pro anytime soon.
A little bit uncomfortable to me.
The only best thing and i`ll sure miss is the keyboard. Other than that is a lot of small frustration.
Can`t concentrate. No concentrate no job done. No job done no moolah.
Haiy!!!

Sunday, December 11, 2011

Gelanggang E-Book: Penulis VS Penerbit

Penerbit buku sedang berdepan dengan cabaran besar abad ini: dunia digital. Dunia digital sentiasa menghantui mereka yang berada dalam industri media bermula dari industri muzik, video dan kini buku. Digital telah menggegarkan dan mengubah dunia media sehingga menjadi apa yang kita lihat kini.

Adakah digital memberi ancaman kepada penerbit buku?

Untuk memahami dengan lebih lanjut kita harus memahami dahulu apakah bisnes sebuah syarikat penerbitan buku.

Syarikat penerbitan buku adalah satu badan yang menerbitkan bahan bacaan dalam bentuk buku. Model bisnesnya berkisar kepada mencari bakat dalam penulisan, mendapatkan hak mengedar penulisan tersebut, dan menjual buku yang telah dicetak berdasarkan penulisan tadi kepada pihak pengedar ataupun terus kepada pekedai dan pembaca.

Daripada model bisnes di atas kita dapat lihat banyak pihak yang terlibat sebelum buku tadi tiba di tangan pembaca. Berikut adalah plihak yang terlibat:
  1. Penulis
  2. Penerbit
  3. Editor
  4. Artis grafik
  5. Pencetak
  6. Pengedar
  7. Pekedai
  8. Pembeli/pembaca

Orang-orang bukan industri biasanya beranggapan pihak yang terlibat adalah seperti berikut:
  1. Penulis
  2. Orang tengah
  3. Orang tengah yang tidak ada taste
  4. Pelukis yang tidak faham roh cerita
  5. Kroni penerbit
  6. India muslim
  7. Mamak
  8. Pembaca yang bijaksana.
Ini perspektif realiti yang banyak dibaca di blog yang kurang popular. Kita boleh lihat bahawa terdapat kebencian yang terpendam oleh peminat fanatik penulis ini. Terbaru adalah kontroversi novel menjadi wayang ombak rindu seperti yang dinyatakan oleh pihak penerbitnya sendiri (yang mana ia boleh dipertikaikan jika dilihat dari perspektif lain pula).

Namun hakikatnya setiap penerbit memerlukan 2 tenaga yang penting tetapi kerap bekerja diam-diam disebalik sebuah kejayaan satu karya. Mereka adalah jabatan pemasaran dan juga jabatan jualan.

Mereka inilah the unsung hero yang membawa dan mengangkat satu satu buku itu menjadi sebuah bestseller. Tanpa mereka, buku bestseller tidak akan dijumpai peminat yang besar dan akibatnya tiada title bestseller pada buku tersebut. Faktor editorial dan kaver buku memikat pembaca yang baru mengenali, pemasaran pula meletakkan tajuk buku tersebut sebelum pembaca kekedai buku lagi.

Kita semak semula pihak yang terlibat dalam kejayaan sebuah buku tadi:
  1. Penulis menulis karya
  2. Penerbit mengesan karya tersebut dan dijangkakan bestseller mengikut trend semasa. Penerbit membuat pernjanjian untuk menerbitkan karya tadi.
  3. Editor menyemak cerita dan tatabahasa agar selaras dengan panduan daripada kerajaan dan kualiti yang ditetapkan syarikat.
  4. Artis grafik mengindahkan karya tersebut dengan bentuk dan rupada serta warna yang mengancam jiwa kalbu
  5. Pencetak mencetak buku tersebut mengikut spesifikasi penerbit.
  6. Pemasaran mewar-warkan buku tersebut pada media
  7. Media melaporkan dan membuat coverage buku tersebut. Buzz.
  8. Penjual meyakinkan kedai buku untuk menjual buku tadi.
  9. Kedai menerima stok dan memaparkan buku tadi untuk jualan.
  10. Pembeli terlihat buku tersebut dan terpikat untuk membelinya.
  11. Pekedai memulangkan semula buku yang tidak laku kepada penerbit.

Daripada proses tersebut kita dapat lihat akan timbul pelbagai isu yang boleh menghalang buku tersebut daripada tidak terjual dengan laku keras. Juga faktor yang meningkatkan harga buku sehingga mencecah pulihan ringgit.

Peminat penulis tadi berasa bahawa dunia digital mampu memberi lebih kepuasan kerana ia akan menghilangkan ramai orang tengah yang menghalang mereka daripada menikmati karya penulis kesayangan mereka. Namun harus diakui masih terdapat beberapa pihak yang menjadi orang tengah dalam proses penghasilan dan penjualan buku digital. Proses penjualan buku digital secara kasar adalah seperti di bawah

  1. Penulis menulis karya
  2. Penerbit mengesan karya bestseller. But perjanjian penerbitan buku digital
  3. Editorial
  4. Artis grafik
  5. Memasukkan buku ke dalam pekedai online
  6. Pemasaran mewar-warkan buku
  7. Pembeli membeli buku
Ya, kos cetakan diikuti kos logistik dan kos gudang sudah tiada! Maka seharusnya harga menjadi lebih murah. Namun ia tidak berlaku. Terdapat 2 faktor berkait:
  1. Kos cetakan per buku adalah rendah
  2. Kos memasukkan buku ke kedai online adalah tinggi.
Kos cetakan buku sebenarnya adalah rendah untuk satu-satu buku. Ia biasanya hanya mencakupi 20% daripada harga buku. Namun harga tersebut meningkat jika ditambah kos pergudangan, kos logistik, kos pemasaran dan kos pemulangan semula buku. Kosnya boleh meningkat sehingga 40% untuk satu buku jika tidak kena gaya.

Ini bermaksud untuk buku digital segala kos 40% tadi boleh dijimatkan dan disalurkan penjimatan tersebut kepada pembeli dengan mrendahkan harga jualan. Namun apa yang terjadi adalah rata-rata pekedai online mengenakan cas 50% daripada harga jualan yang tertera pada kulit buku! Ini lebih tinggi daripada kos keseluruhan jualan bercetak!

Ada juga kedai buku online yang mengenakan sehingga 70% kos kemasukan rak online.

Maka sebenarnya penerbit menghadapi kemungkinan rugi jangkamasa pendek untuk jualan kedai online. Untuk jangkamasa panjang ada kemungkinan untuk jualan melepasi had breakeven.

Oleh yang demikian semakin banyak kita dengar strategi penulis untuk menulis dan menerbitkan secara sendiri buku-buku mereka terus ke dalam kedai online. Pedulikan penerbit yang hanya mahu untung sahaja!

Ini strategi yang boleh dilakukan oleh penulis sekarang kerana banyak pekedai online ini menyediakan ruang untuk penulis menerbitkan sendiri karya terus dengan mereka.

Namun penulis harus mengambil perhatian bahawa kini pekedai tadi hanyalah pekedai yang menjual buku anda, bukannya penerbit anda. Penulis perlu peka dengan kontrak yang ditandatangani. Penulis kini perlu juga menjadi editor yang memastikan kualiti karya mereka agar selaras dengan panduan pihak berkuasa. Penulis juga kini memakai topi artis grafik kerana perlu menghasilkan kaver yang bermutu dan menjual untuk muka depan karya mereka. Penulis juga perlu memakai topi pemasaran dalam memasarkan karya mereka kepada saluran pemasaran yang bersesuaian.

Memang seronok memakai topi-topi di atas, tetapi ia memenatkan untuk jangkamasa panjang.

Malah jika semua penulis menerbitkan sendiri karya mereka maka akan berlaku lambakan buku di pasaran dengan kualiti yang tidak dijamin oleh sesiapa.
When supply increase and demand stay the same then the price will drop. Hard.
Sudahlah memakai pelbagai topi, kini harga jualan perlu diturunkan lagi demi mengikuti permintaan yang semakin menurun.

Oleh yang demikian, peranan penerbit sebagai brand yang dipercayai untuk menhidangkan karya-karya yang memenuhi citarasa peminat akan lebih berguna kepada penulis khususnys penulis baru.

Peranan penerbit era buku digital kelak adalah mengesan dan mengetengahkan karya-karya penulis yang selari dengan brand dan permintaan peminat brand penerbitan tersebut. Penerbit sudah boleh benar-benar memfokuskan pasaran long tail berbanding pasaran mainstream yang dipegang sekarang.

Penerbit boleh menjadikan kedai buku digital sebagai batu loncatan untuk mengesan karya yang bakal bestseller berdasarkan permintaan peminat dan seterusnya mencetak karya penulis tadi agar dapat disebarluaskan kepada masyarakat umum.

Penulis hanya perlu tulis dan hasilkan karya yang dingini, kerana dalam teori long tail setiap karya ada peminatnya/pembelinya yang tersendiri. Dalam jangkamasa panjang, karya tadi akan menghasilkan pulangannya sendiri tidak kira dari segi wang ringgit mahupun kepuasan sebagai seorang penulis yang semestinya mahu karya mereka menemui pembaca yang menerima.

Rumusan:
  • Penerbit masih relevan dalam dunia buku digital.
  • Kos rak online sama/lebih mahal daripada kos cetak.
  • Pekedai online suka penulis terbit sendiri buku.
  • Penulis baru sukar bersaing.
  • Penerbit sebagai brand karya berfungsi membantu penulis ditemui peminat.
  • Penerbit membantu banyak hal bukan penulisan dalam memastikan kejayaan karya.

Thursday, December 8, 2011

Komitmen Kepada Pengguna

Selalu kita di bom dengan kata 'Customer Service'. Setiap pengguna mahu servis yang terbaik, tidak kira berapa harga yang di bayar. Kecuali pada pengguna servis percuma, mereka rasa mereka tiada kuasa untuk komplen. Falasi kita menganggap hanya syarikat besar-besar dan syarikat yang berkait terus dengan pembeli yang perlu ada customer service ini.

Indahnya hari ini bila diserikan dengan satu pendekatan yang segar oleh tim Stripe. Stripe adalah startup yang sama bidang dengan Paypal. Mereka menyediakan perkhidmatan pembayaran online dan berfungsi sama seperti Paypal. Yang membezakan mereka adalah komitmen mereka kepada 'customer service'.

Kebanyakan customer service syarikat bertindak bagai 'ubat' setelah sakit. Maksudnya bila ada pembeli yang mengalami masalah barulah mereka berhubung dengan pihak penjual/syarikat. Pada yang lebih canggih, mereka mungkin ada facebook, twitter dan media sosial yang lain. Lain pula dengan Sprite, mereka ada chatroom terbuka!

Dan chatroom itu pula dihuni oleh mereka yang benar-benar tahu tentang servis dan produk mereka. Mereka tiada petugas khas 'customer service'. Tetapi kesemua mereka adalah customer servis! Daripada CEO, Marketing sehingga kepada Developer sistem tersebut ada di chatroom sokongan tadi. Malahan chatroom tersebut begitu meriah dengan interaksi tentang pelbagai perkara. Daripada soalan-soalan strategik (bila Stripe akan dibuka untuk pengguna Malaysia? <-- saya yang tanya.. :) ) sehingga kepada soalan teknikal (Bagaimana mahu memasang SSL dalam server saya <-- bukan saya yang tanya... :D ) semuanya dijawab dengan jelas oleh tim Stripe.

Tahniah Stripe!

Jika Semut Pro dilancarkan kelak akan saya ikut jejak langkah customer service seperti begini!

Dan tolonglah buka Stripe kepada pengguna Malaysia secepat mungkin!

Komitmen kepada 'Jelas'

Jelas adalah tahap yang sempurna. Jika perenggan itu jelas mesejnya maka perenggan tersebut sempurna. Jika cara menggunakan fungsi dalam kod anda itu jelas maka fungsi tersebut sempurna. Jika cara menggunakan software anda itu jelas maka software anda itu sempurna.

Jelas itu cukup ringkas. Jelas itu minimalis. Jelas itu tepat. Jelas itu cukup sifat.

Kejarlah kejelasan dalam setiap perkara dan ia akan membawa kepada kesempurnaan.

Saturday, December 3, 2011

Concrete5 Akan Menjadi Kuasa Besar CMS

Ya, CMS (Content Management System) ibarat satu teritori yang sedang direbut (dan akan sentiasa direbut) oleh banyak kuasa besar. Sekarang nampaknya ia didominasi oleh 3 kuasa besar utama iaitu Wordpress (US), diikuti oleh 2 kuasa besar yang lain (Joomla, Drupal).

Namun satu perkara yang menarik dalam laporan tersebut adalah kemunculan satu CMS baru yang semakin meningkat naik dengan pantas: Concrete5. Saya klik, saya baca dan saya jatuh cinta!





Itu baru baca segala artikel/content dalam laman web mereka, belum mencuba pun lagi. Akan saya cuba secepat mungkin dan laporkannya kepada dunia!

Daripada bacaan saya, dapatan utama adalah Concrete5 akan mampu menguasai dunia CMS kerana ia menguasai 3 penduduk asal CMS, iaitu Pemilik Laman Web (Site Owner), Pembangun Laman Web (Developer) dan Desainer Laman Web (Web Designer). Ini adalah 3 kelas penduduk yang menguasai tanah CMS seluruh dunia. Ia juga bagai 3 parti politik yang mempunyai kuasa yang seimbang dan bertindak sebagaimana parti politik yang lain: bergaduh dan berselisih pendapat, tetapi terpaksa bekerjasama demi kepentingan masing-masing.

Concrete5 dikatakan memfokus pada 3 jenis pengguna ini, dan daripada pengalaman dapat dirumuskan ini adalah strategi yang betul. Tidak, ini adalah satu-satunya strategi yang tepat. ia bukanlah strategi yang tidak pernah terfikir oleh pembina yang lain. Tetapi ia adalah strategi yang sukar untuk direalisasikan pada sesebuah CMS. Jika benar Concrete5 ini dapat menguasai dengan baik ktegia-tiga jenis penggunaan ini, maka dunia CMS akan indah belaka, dan seluruh penduduk asal tanah CMS akan akhirnya mampu hidup saling membantu dan harmoni.

Jika!

Thursday, June 9, 2011

MSSQL 2005 - PHP 5.3 Connect!

Sekarang PHP sudah tidak guna php_mssql.dll lagi kerana ianya SQL sudah berubah strukturnya. Gunakan FREETDS (php_dblib.dll untuk wampserver/windows-apache-php) untuk menggunakan fungsi mssql_**** dalam PHP. Lebih lanjut klik di sini.

Sunday, May 22, 2011

Generate UniqID in PHP


$referrer_code = uniqid(dechex($user_id).'_');

Great Company Blueprint

Purpose

  • Create a sustainable business model that can be adopted and adapted by others.
  • Create a fair and democratic company that is owned by the workers.
  • Have long-term, trustworthy and meaningful relationships with our staff and customers.

Principles

  • Egalitarian: The belief that all people should be treated equally. This includes equality, non-discrimination and inclusivity.
  • Sustainable: We have a long-term view on our business. We watch our profits & spend wisely, we take care of each other, we support the things we depend on.
  • Transparent: We communicate in an honest and genuine way. Any information or process that can be made open, will be made open.
  • Fun: Create a workplace where people can have fun and want to work.
  • Agile: Be flexible, receptive & adaptive, especially when dealing with staff and customers.

Methods

Concrete tools for helping us live according to our principles, including:

  • Consensus-based decision making.
  • Corporate transparency – any information or process that can be made open, should be made open.
  • Licensing that helps benefit our company, our staff, our customers, our partners and society at large.
  • Profit-sharing with staff, contributors and worthy causes.
  • Don’t try to change people. Focus on getting the best from their strengths. Develop ways to work around their weaknesses.
  • Prefer to work with people who share our values.
  • Work against patents and other legislation that harms individual rights.

Default Employee Rules

Some employee roles may have different requirements — for example, someone working on customer support may need to have regular hours. Of course, any differences need to be noted explicitly in the employee’s contract in a section that clearly details any differences from the standard agreement.

  • 75 working hours per two weeks. Ideally, employees should work schedules that are kind to them and to others.
  • Equal free (vacation) time; Everyone has 35 free days a year + Saturday & Sundays. (This is basicly Finnish 5 week vacation + 10 (avg) weekday holidays). Note that this means that one should use a free day if one wants not work any Monday-Friday even if it’s a public holiday in your country! Up to 25 free days will roll over to next year (ie, the vacation part not the public holiday part); If the employee quits or is let go all saved vacation money will be paid out. One earns 25/47 vacation days / week of active work (This is used for the first and last year of employment).
  • Vacation money (“Lomalta paluu raha”). When you go on vacation that is more than 3 weeks (or have used more than 3 weeks of your vacation for the year) you get an extra 1/2 month of salary. If you don’t keep your vacation the vacation money is payed at the end of the year under ‘get a life’ bonus plan.
  • The employee will get a shared copyright to all code and documentation he/she produces according to the spirit of the Sun’s SCA license agreement.This doesn’t include confidential code/documentation or code/documentation that we do for customers that require full ownership to the produced code/documentation.
  • 80 / 20 rule; 80% of the time the employee should work on scheduled tasks. 20% of the time they can work on any tasks of their choice, as long as they will generate revenue, make employees more efficient, or enhance company recognition in a 2 year window. The 20% tasks need to be approved to ensure they follow the above guidelines.
  • The employee needs to be transparent with everything they are doing. Transparency makes the employee responsible to their peers, and makes them accountable by their own statements. It’s also the best vehicle to create trust.
  • The employee needs to do a weekly report that includes everything they have done during the week, their plans for the upcoming week, and also any ideas they may have (half-baked or ready-to-use), that they would like to discuss with others. The weekly reports should show clear progress in the employee’s major tasks.
  • The employee must speak up if the company is doing something they think is harmful for itself, its employees or customers. It’s crucial for the success of the company that the employees are ‘on board’ with the vision of the company. Politics are strictly forbidden!
  • The salary should be competitive in the area where the employee is located. The bonus plan is not dependent on where employee is living.
  • If an employee has been of significant help in getting / delivering a customer order, they are entitled to a bonus for this work. Everyone involved in a sale will share 5% in the ‘price – cost of sales’ portion of the sale (in proportion to their involvement) and everyone involved in the delivery will share another 5%. However, any such bonuses will be deducted from their part of the year-end bonus (provided the company was profitable).
  • Each employee will be assigned a VIP number of 1-10 (10 being the highest) to describe their importance to the company. This number is used to calculate the end of year bonuses and ‘sell-shares’. The VIP number is agreed to when an employee joins the company and will be reviewed yearly by their manager. The employee will get directions on what they can do to increase their importance to the company (and thus their VIP number).
  • The employee is assumed to be cost efficient. This means they should prefer to use:
    • Cost efficient communication tools like Skype and VoIP.
    • Economy traveling tickets.
    • Medium priced hotels, rental cars, and restaurants.
    • When traveling they should strive to stay over at their fellow employees’ places and/or share rooms with their fellow employees. (This item can be overridden with a ‘good cause’ by their manager)
    • If the employee wants better hotel, food, traveling arrangements, working equipment, etc this can be arranged, but the difference should be reduced from their salary, contract money or bonus.
  • When hired, the employee will be considered as ‘on-trial’ for the first 3 months. After the trial period, the Company and employee will decide if things are working out and either hire the employee or contract him under similar terms as if they were employed full-time.
  • People that are not working up to expectations will receive a warning. If the situation is not corrected within one month, they will be moved to ‘on-trial’ status. After 3 months, the Company and the employee will revisit the employee’s performance and will decide whether further employment is in their best interests.

The Rules of the Company

  • The Company is primarily created to generate bonuses for the employees (not to get sold).
  • The Company should make it as fun as possible to work for the Company.
  • The Company will strive to be small and efficient. If growing too big, it will split into separate business units or companies.
  • Strive for long relationships with employees and customers. (The Company is a Family)
  • The Company needs to respect the individuality of it’s employees. If the employee has reasonable ‘extra’ demands they need to be seriously considered. (For example when it comes to work on weekends, room sharing, not wanting to travel, etc).
  • The Company will employ people based on their merits. They will not be discriminated based on their gender, race, religion, location, marital status or whom they have married.
  • The Company will not require people to work on weekends. The Company has the right to ask the employee to work on weekends, but the employee has the right to refuse without any consequences.
  • The Company will actively encourage its employees to take out their vacation and not save it for later. This is especially important for employees that are “burning out”.
  • For time-critical, highly-paid, highly-profitable projects that require double working hours, the Company will pay three times the salary and/or offer paid vacation days.
  • The Company will, whenever it’s possible, largely let the employee choose their own work, instead of being told what to do. By letting the employee set their own goals, he is more likely to meet them. When working on a chosen project the employee needs to work with the team lead, but after the project is done, the employee should decide on what to do next.
  • The Company needs to be long term cost efficient in its daily operation. This should be considered when choosing software, phone usage, equipment, etc…
  • The Company will not censor employees’ opinions or try to hinder employees from expressing them. The Company should provide appropriate forums for the employees to discuss anything work related.
  • The Company will actively help and sponsor open source projects (see bonus plan).
  • The Company will strive for having as much of its plans and information publicly available. All rules of the Company will be made public on its web site.
  • The Company will respect the privacy of the employees. It will not read, without explicit permission from either the author or the receivers, any employee emails that are not sent to an email list and it will not read any logs from any private (query) IRC sessions.

Bonus

At end of year the profit will be distributed as follows:

  • 45% will be saved for expansion
  • 5% will be donated to open source projects. The project(s) will be chosen by the employees of the company by voting.
  • 5% will be used to support charities. The projects will be chosen by the employees of the company by voting.
  • 20% will be used to pay off existing debts.
  • 20-45% (depending on debts paid) will be given out (as bonus, dividend or some other form) to employees and investors based on their VIP number and the number of working hours.
The bonus for each employee is calculated as follows:
employee_profit_hours = employee_working_hours*VIP bonus = profit/(SUM(all employee_profit_hours))*employee_profit_hours

An investor which has invested 100,000 Euros is treated as an employee of VIP level 5 that has 37.5 hours a week for 47 weeks. And the investor should expect to get at least 8 % as ‘bonus’ from the bonus pool. If he gets less, the missing money will be added to his loan.

At end of year the Company will distribute 100,000 ‘semi-shares’ to its employees and active investors, in proportion to ones ‘employee_profit_hour’. This share does not have any other rights than if the company would get sold then the money paid for the company (minus all costs, investments, loans etc) will be distributed among all semi-share holders.

At end of the year the Company should strive to pay off (part of) its investors if it doesn’t expect to need the money within a 2-year time frame.

Decision-making processes

The Company is led by a CEO. His actions are governed by:

  • An advisory board that is a team of external chosen experts.
  • A governance team, consisting of members from the employees and the advisory board

The purpose of the advisory board is to give good advice to the CEO and the employees of the company.
The purpose of the governance team is to give directives (that must be followed) to the CEO and suggest changes to the rules and decisions processes. The governance team has the right to fire and reinstate people (including the CEO). The Company will be led in an open and democratic fashion:

  • All (not customer classified information) information will be public inside of the company. This includes salaries, bonuses, shares, birthdays, etc…
  • Decisions will be done in a democratic fashion and all employees should have a chance to have their say in things that matter to them.
  • In cases of disagreement things should be resolved by voting with the 3 vote rule; ‘Yes, No and Never’. A decision should normally not be taken if there is a single ‘Never’ vote. In exceptional ‘life and death’ cases, after thorough discussions have been had and after all other options are exhausted, a decision can be taken even if there are ‘a few’ ‘Never’ votes, if 50 % of the company will vote yes to the proposal.
  • Company should work according to the motto: “Do good decisions fast but be prepared to quickly change course if there is a way to do it.” This implies that the following should hold for ‘controversial decisions’:
    • If requested, the decision makers need to clearly define the basis for a decision and provide means for proving/disproving that the decision is in the Company’s best interests. If a decision is proved wrong, it needs to be reverted and the decision makers need to analyze why it went wrong and take steps to ensure that it won’t happen again.
  • The Company should learn from its mistakes and its successes. It should strive to repeat its successes and avoid its mistakes in the future.

Difficult decisions / Changing the rules

The rules of the Company can only be changed if at least 75% of the Company employees are not opposed to the changes. The owners of 51% of the voting shares in the Company (initially only the founders) have the definite power to say ‘NO’ to any made decision that doesn’t have 75% of the employees behind it. They can also propose new decisions that will be be taken if 51% of the employees stand behind it. This rule can only be changed with 85% of the voting shares.

Monday, May 9, 2011

Tips from Brian Wong

1: You are the biggest idiot in a room
2: Don`t pretend to be somebody else, or pretend you know when you are not
3: Accept and shout out loud that you didn`t know everything, others will heard and help.

Nota untuk Programmer Baru

Jika anda baru bermula dan mahu belajar programming, berhenti dan jawab dahulu soalan ini:

"Aplikasi apa yang ingin saya bina?"

Fikir dan tulis maklumat lengkap aplikasi tersebut. Lukis skrin yang akan anda sebagai pengguna lihat setiap kali butang diklik. Namakan dan catat fungsi setiap butang sehingga tiada lagi butang yang tertinggal.

Sebagai permulaan, semakin ringkas aplikasi anda semakin bagus hasilnya nanti.

Setelah itu baru kita pilih jenis programming yang akan digunakan.

Jika aplikasi anda berkisar tentang laman web, maka antara pilihan yang ada kepada adalah PHP.

Jika aplikasi tersebut lebih berkisarkan backend server, boleh cuba Python

Jika untuk diinstall pada windows, boleh cuba VB dan VB.net

Setiap aplikasi pasti memerlukan database untuk menyimpan setiap data yang diperlukan. Gunakan MySQL sebagai database pilihan.

Semua yang disebut di atas adalah mudah digunakan, banyak dokumentasi dan murah (percuma!).

Jika ada yang menasihatkan anda dengan perkataan berbunyi:


  • C

  • OOP (Object Oriented Programming)

  • NoSQL

  • Linux

  • Frameworks


Lari jauh-jauh! Itu untuk masa akan datang. Sekarang yang paling penting adalah mula dengan tutorial "Hello World" untuk setiap programming language yang anda pilih.

Bersambung ke Nota untuk Programmer Amatur

Monday, April 25, 2011

"Benar" itu adalah 90% Kemungkinan untuk Betul

Dengan tidak termasuk fakta tauhid, tiada satupun ilmu inferens manusia itu boleh disebut sebagai fakta yang benar jika "benar", "betul" atau "fakta" itu berasaskan pemerhatian umum atau purata daripada data kajian.

Setiap fakta ada pengecualian.
Setiap formula ada lingkungan.
Setiap kebenaran ada pengasingan.

Sebelum ini, kita percaya bahawa angsa itu semuanya putih. Tidak mungkin sama sekali angsa itu berwarna lain. Angsa di london bewarna putih. Angsa di Cina berwarna putih. Angsa yang dibela oleh Pak Samad juga berwarna putih. Jika benarlah ada angsa selain warna putih, maka kiamat semakin hampir.

Lalu mereka terjumpa angsa berwarna hitam di Australia.

Fakta sudah tidak benar. Bukan fakta lagi kini.

Warna hitam adalah warna kelabu yang tersangat gelap sebenarnya. Warna putih pula adalah warna kelabu yang tersangat cerah. Dunia kita ini begitu indah. Bukan sahaja ia penuh dengan pelbagai tahap warna kelabu, malah dihiasi pula dengan pelbagai tahap warna-warna lain.

Semoga kita dapat menikmati kepelbagaian warna dan ragam dunia ini.

Monday, April 18, 2011

A manifesto for web development that works

A manifesto for web development that works

Time to stop the rant and start thinking positive. All the above is web development that’s broken. Now, what would not-broken web development look like?

Let’s go for the following:

I want to start coding now

without having to learn configuration, dependencies or deployment;
I don’t want no glue

the web is one platform, time to stop forcing us to treat it as a collection of heterogeneous components;
I don’t want to repeat myself

so don’t force me to write several validators for the same data, or several libs that do the same thing in different components of my web application;
I don’t care about browser wars

my standard toolkit must work on all browsers, end of the story;
Give me back my agility

I want to be able to make important refactorings, to move code around the client, the server, the database component without having to rewrite everything.
Give me all of this and you’ll make me a much happier coder.

Sunday, April 17, 2011

Sumber Terbuka dan Sumber Tertutup

Sumber terbuka adalah dunia yang ideal. Apa yang anda ada anda boleh guna, ubahsuai dan beri atau jual kembali kepada orang lain. Anda bebas melakukan apa sahaja dengan benda yang terbuka tadi. Kuasa di tangan anda. Fikirkan seni, robot buatan sendiri, gerakan DIY, dan yang paling popular sekali perisian Android.

Sumber tertutup pula adalah mainan kapitalis. Benda milik kita adalah terhad kepada apa yang dipersetujui semasa membeli. Jika anda membeli aplikasi Microsoft Office Home Edition, hanya tidak boleh sekali-kali menggunakannya untuk tujuan komersial. Walau menulis surat invoice kepada klien anda! Dunia sumber tertutup digambar kelam, terhad dan sempit.

Namun adakah kita betul-betul perlukan kebebasan?

Adakah kita mampu mengawal kuasa di tangan dengan sumber terbuka?

Adakah kita TAHU mengawal kuasa di tangan dengan sumber terbuka?

Jika sumber terbuka jauh lebih baik (kebebasan, kuasa dan percuma), maka kenapa sumber tertutup masih lagi menguasai dunia? Apple iPhone mengawal 70% pasaran smartphone. Microsoft masih mengawal lebih 80% pasaran PC. Jika kita betul-betul lihat pengguna yang memilih sumber tertutp, pasti kita dapat memahami majoriti pemikiran manusia di dunia ini.

Manusia itu fitrahnya lebih suka memilih jalan yang mudah. Manusia itu fitrahnya lebih suka bergantung pada orang lain. Dan kerana fitrah ini jugalah, lebih ramai daripada kita yang memilih untuk membeli jalan yang mudah dan membeli tempat bergantung berbanding kebebasan, kuasa dan percuma.

Pengajaran buat diri saya sendiri: jika ingin berbisnes, juallah produk yang selari dengan fitrah manusia. Abaikan kebebasan, kuasa dan harga total pada kebanyakan pasaran.

Monday, March 14, 2011

Jujur Hati

"Apa cita-cita kamu?" Pernah cikgu Kamal bertanya suatu ketika dahulu. Aku jawab sepertimana budak darjah 3 yang lain:

"Saya nak jadi Ultraman!"

Dan seluruh kelas tersengih. Aku pun ikut tersengih. Rasa sungguh 'cool'.

Cikgu Kamal juga ikut tersengih.

"Kamu perlu makan banyak-banyak supaya boleh jadi besar dan jadi Ultraman Malaysia!" sambung Cikgu Kamal.

Jika Cikgu Kamal tipu dan cakap "Kamu perlu belajar bawa kapal terbang" sudah pasti aku jadi seorang juruterbang sekarang. Namun aku hanya mampu menjadi seorang yang boroi.

Ultraman yang boroi sungguh tak cool.

Jujur. Nasihat yang jujur dari soeorang pakcik gila yang menyelamatkan dunia aku kini.

"Kamu pergi universiti itu nanti, belajarlah cara untuk belajar." Kata dia sambil merenung aku tajam. Aku terkesima. Suara dia begitu jujur. Nasihat dia terus masuk ke hati aku.

Tanpa sedar aku benar-benar belajar cara untuk belajar.

Grad dengan pointer yang sekecil kuman akan menyusahkan hidup kau. Kecuali jika kau sudah belajar cara paling mudah, ringkas dan pantas untuk belajar.

Kini menjadi seorang programmer hanya kerana nasihat seorang gila.

Monday, February 28, 2011

test some code



function openproject(){

if(count($_POST) > 0){
$this->load->model("noschema");


}

$data['title'] = "Open New Project";

$inputs = array(
array("type" => 'text', "name"=>'author', "value"=> "", "display" => 'Author'),
//array("type" => 'text', "name"=>'email', "value"=> "", "display" => 'email'),
array("type" => 'textarea', "name"=>'proposal', "value"=> "", "display" => 'Proposal'),

//array("type" => 'select', "name"=>'group_id', "display" => 'group', "option"=> $group_options),
//array("type" => 'select', "name"=>'company_id', "display" => 'company', "option"=> $company_options),
//array("type" => 'hidden', "name"=>'id', "value"=> $profile_data[0]['id']),
//array("type" => 'radio', "name"=>'group', "display" => 'group', "radios"=> $group_radio),
//array("type" => 'checkbox', "name"=>'company', "display" => 'company', "boxes"=> $company_checkbox)
array("type" => 'submit', "name"=>'submit', "value"=> 'submit'),

);

$data['dumper'] = $inputs;

$this->load->view("v.form.php", $data);
}

Friday, February 11, 2011

salah satu warna pelangi

...
...
...

Kerana kau salah satu warna pelangiku.