Typo consumer too much memory

Posted by Revolution Tue, 29 Apr 2008 07:04:00 GMT

I monitor this application typo 5.0.2 consume too much memory about 50 – 80 MB which full feature. So i will try to make lite version for typo because I still like it. By the way, If my try is not successful, I will make my own blog system

มันกิน mem มากเหลือเกินไม่ไหว ถ้ามีโอกาศ จะลองทำแบบ lite ดู แต่ถ้าไม่ได้ลองเขียนใช้เองแล้ว ไม่ไหวเปลือง

Posted in  | Tags , ,  | no comments | no trackbacks

My Motolora E680i mpkg install

Posted by Revolution Mon, 28 Apr 2008 06:52:00 GMT

วิธีลง จาก ThaiLinuxPDA.COM

MPKG Installer คือตัวติดตั้งโปรแกรมต่างๆแบบที่มาในไฟล์นามสกุล mpkg (.mpkg) สำหรับ E680i

การติดตั้ง MPKG Installer ทำได้โดย

  1. ลง LinLoader ก่อน
  2. แตกไฟล์ออกจะได้ mpkg.lin และ MPKG.mpkg นำไปไว้ในโทรศัพท์
  3. จิ้มที่ไฟล์ mpkg.lin 1 ที รอจนได้ยินเสียงคนจีนพูด
  4. restart เครื่องใหม่ หรือเปลี่ยนลำดับไอคอน แล้วไอคอน mpkg จะออกมาครับ ลบไฟล์ดอกไม้ทิ้งด้วยครับ

การติดตั้งโปรแกรมต่างๆ (.mpkg) ด้วย MPKG Installer ทำได้โดย

  1. เปลี่ยนนามสกุลไฟล์จาก .mpkg เป็น .pkg
  2. ในการติดตั้งครั้งแรกให้จิ้มค้างที่ไฟล์แล้วเลือกเปิดด้วย mpkg installer (ไอคอนรูปคอม) และติกที่ใช้โปรแกรมนี้เปิด แล้วตกลง
  3. ในครั้งต่อๆไปจิ้มที่ไฟล์ .pkg ได้เลยรอจนมีเสียงคนจีนพูด
  4. restart เครื่องใหม่ หรือเปลี่ยนลำดับไอคอน แล้วไอคอนโปรแกรมที่เราลงจะออกมาครับ

การลบโปรแกรมที่ติดตั้งด้วย MPKG Installer

  1. จิ้มที่ไอคอน MPKG Installer (รูปคอม) จะได้ไฟล์ชื่อ mpkg ในตัวเครื่อง (diska)
  2. เปลี่ยนชื่อไฟล์จาก mpkg เป็น mpkg.txt
  3. เปิดดูในไฟล์ mpkg.txt จะมีรายชื่อโปรแกรมทั้งหมดที่ลงด้วย MPKG Installer ไว้
  4. ลบชื่อโปรแกรมออกโดยให้เหลือเฉพาะโปรแกรมที่ต้องการลบไว้ และบรรทัดแรกให้เว้นว่างไว้
  5. หลังจากแก้ไขไฟล์ mpkg.txt แล้ว ให้จิ้มที่ไอคอน MPKG Installer อีกครั้งเพื่อยืนยันการลบโปรแกรม
  6. รอจนมีเสียงพูดแปลว่าลบโปรแกรมเสร็จเรียบร้อยแล้วให้ restart เครื่องใหม่ เป็นอันเรียบร้อย

Posted in  | Tags , ,  | no comments | no trackbacks

Speedthai Go to passenger 1.0.1

Posted by Revolution Fri, 18 Apr 2008 07:35:00 GMT

Now Speedthai Rails hosting in Thailand switch from Fcgid to Passenger (mod_rails) which consume less memory and better performance

ตอนนี้ Speedthai Rails Hosting ในประเทศไทยได้เปลี่ยนจาการใช้ fcgid ไปเป็น Passenger (mod_rails) ที่มีประสิทธิภาพดีกว่าและยังบริโภคแรมน้อยกว่า

อยู่ในขั้นทดสอบ

Posted in ,  | Tags , , , ,  | no comments | no trackbacks

ทิเบต ส่วนหนึ่งที่คนไม่รู้

Posted by Revolution Mon, 24 Mar 2008 13:40:00 GMT

พักนี้หลายคนคงได้ฟังข่าวเกี่ยวกับทิเบต และก็อาจจะทำให้คิดได้ว่าจีนมันช่างโหดร้ายอะไรเช่นนี้ ผมเองก็มีความคิดบ้างพอสมควร ก็เลยไปลองหาข้อมูลมาได้ดังนี้

แต่ก่อนทิเบตถูกปกครองโดยชนชั้น 3 ชนชั้น ได้แก่ กะสัตว์ ลามะ และขุนนาง ซึ่งเรียกได้ว่าเป็นชนชั้นปกครองและมีชาวนา, พ่อค้า, และผู้ใช้แรงงานเป็นคนชนชั้นล่าง โดยมีระบบศักดินาเป็นการปกครองโดยไม่มีทาส (หรืออาจจะมีก็ไม่ทราบ) ชนชั้นปกครองก็จะมีที่นาเป็นของตัวเองแต่ไม่ต้องลงมือทำเอง (อาจเดาได้แล้ว) คือให้พวกชาวนามาเช่าที่นาเอาไปปลูกข้าวแล้วแบ่งผลประโยชน์กัน ผมสมมุติว่าเป็น 70:30 คือให้ชาวนา 70 เจ้าของที่ 30 ซึ่งมันก็ดูพอไปไหว แต่มันเกิดเหตุการตามระบบ คือความต้องการที่และจำนวนที่ มันมีจำกัด ทำให้อัตราการต่อรองสูงถึง 60:40 หรือมากกว่านั้น เจ้าของที่เองก็ต้องการเงินมา ขณะที่ชาวนาก็ต้องเลี้ยงชีวิต จึงต้องจำทนกันต่อไป

เหตุการณ์ที่มันระอุคือความไม่พอใจในชนชั้นล่าง คือมันเริ่มไม่พอเลี้ยงตัวเอง มันก็เลยเกิดความรู้สึกที่ไม่เป็นธรรม (ที่จริงผมก็ไม่เคยหาเจอ) กรอบกับจีนก็เข้ามาเสนอทางเลือกให้คนทิเบตเอง ซึ่งในขณะนั้นมีลามะ 2 คน สายแรกมาจากชนชั้นปกครอง ไม่สนับสนุนให้ทิเบตเปลี่ยนการปกครอง ส่วนอีกสายมาจากไหนก็ไม่ทราบแต่เป็นผู้นำให้เปลี่ยนการปกครองแต่มาตายหลังการลงคะแนน

การลงคะแนนให้เปลี่ยนระบอบการปกครอง ก็คงเดากันได้ คนส่วนมากที่โดนกดขี่มานานก็ย่อมต้องโหยหาความเท่าเทียม ดังนั้นระบอบการปกครองแบบคอมมิวนิสต์คือคำตอบในขณะนั้น จีนก็จะเข้ามาแบ่งสรรปันส่วนให้ทุกคนสามารถทำมาหาเลี้ยงชีพเองได้ แล้วจะเอาที่ดินมาจากไหนล่ะ? แน่นอนก็ต้องเอามาจากชนชั้นปกครองเดิม ก็เลยทำให้ชนชั้นปกครองไม่พอใจอย่างมาก

หลังจากที่ลามะสายที่ต้องการความเปลี่ยนแปลงตายลง ลามะคนปัจจุบันก็ดำรงค์ตำแหน่งแทนซึ่งมาจากสายปกครอง ถ้าจำไม่ผิดน่าจะเป็นคนที่ 14 เมื่อมีความวุ่นวายย่อมมีมือที่สามเข้ามา ส่วนนึงน่าจะเป็นอเมริกา(ตัวเหี้ย) ให้การสนับสนุนับพวกชนชั้นปกครองเดิม คือถ้ามันสำเร็จสามารถให้พวกปกครองเดิมเข้าไปสร้างฐานอำนาจได้ ก็จะเป็นบุญคุณกันต่อมา แต่ถ้าไม่สำเร็จก็จะเอาไว้เป็นเครื่องมือต่อรองกับจีนได้

การพลาดท่าครั้งใหญ่ของลามะคนปัจจุบันคือการไม่สามารถควบคุมสถานการณ์ความวุ่นวายได้ ใจคนหยั่งยากแท้ แม้ว่าจะเกิดการชุมนุมและก่อจราจลที่ทิเบต และหวังว่าจะให้เกิดเหตุการเดียวกับเทียนอันเหมิน แต่จีนเองก็ไม่ได้โง่ เจ็บแล้วจำ (ไม่เหมือนแดนสุวรรณภูมิ ไม่เคยจำ) ภาพที่ออกมาคือส่วนใหญ่คนที่ตายคือคนฮั่น(จีน) และทหารก็ไม่ได้ใช้ความรุนแรงเกินเหตุในการระงับจราจล

ผมเองคิดว่าลามะพลาดท่าอย่างแรงและจีนเองก็มีความอดทนอดกลั้นเพียงพอ อาจเป็นเพราะใกล้งานโอลิมปิกแล้ว งานนี้ถ้าลามะจะแก้เกมได้คงมีหนทางไม่มากนักการที่ออกมาประกาศว่าจะลาออก คิดว่าเป็นเพียงการแก้เกี้ยว ทางออกที่ดีที่สุดของลามะ ตอนนี้คือการสอนศาสนาแล้วคิดทบทวนตัวเอง

จีนเองก็ประสพปัญหาคล้ายกับประเทศไทยคือพวกคลั่งศาสนานึงหัวรุนแรงมากด้วยอยู่แถบซินเกียง (ก่อนถึงทิเบต) เรียกว่าชนเผ่าหุย คิดว่าพระเจ้ามันดีสุดๆ จีนเขาไม่ใจดีเหมือนไทย เขาทำงานมีประสิทธิภาพจับได้คาหนังคาเขา ยิงทิ้ง สถานเดียว ล่าสุดมีพวกนี้ถือขวดน้ำขึ้นเครื่องบิน ปกติเขาจะไม่ค่อยยุ่งกับพวกหุย เพราะเดียวหาว่ารังแกชนกลุ่มน้อย (เรื่องจริง เจอมาที่เซียงไฮ้ พวกขายเนื้อย่างถ้าหน้าฮันหรือจีนๆ จะโดนตำรวจไล่) เอาขวดน้ำไปไว้ในห้องน้ำเครื่องบิน เปิดฝาทิ้งไว้ โชคดีแอร์มาได้กลิ่นเป็นน้ำมัน เลยจับได้ มันบอกว่าจะระเบิดเครื่องบิน โชคดีจริงๆ ความรุนแรงที่แก้ด้วยความรุนแรงมักจะไม่จบ ยกเว้นฆ่าล้างเผ่าเหมือฮิตเลอร์ ไม่แน่ว่าอีกหน่อยจีนอาจต้องมาดูงานในไทย(ถ้ามันสงบจริง) ก็เป็นได้

ป.ล. จำแหล่งอ้างอิงไม่ได้ โปรดใช้วิจารณญาณในการอ่าน

Posted in  | Tags , , , ,  | no comments | no trackbacks

Number to word in Thai

Posted by Revolution Wed, 20 Feb 2008 09:40:00 GMT

อยู่ในภาคทดสอบ แบ่งเป็น 2 แบบคืออ่านธรรมดากับแบบค่าเงิน

ทดสอบได้ที่ num2word

class Number

  def initialize
    @unit = %w[ศูนย์ หนึ่ง สอง สาม สี่ ห้า หก เจ็ด แปด เก้า]
    @qtys = ["แสน", "หมื่น", "พัน", "ร้อย", "สิบ", "หน่วย"]
    @mils = "ล้าน"
    @zero = "ศูนย์"
    @twenty = "ยี่"
    @unitone = "เอ็ด"
  end

  def self.th_word(number)
    Number.new.to_s(number)
  end

  def self.th_currency(number)
    Number.new.to_s_currency(number)
  end


  def self.commify(number)
    (s=number.to_s;x=s.length;s).rjust(x+(3-(x%3))).gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, '\1,')
  end

  def to_s(value)
    if (number = value.to_s.split(".");number.length) >2 then return ("'.' more than 1") end
    re = []
    f = to_s_float(number[1]) if !number[1].nil?
    out = to_s_decimal(number[0])
    re[0] = f if !f.nil?
    re[1] = out
    if !f.nil? then re[2] = re[1] + "จุด" + re[0]   else re[2] = re[1] end
    return re.reverse
  end

  def to_s_currency(value)
    w = to_s(value).reverse
    f = value.to_s.gsub(/(\w*)+\./,"0.").to_f if !w[0].nil?
    w[0] = to_s_decimal((f * 100.0).round.to_s) if !f.nil?
    if !f.nil? then w[2] = w[1] + "จุด" + w[0]   else w[2] = w[1] end
    return w.reverse
  end

  def to_s_float(value)
    return float_wordify(value).flatten.compact.join(' ').gsub(/ ,/,',') 
  end

  def to_s_decimal(value)
    return quantify(value).flatten.compact.join(' ').gsub(/ ,/,',')
  end

private  

  def padded_groups(v)
    #make number to be 3 units per slot  by fill zero infront (x%3 =0)
    out = []
    padded = (s=v.to_s.gsub(/\D/i,"");x=s.length;s).rjust(x+(6-(x%6))).gsub(/ /,'0')
    padded.scan(/.{6}/)
  end

  def wordify(v)
    out = []
    @unitone = "หนึ่ง" if v.to_i == 1
    for cur in 0 .. v.length - 1
      if cur ==4 and v[cur] == '2'[0] 
        out << @twenty
      elsif cur ==4 and v[cur] == '1'[0] 
        out << "" 
      elsif cur ==5 and v[cur] == '1'[0] 
        out << @unitone
      else
      out << @unit[v[cur]-'0'[0]]
      end
    end
    return out
  end

  def float_wordify(v)
    out = []
    for cur in 0 .. v.length - 1
      out << @unit[v[cur]-'0'[0]]
    end
    out.pop while out.last == @zero
    return out
  end

  def quantify(v)
    v = padded_groups(v).reverse
    pos = v.length - 1
    out = []
    while pos >= 0
      if v[pos] == ','
        out << ','
        next
      end
      word = wordify(v[pos])
      for po in 0 .. word.length - 1
        if word[po] == @zero then next end
        if @qtys[po] != "หน่วย" then out << word[po] + @qtys[po] else out << word[po] end
      end
      out <<@mils if pos > 0
      pos -= 1
    end
    out.shift while out.first == @mils
    out << @zero if out.length.zero?
    return out
  end

end

Posted in  | Tags , , ,  | no comments | no trackbacks

Number to word

Posted by Revolution Tue, 12 Feb 2008 10:35:00 GMT

Source จาก http://sohne.net/articles/2006/04/30/convert-numbers-to-words/ เท่าที่แกะดูก็ไม่ยากแต่ไม่เข้าใจว่า หลายที่เงื่อนไขไม่ลงเลย สงสัยทำเผื่อไว้

Source from http://sohne.net/articles/2006/04/30/convert-numbers-to-words/ I have some confuse with this code, some condition will not may happen but i still be.

มีที่ดีกว่านี้ที่ http://www.deveiate.org/projects/Linguistics/wiki/English

class Number

  def self.to_words(number)
    Number.new.to_s(number)
  end

  def self.commify(number)
    (s=number.to_s;x=s.length;s).rjust(x+(3-(x%3))).gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, '\1,')
  end

  def initialize
    @unit = %w[zero one two three four five six seven eight nine]
    @teen = %w[ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen]
    @tens = %w[zero ten twenty thirty fourty fifty sixty seventy eighty ninety]
    @qtys = %w[hundred thousand million billion trillion quadrillion quintillion]
    @zero = ["zero"]
    @hundred = "hundred"
    @sepr = "and"
  end

  def to_s(number)
    out = quantify(number).flatten
    for x in 0 .. out.length - 1
      out[x] = nil if out[x] == @sepr && out[x+1] == @sepr
      out[x] = nil if out[x] == "," && out[x+1] == ","      
    end
    out.compact!
    out = @zero if out.length == 1 && out[0] == @sepr
    out.pop while out.last == @sepr
    out.shift while out.first == @sepr    
    out.join(' ').gsub(/ ,/,',')
  end

  private 

  def padded_groups(v)
    #make number to be 3 units per slot  by fill zero infront (x%3 =0)
    out = []
    padded = (s=v.to_s;x=s.length;s).rjust(x+(3-(x%3))).gsub(/ /,'0')
    padded.scan(/.{3}/)
  end

  def wordify(v)
    #Get 3 unit of slot and compare by ascii code, then word it out
    out = []
    zero = '0'[0]
    h, t, u = v[0] - zero, v[1] - zero, v[2] - zero
    if h != 0
      out << @unit[h]
      out << @hundred
    end
    #"and" word will add when hundred appear and unit appear 
    out << @sepr if h != 0 && (t != 0 || u != 0)
    out << @sepr if h == 0 && t == 0 && u != 0
    if t == 1
      out << @teen[u]
    else
      out << @tens[t] if t != 0
      out << @unit[u] if u != 0
    end
    return out
  end

  def quantify(v)
    #make ach 3 of each slot to be a word by calling wodify
    v = padded_groups(v).reverse
    cur = pos = v.length - 1
    out = []
    while pos >= 0
      if v[pos] == ','
        out << ','
        next
      end
      word = wordify(v[pos])
      if word[0] != nil
        out << word
        out << @qtys[cur] if cur != 0                
      else
        out << @sepr
      end
      cur -= 1
      pos -= 1
    end
    return out
  end

end

puts Number.to_words(1234567890)
puts Number.commify(1234567890)

ถ้าอยากรู้ว่า code ทำงานอย่างไรอ่านต่อข้างใน

Read more...

Posted in  | Tags  | 1 comment | no trackbacks

ชาบูชิ แหวะ Shabushi is vomit

Posted by Revolution Mon, 11 Feb 2008 10:31:00 GMT

เมื่อก่อนเคยกินบ่อยมาเมื่อ 5 ปีที่แล้วตอนยังเรียนอยู่ ไปกินที่ เดอะมอล์ บางกะปิ แต่ครั้งล่าสุดเมื่อปีที่แล้วที่ เดอะมอล์ บางกะปิ ของหมดหลายอย่างเหมือนรู้สึกว่าโดนโกง เลยคิดว่าคงไม่กินไปอีกนาน

5 years ago, I liked to have shabushi at The Mall Bangkapi. Last time that I ate that is 1 year ago, at that time many meats were away (out of shelf)

เมื่อวันอาทิตย์ที่ 10 กุมภาพันธ์ 2551 ไปกินชาบูชิ เพราะอยากลองกินน้ำซุปต้มยำดู ราคา 199++ ก็ประมา 234 บาทต่อคน เห็นของไม่หมด เลยลองดูที่ ซีคอน ด้านหน้าโลตัสชั้นหนึ่ง โคตรๆ สกปกเลย จานที่ใส่อาหารก็ล้างไม่สะอาด น้ำยังเลอะอยู่เลย กากก็ติดจาน ปลาซาบะก็ทอดไหม้ น้ำมันไม่เปลี่ยน โต๊ะก็เช็ดไม่เกลี้ยง หม้อมาชาไม่บวกเวลาให้ ที่สำคัญ ไอ้ของที่มันโฆษณาอยู่หน้าร้านมีไม่ถึง 70% ที่อยู่บนสายพาน ต้องขอจากคนที่อยู่ในซุ้ม เช่น เบคอน, หมูสไลด์, ไข่, ข้าวปันแซลม่อน, ไข่หวาน, ฯ

At Sunday 10 Feb 2008, I went to Seacon Square to have Shabushi because i want to try Tom Yam soup. Price is 199++, 234 Baht include vat and service charge. I tried it at 1 floor in front of Lotus. I conclude that Dirty!!!. Dish was surface with water and some food that stick on dish, Saba Fish is over fired, Pot and soup came too late (10 minutes), what are at ads board was not appear on conveyor i had to ask to waiter

เมื่อก่อนคิดว่าอีกไม่ไปกินอีกนาน แต่ตอนนี้คิดว่าคงไม่ไปกินอีกแล้ว

Before i think i will not take it for long time but this time i think that i will not take it again

ป.ล. ผมชอบ hotpot มากกว่านะ

P.S. I Love You

Posted in  | Tags ,  | 1 comment | no trackbacks

วันนี้เป็นวันจ่าย Today is shopping day

Posted by Revolution Tue, 05 Feb 2008 12:23:00 GMT

วันนี้เป็นวันจ่ายของตรุษจีนต้องซื้อของมาไหว้เจ้าและบรรพบุรุษมากมาย เช่น ไก่ เป็ด หมู พรุ่งนี้ไหว้

Today Chinese people buy thing to pray to angle and ancestor, such as duck, chicken, and pork

ต้องไปแล้ว

I have to go now

Posted in  | Tags ,  | no comments | no trackbacks

Ruby.NET เลิกพัฒนา

Posted by Revolution Tue, 05 Feb 2008 12:20:00 GMT

เขียนลง Blognone

Ruby เป็นภาษาที่ได้รับความสนใจไม่น้อย จนกระทั่งมีคนอยากให้ใช้งานกับ .NET ได้ด้วย ทางด๊อกเตอร์เคลลี่ ผู้พัฒนา Ruby.NET ได้ประกาศผ่านทางกูเกิ้ลกรุ๊ปแล้วว่าเขาจะเลิกพัฒนา Ruby.NET โดยเหตุผลว่า IronRuby นั่นประสพความสำเร็จและไปได้ไกลกว่า

เนื่องจาก Ruby.NET เองแรกเริ่มก็เป็นโครงงานที่แตกตัวออกมาจาก IronRuby ซึ่งถ้าจะทำ Ruby.NET ให้เข้าได้กับ DLR (Dynamic Language Runtime) ต้องทำการเปลี่ยนแปลงหลายอย่าง และด๊อกเตอร์เคลลี่มั่นใจว่ามันจะดีกว่า CLR (Common Language Runtime) ที่ใช้อยู่ในปัจจุบัน

ทางผู้พัฒนา Ruby.NET ก็มีทีท่าจะไปช่วยพัฒนา IronRuby อยู่ด้วย

ที่มา: Google Group

Posted in  | Tags ,  | no comments | no trackbacks

วันนี้วันส่งเจ้ากลับขึ้นสวรรค์, Today all angels back to heven

Posted by Revolution Thu, 31 Jan 2008 10:18:00 GMT

สำหรับธรรมเนียมจีนแล้ววันนี้ถือว่าเป็นวันส่งเจ้ากลับขึ้นสู่สวรรค์เพื่อไปรายงานเง็กเซียนฮ้องเต้เกี่ยวกับความดีความชั่วของมนุษย์ เรียกว่าวัน ซิ้งเจี่ยที ก็จะต้องมีของมาไหว้หร้อมกระดาษเงินกระดาษทอง 13 ใบ (เพราะปีนึงมี 12 เดือนแต่บางปีมี 13 เดือน (เขาว่ามาอย่างงั้น)

For Chinese tradition, today is the day that all angels go back to heaven and report human’s virtue or sin to Angel Emperor. it’s usually call “Sing Jian Ti” in chinese. People pay respect and make a spirit offering to angel with 13 gold papers (Because a year has 12 month and some year have 13 month)

หลังจากนี้อีก 7 วันก็ตรุษจีนแล้วครับ

After this 7 days is chinese new year

Posted in  | Tags ,  | no comments | no trackbacks

Older posts: 1 2 3 4 5 ... 11