Saturday, February 16, 2013

Android sending SMS


package com.sdk.test;

import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage("012704570X", null, "send from app", null, null);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}


FPV / UAV

http://www.youtube.com/watch?v=msHJLwYWX30
https://www.youtube.com/watch?feature=player_embedded&v=rvlbbbh74xk

Thursday, February 14, 2013

Arduino

http://www.youtube.com/watch?v=iKMUF5jS9lU
http://www.gsmarena.com/samsung_galaxy_y_s5360-4117.php

Tuesday, January 1, 2013

Kilang Bata Ambition

Inspiration

http://www.hmetro.com.my/myMetro/articles/Hafizuddinberaniambilrisiko/Article/artikelMA

Objective Coalition

Bina rumah mama

Mechanics

Adi. He needs to get into courses to learn hot to use the interlocking bricks.

Machines

Nice conveyor

http://www.youtube.com/user/brickmachine2012?feature=watch

Video of construction using Interlock Brick

 



Company that use it & sells bricks

http://nurarina1.wix.com/geniusgreenway#!gallery
http://www.lembarantinggi.com/projects.html
http://mnzsolution.webs.com/ - kelantan
http://www.infopages.net.my/company-search-results.aspx?keyword=fabricate+hydraulic+press&page=2

Company that sells this machine

http://mesinbata.com/

IBS 

The use of Light Weight Slab Panel for 2 storey house

The use of Hollow Core Slab Panel for 2 storey house

Hydraulic Concept

Hydraulic motor

Hydraulic system Applied

Interesting CEB story

 
 
here is its blue print adi, http://opensourceecology.org/wiki/CEB_Press

 Open Source Tracktor

CCA System, concrete bricks. Still stackable low cost & fast development 

 Inspired

 

Saturday, December 22, 2012

Sinus cause by humidity

http://bodyodd.nbcnews.com/_news/2011/10/14/8290437-sinus-infection-its-the-humidity#comments

Thursday, October 25, 2012

replace string using grep and sed with help of xargs

grep -r "Wholesale Quran" * | cut -f1 -d ':' | xargs sed -i 's/Wholesale Quran/I-Furqan Quran/g' $0

Wednesday, October 3, 2012

Cheap construction method & material

interlocking soil cement blocks
http://www.youtube.com/watch?v=sGg9JBfX8Cs&NR=1

IRIS KOTO Building System - House Built in 7 Days.
http://www.youtube.com/watch?feature=endscreen&v=QhMAbqyZ8rw&NR=1
The core if each panel is made by styrofoam

Beatiful home made by interlocking red brick
http://www.kpmytruss.com.my/kpmy/index.php?option=com_content&task=view&id=76&Itemid=158

Thursday, July 26, 2012

Scraping mobile phone number from web


web.search("td").each do |e|
e = e.inner_html
if e.length > 10
tmp = e.gsub(/(\r|\n|\t|\D)/, "")

tmp.split(/(010|012|013|016|014|017|018|019)/).each do |s|
if s =~ /(010|012|013|016|014|017|018|019)/
pos = tmp =~ /#{s}/
#puts pos
if pos
number = "#{s}#{tmp[pos+3..pos+9]}"
puts number
Contact.create(:group_id => 1, :phone => number) if number.length == 10
end
end
end

end
end

Tuesday, July 17, 2012

scraping pictures at myjodoh.net



agent = Mechanize.new
agent.get("http://www.myjodoh.net/img.php?display=193941.jpg")
cookie = Mechanize::Cookie.new("PHPSESSID" , "460a4eac8d62000529e894727c32bd31") #take session from ur web browser :P
cookie.domain = "myjodoh.net"
cookie.path = "/"
agent.cookie_jar.add(agent.history.last.uri, cookie)


(1..466).each do |i|
web = Nokogiri::HTML(open("http://www.myjodoh.net/index.php?mod=result&page=#{i}&se=a%3A11%3A%7Bs%3A4%3A%22nSex%22%3Bs%3A1%3A%220%22%3Bs%3A5%3A%22nAge1%22%3Bs%3A2%3A%2218%22%3Bs%3A5%3A%22nAge2%22%3Bs%3A2%3A%2260%22%3Bs%3A8%3A%22nHeight1%22%3Bs%3A3%3A%22140%22%3Bs%3A8%3A%22nHeight2%22%3Bs%3A3%3A%22200%22%3Bs%3A8%3A%22nWeight1%22%3Bs%3A2%3A%2240%22%3Bs%3A8%3A%22nWeight2%22%3Bs%3A3%3A%22200%22%3Bs%3A7%3A%22nStatus%22%3Bs%3A1%3A%220%22%3Bs%3A10%3A%22nStateFrom%22%3Bs%3A2%3A%2299%22%3Bs%3A9%3A%22nStateNow%22%3Bs%3A2%3A%2299%22%3Bs%3A5%3A%22order%22%3Bs%3A5%3A%22dLast%22%3B%7D&PHPSESSIONID=460a4eac8d62000529e894727c32bd31"))
web.search(".picborder").each do |x|
filename = x['src'].gsub("http://www.myjodoh.net/thumb1/","")
url = x['src'].gsub("thumb1/", "img.php?display=")
puts filename
File.open(filename, 'w+') do |file|
     file << agent.get_file(url)
end
end
end

Scrape email from yellow pages and send them email with 300 second delay


em = []
(1..63).each do |i|
yp = Nokogiri::HTML(open("http://www.yellowpages.com.my/search.jsp?sfor=all&name=logistic&w=&p=#{i}"))
emails = yp.search("a.email").map{|x| x["onclick"].gsub("SqueezeBox.open('/plainmail.jsp?id=", "").split("',")[0] }
emails.each do |eid|
  t = Nokogiri::HTML(open("http://yellowpages.com.my/plainmail.jsp?id=#{eid}"))
  em.push(t.search("input").first["value"])
end
InvoiceMailer.inquiry(em).deliver
sleep 300
end

Friday, July 13, 2012

GOD ruby gem for unicorn bundle exec configuration file example.


God.watch do |w|
  w.name = 'unicorn'
  w.interval = 30.seconds
  w.start = "cd #{rails_root} && bundle exec unicorn -c /home/system/deploy/akeyu/config/unicorn.rb -D"
  w.stop = "kill -QUIT `cat #{rails_root}/tmp/pids/unicorn.pid`"
  w.restart = "kill -USR2 `cat #{rails_root}/tmp/pids/unicorn.pid`"
  w.start_grace = 10.seconds
  w.restart_grace = 10.seconds
  w.pid_file = "#{rails_root}/tmp/pids/unicorn.pid"
  w.behavior(:clean_pid_file)
  w.start_if do |start|
    start.condition(:process_running) do |c|
      c.interval = 5.seconds
      c.running = false
    end
  end
end

Monday, July 9, 2012

nginx log file location from using brew installation

tail -f /usr/local/Cellar/nginx/1.0.10/logs/error.log and of course access.log

Saturday, July 7, 2012

ruby on rails daemon


akob:ceramahonline akob$ rails plugin install git://github.com/dougal/daemon_generator.git
Initialized empty Git repository in /Users/akob/hak/ceramahonline/vendor/plugins/daemon_generator/.git/
remote: Counting objects: 25, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 25 (delta 2), reused 20 (delta 1)
Unpacking objects: 100% (25/25), done.
From git://github.com/dougal/daemon_generator
 * branch            HEAD       -> FETCH_HEAD
Daemon Generator
================

To get yourself rolling:
> sudo gem install daemons
> ./script/generate daemon

Then insert your code in the lib/daemons/.rb stub. All pid's and logs will live in the normal log/ folder.  This helps to make things Capistrano friendly.

Individual control script:
> ./lib/daemons/_ctl [start|stop|restart]

App-wide control script (I add this to my capistrano recipe's after_restart task):
> ./script/daemons [start|stop|restart]
akob:ceramahonline akob$

Key to SEO success

1. Title best describing content
2. meta description 2-3 sentence
3. meta keyword with comma forecasting user search behavior that relate with our content 3. used H1 only 1. and use other Hn as well
4. social networking, share, like, comment, +
5. short & readable URL

Thursday, June 21, 2012

my worth STRIVING for.

married & hv kids with her. buy house 4 mama. buy house 4 abah & look after him. my family is my everything my love is my requirement

Wednesday, June 6, 2012

rails gmail pop3 ssl reading email

require 'net/pop'
Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE)  
Net::POP3.start('pop.gmail.com', 995, username, password) do |pop|  
  if pop.mails.empty?  
    puts 'No mails.'  
  else  
    pop.each_mail do |mail|  
      p mail.header  
      p mail.pop  
    end  
  end  
end  

Thursday, May 24, 2012

Deploying multiple Rails Application using Nginx and Unicorn on the same port, different host

Dalam tutorial ini Ya'kob akan menerangkan bagaimana untuk membuat nginx supaya melayan request dari port yang sama, tapi host yang berlainan untuk applikasi rails yang berlainan. Ya'kob tidak menerangkan kaedah instalasi rails environment disini, kerana Ya'kob telah membuatnya didalam tutorial sebelumnya. Kita andaikan directory rails anda adalah di /home/system/deploy/akeyu Kita mahu meng-install webserver nginx
sudo apt-get install nginx
dan hidupkan nginx dengan service
sudo service nginx start
sila layari host anda dan sepatutnya anda dapat melihat "Welcome to nginx!" file config nginx terletak di /etc/nginx/nginx.conf sila perhatikan file tersebut untuk mempelajari kaedah pengoperasian nginx, contohnya untuk pelajari dimana log filenya untuk tujuan troubleshoot pada masa hadapan. nota + : seperti yang ditunjuk dalam railscast, kita mahu menyimpan file config nginx didalam folder rails application dan meng-symlink-nya untuk tujuan kemudahan mobility app tersebut cth: dengan penggunaan repository untuk digunakan pada lain2 server. Pada pendapat Ya'kob, ianya tidak sesuai untuk multiple application kerana kita mahu meng-config rails app yang lain juga didalam file config yang sama. Maka kita tinggalkan struktur file config nginx seperti asal.

nginx + webrick proof of concept

tuliskan di /etc/nginx/sites-enabled/default :
server {
 listen 80 default;
 # server_name example.com;
 root /home/system/deploy/akeyu; 
 try_files $uri/index.html $uri @unicorn;
 location @unicorn {
   proxy_pass http://localhost:3000;
 }
}
dan restart nginx
sudo service nginx restart
kemudian run webrick server
bundle exec rails s
layari http://localhost:3000 dan sepatutnya anda dapat melihat "Welcome aboard You’re riding Ruby on Rails!"

Keganasan bermula..

instalasi unicorn
/Gemfile
gem 'unicorn'
/config/unicorn.rb
working_directory "/home/system/deploy/akeyu"
pid "/home/system/deploy/akeyu/tmp/pids/unicorn.pid"
stderr_path "/home/system/deploy/akeyu/unicorn/unicorn.log"
stdout_path "/home/system/deploy/akeyu/unicorn/unicorn.log"

listen "/tmp/unicorn.akeyu.sock"
worker_processes 2
timeout 30
berikut adalah contoh file /etc/nginx/sites-enabled/default Ya'kob.
upstream unicorn {
  server unix:/tmp/unicorn.akeyu.sock fail_timeout=0;
}

upstream place {
  server unix:/tmp/unicorn.place.sock fail_timeout=0;
}

server {
 listen 80;
 server_name akob.akeyu.com.my;
 root /home/system/deploy/place/public;
 try_files $uri/index.html $uri @place;
 location @place {
   proxy_pass http://place;
 }
 error_page 500 502 503 504 /500.html;
}

server {
 listen 80 default;
 server_name www.akeyu.com.my;
 root /home/system/deploy/akeyu/public;
 try_files $uri/index.html $uri @unicorn;
 location @unicorn {
   proxy_pass http://unicorn;
 }
 error_page 500 502 503 504 /500.html;
}
sila restart nginx supaya perubahan config mula berkesan.
sudo service nginx restart
perhatikan nginx listen kepada port yang sama untuk kedua-dua server, tetapi akan bertindak berlainan cara jika diakses dari host yang berlainan. root dan try_files pula adalah untuk tujuan melayan (serve) file static jika ada dan @unicorn atau @place pula adalah untuk serve dari rails application. location adalah dimana nginx dan unicorn dihubungkan. unicorn akan menghasilkan sock pada /tmp apabila di run. Oleh itu kita menulis sock yang dihasilkan oleh unicorn pada bahagian location ini. seperti app yang pertama Ya'kob membuat 1 lagi app bernama place, menggunakan unicorn dan mengedit file /config/unicorn.rb sama seperti app akeyu. tetapi Ya'kob gantikan semua akeyu dengan place. pastikan directory betul. PENTING !: seperti isu Ya'kob, Ya'kob perlu untuk
chmod +w tmp/pids/ unicorn/ 
dalam folder app kita. sila create jika tidak wujud. run unicorn pada root application folder anda contoh di /home/system/deploy/akeyu
bundle exec unicorn -c config/unicorn.rb -D
dan juga pada direktori applikasi yang 1 lagi. dalam kes Ya'kob place jika tiada error dipaparkan, bermakna ianya telah berjaya di-run unicorn pada default-nya ia menyediakan 2 worker instance dan 1 master untuk melayan 3 client pada 1 serentak. Ia juga berkemampuan bertindak sebagai load balancer tetapi yakob belum mempelajarinya lagi. dan sekarang jika anda melayari akeyu.com.my dan akob.akeyu.com.my anda telah mengakses 2 applikasi yang berbeza pada port yang sama. sebagai proof of concept, anda juga boleh menggunakan webrick pada salah satu applikasi. contoh config nginx
/etc/nginx/sites-enabled/default
server {
 listen 80;
 server_name akob.akeyu.com.my;
 root /home/system/deploy/place/public;
 try_files $uri/index.html $uri @place;
 location @place {
#   proxy_pass http://place;
    proxy_pass http://localhost:3000; #webrick perlu di-run pada port lain dari 80 untuk mengelakkan bind access port 80 error
 }
 error_page 500 502 503 504 /500.html;
}
dan run webrick anda pada port 80 dan -d detach / sbgai service
rails s -p80 -d
selamat mencuba! dan tolong beritahu apa penemuan yang anda alami/ kesalahan pada tutorial ini / kelemahan / ketidak fahaman dalam tutorial ini / sebarang ralat.

Monday, May 21, 2012

storing backbone data inside dom element using jquery and retrieve it.

storing: $("#zone_data").data('zone', z.toJSON()) retrieving $("#zone_data").data('zone') z.toJSON() is a backbone model.

Monday, May 14, 2012

how to use find in unix

find ~/dnscell_projects/dnscell/app/assets/javascripts/ -name *orig -print

Tuesday, May 8, 2012

Backbone passing value to views

var view = new SentenceView({model: sentence}); var rendered = this.template(this.options.model.toJSON());