Saturday, February 9, 2013

Rắn xuân thì thào


Đoản long kiếp nạn đọa đày

Trời ơi răng rứa mi tề
Mõm trâu nhân nghĩa bi hề núi non

Vườn hoang trọng quá mõi mòn
Sang cười híp mắt ôm tròn ngọ điên

Gian hùng đã móm nước tiên
Thị phi phúc vẫn cười riêng một mình



MP
2013, Mồng một, Quý Tỵ.


P/s: Bói đấy...

Xem thêm:
- Tụng kinh ngồi
- Ta bà lục bát
- Nhân định và thiên lý
- Trường ca cá nước lợ
- Chúng ta là người thua cuộc



Friday, February 8, 2013

Nghĩ về dân chủ


Dân chủ là một phạm trù mang tính khách quan, là quá trình tất yếu phải có và là sự khát khao cháy bỏng của xã hội con người muốn đạt đến ... Nhưng nó không là sự áp đặt riêng của bất kì một ai cả.

Dân chủ không phải là sự tung bay của lá cờ này hay lá cờ nọ; không là sự đắc lợi của kẻ chiến thắng cầm quyền hay sự hận thù của kẻ chiến bại tha hương; không mang màu sắc cực đoan của tôn giáo này hay sự tín ngưỡng vị tha của tôn giáo kia ...

Dân chủ không phải là quân chủ lập hiến, cộng hoà, hay xã hội chủ nghĩa; không phải là một đảng, hai đảng hay là đa đảng ... Sự bất công và nghèo đói của người dân đều hiện hữu ở khắp mọi nơi trên trái đất này ...

Dân chủ không phải là sự rao giảng vênh váo của các nước cường quốc hay sự mặc cảm cúi đầu của các nước nhược tiểu; không phải là sự tham lam vô độ của các quan chức cấu kết cùng các nhà tài phiệt vét vơ cạn kiệt nhân lực lao động, tài nguyên trên trái đất này ...

Dân chủ không phải là sự hách dịch háo danh cơ hội hay là sự phản khán bất mãn thất sủng; không phải là giọng điệu của bọn bồi bút sợ đói cầu no hay là các cái máy đọc dáng người bọc véc-tông vô cảm; không phải là sự hài hước siêu tưởng của văn nghệ sĩ hay là sự chặt chẽ rõ ràng của nhà khoa học; không phải là cái dáng thư sinh nho nhã tỏ vẽ trí thức hay là cái khắc khổ bần cùng hùng hục lao động chân tay; không phải cách mưu sinh đánh giày, bán báo của trẻ mồ côi bên hè phố hay cách ném tiền thác loạn của cậu ấm cô chiêu mỗi khi buồn buồn; không phải sắc dục xóm điếm chân dài phết nước hoa hay luồn cúi phường cò mõm tru phun nước bọt ...

Dân chủ không phải là anh cảnh sát chốn đô thành hâu hấu truy tìm tội phạm hay là chàng quân nhân nơi biên giới mỏi mòn cơn khát bình yên; không phải là tù nhân ngày đêm chờ ân xá hay là con bệnh sáng tối chống chọi cơn đau; không phải là kinh ngiệm bảo thủ của tuổi già hay là năng động háo thắng của thanh niên ...

Dân chủ là sự đồng thuận của tất cả mọi thành phần đó. Nếu chỉ bo bo bảo vệ cái tôi của mình và phán xét không công bằng về người khác thì đã đi ngược lại tiến trình phát triển, điều đó, không những làm hại bản thân và chẳng đem lại lợi ích gì cho dân chủ.

Không thể dùng cái nhìn của Nguyễn Ánh rồi phán xét Nguyễn Huệ và ngược lại. Khách quan, đó là hai con người của lịch sử, có khuyết và có ưu ...

Dân chủ, có nghĩa là phải cho dân được mở miệng!
Hãy hỏi trực tiếp dân xem họ muốn gì, xin hãy một lần trưng cầu dân ý.

MP
03/03/2009

Xem thêm:
- Cảm xúc từ một lễ nhậm chức
- Khôn như thượng thư văn hóa
- Sự thịnh vượng hoang đường
- Tất niên Rồng lộn 2012 (máu có thể đổ nếu không khéo chống chèo)


Chim mồi

Một nửa ổ bánh mỳ vẫn là bánh mỳ
Một nửa sự thật thì không phải là sự thật!
...

Muốn bẫy những chú chim đang tự do vẫy vùng trên bầu trời bao la rộng lớn người ta có rất nhiều cách, nhưng lâu đời nhất, phổ biến nhất và hiệu quả nhất vẫn là biện pháp sử dụng đồng loại để bẫy đồng loại, tức là chim mồi.

Chim mồi là những con chim đã được thuần dưỡng vì nhiều mục đích khác nhau của chủ nó.

Một chủ chim có thể có rất nhiều chim mồi, và những chú chim mồi đó có thể biết hoặc chẳng bao giờ biết về nhau.

Chúng sống, tồn tại, vui buồn ra sao nhờ vào khã năng, sự tận tụy đối với chủ. Và thực tế, chưa hẳn chủ nó là người tử tế, thậm chí có thể là một kẻ đồi bại, ác nhân.

Đinh Tỵ

P/s: Nhắn với Kami - Người đưa tin, xà bông không nổi bọt tại vì đồ quá bẩn. 

Xem thêm:
- Trương Duy Nhất và Tom Cat
- Quan báo tào lao và công luận 'nhao nhao'



Sơ đồ blog

Tùy biến header toàn tập cho Blog

Trong quá trình thiết kế web hay blog chắc hẳn không ít bạn từng nghĩ đến việc chia header ra làm 2 3 phần gì đó hay chèn flash chèn nhạc vvv... vào header. Trong bài viết này mình sẽ đề cập đến cách thức làm việc của header blogger như thế nào và tùy biến header ra sao. Hy vọng sẽ giúp ích được cho các bạn

Những câu hỏi thường gặp với widget header.

1. Làm sao chia header ra làm 2 - 3 phần?
2. Làm sao chèn nhạc, flash vào header?
3. Làm sao gắng tiện ích khác (quảng cáo chẳng hạn) lên header?
4. Làm sao xóa header vì thấy nó thừa thải quá...
Giải đáp cho các câu hỏi đó của các bạn tại đây.
Phần 1: Nói về widget header của blogger.
Khi vào template của bạn , bạn sẽ thấy có 1 đoạn code tương tự như thế này.
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Viettin24h-Tin tức,Giải trí,Thủ thuật tổng hợp (Tiêu đề)' type='Header'/>
</b:section>
Dòng chữ mình tô đỏ sẽ khác nhau tùy blog. Đoạn code trên là đoạn code của widget header. Bài viết này chúng ta sẽ làm việc với nó đây. Mình tạm gọi nó là đoạn code A nha.
Khuyến cáo các bạn nếu muốn tìm hiểu thì nên tạo 1 trang blog mới. Xóa toàn bộ template và chỉ để lại cấu trúc cơ bản và widget header để tiện tìm hiểu.
Nếu lười thì tạo blog mới rồi copy toàn bộ đoạn code bên dưới về paste vào template ngồi tìm hiểu.
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<b:skin><![CDATA[
#box{background:red; margin:0 auto; text-align:center; }
]]></b:skin>
</head>
<body>
<div id='box'>
<b:section class='head' id='head' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Viettin24h-Tin tức,Giải trí,Thủ thuật tổng hợp (Tiêu đề)' type='Header'/>
</b:section>
</div>
<b:section class='sbar1' id='sbar1' showaddelement='yes'/>
</body>
</html>
Cấu trúc bên trên sẽ rất đơn giản. Bây giờ bạn vào chỉnh sửa mẫu bạn sẽ thấy đoạn code A trên sẽ xuất hiện rất nhiều code nhỏ trong đó. Nó sẽ có dạng giống giống như sau:
<b:section class='head' id='head' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Võ Quốc An Blog (Tiêu đề)' type='Header'>
<b:includable id='main'>

  <b:if cond='data:useImage'>
    <b:if cond='data:imagePlacement == &quot;BEHIND&quot;'>
      <!--
      Show image as background to text. You can't really calculate the width
      reliably in JS because margins are not taken into account by any of
      clientWidth, offsetWidth or scrollWidth, so we don't force a minimum
      width if the user is using shrink to fit.
      This results in a margin-width's worth of pixels being cropped. If the
      user is not using shrink to fit then we expand the header.
      -->
      <b:if cond='data:mobile'>
          <div id='header-inner'>
            <div class='titlewrapper' style='background: transparent'>
              <h1 class='title' style='background: transparent; border-width: 0px'>
                <b:include name='title'/>
              </h1>
            </div>
            <b:include name='description'/>
          </div>
        <b:else/>
          <div expr:style='&quot;background-image: url(\&quot;&quot; + data:sourceUrl + &quot;\&quot;); &quot;                        + &quot;background-position: &quot;                        + data:backgroundPositionStyleStr + &quot;; &quot;                        + data:widthStyleStr                        + &quot;min-height: &quot; + data:height                        + &quot;_height: &quot; + data:height                        + &quot;background-repeat: no-repeat; &quot;' id='header-inner'>
            <div class='titlewrapper' style='background: transparent'>
              <h1 class='title' style='background: transparent; border-width: 0px'>
                <b:include name='title'/>
              </h1>
            </div>
            <b:include name='description'/>
          </div>
        </b:if>
    <b:else/>
      <!--Show the image only-->
      <div id='header-inner'>
        <a expr:href='data:blog.homepageUrl' style='display: block'>
          <img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/>
        </a>
        <!--Show the description-->
        <b:if cond='data:imagePlacement == &quot;BEFORE_DESCRIPTION&quot;'>
          <b:include name='description'/>
        </b:if>
      </div>
    </b:if>
  <b:else/>
    <!--No header image -->
    <div id='header-inner'>
      <div class='titlewrapper'>
        <h1 class='title'>
          <b:include name='title'/>
        </h1>
      </div>
      <b:include name='description'/>
    </div>
  </b:if>
</b:includable>
<b:includable id='title'>
  <b:if cond='data:blog.url == data:blog.homepageUrl'>
    <data:title/>
  <b:else/>
    <a expr:href='data:blog.homepageUrl'><data:title/></a>
  </b:if>
</b:includable>
<b:includable id='description'>
  <div class='descriptionwrapper'>
    <p class='description'><span><data:description/></span></p>
  </div>
</b:includable>
</b:widget>
</b:section>
Trong đoạn code trên mình đã đánh dấu 1 số code màu đỏ. Nhìn đoạn code trên thì khá lằng nhằng cũng không cần hiểu nhiều làm gì. Mình xin giải thích đoạn code đó ngắn gọn dể hiểu là:
Nếu header có sử dụng ảnh làm nền thì set background-img của header là liên kết ảnh vừa ải lên. Xuất tên blog và mô tả blog ra header. Ngược lại nếu header không sử dụng ảnh thì xuất tên blog và mô tả blog ra header.
Mình chỉ dịch đại khái những dòng lệnh trên cho mọi người dể hiểu chứ không dịch sát nghĩa từng đoạn code nên đừng bắt lỗi chổ này làm gì nha.
Ý nghĩa của mấy đoạn code màu đỏ mình đã đánh dấu.
<div expr:style='&quot;background-image: url(\&quot;&quot; + data:sourceUrl + &quot;\&quot;); &quot;                        + &quot;background-position: &quot;                        + data:backgroundPositionStyleStr + &quot;; &quot;                        + data:widthStyleStr                        + &quot;min-height: &quot; + data:height                        + &quot;_height: &quot; + data:height                        + &quot;background-repeat: no-repeat; &quot;' id='header-inner'>
Tương đương với  
<div style='background-image:url(link_ảnh); background-position:...; background-repeat:no-repeat;' id='header-inner'>
<data:title/>: Xuất ra tên blog.
<data:description/>: Xuất ra dòng mô tả blog.
data:blog.homepageUrl: Xuất ra địa chỉ trang chủ.
Cơ bản header chỉ làm nhiêu đó việc thôi. Bây giờ đã nắm được cách làm việc của header rồi thì mình khuyến khích các bạn nên viết code header bằng tay mà không cần sử dụng đếnđoạn code A nữa. Và để làm được điều đó thì mình cần xác định là header của mình cần những gì.
Ví dụ: bạn muốn header của mình chỉ có tên blog và mô tả blog thì thay đoạn code A thành
<div id='blogheader'>
<div class='titlewrapper'>
Tên Blog Của Bạn.</div>
<div class='descriptionwrapper'>
Mô Tả (Slowgun) của blog. </div>
</div>
Xong chỉ việc cài thuộc tính css cho 2 class titlewrapper và descriptionwrapper và chèn trước thẻ ]]></b:skin> là xong.
Nếu muốn background của header có ảnh thì chỉ việc cài đặt css background:url(link_ảnh)cho id Blogheader là xong.
Nếu chưa biết về css thì bạn xem qua bài viết css căn bản.
Ưu nhược điểm của 2 cách làm trên.
     Về mức độ tiện dụng thì hiển nhiên là dùng widget có sẵn của blogger là tiện hơn rồi. Không cần phải hiểu nhiều gì về code.
     Còn về thời gian load thì dễ thấy rằng với cách code bằng tay khi load chỉ cần xuất ra 1 dòng chữ thay vì phải load 1 widget rồi phải xuất data từ widget đó ra. Mỗi widget tiết kiệm 1 chút thời gian thì blog của bạn sẽ nhanh hơn đáng kể đó.

Phần 2: Tùy biến header của blogger.
Như ban đầu mình đã đề cập. Làm sao để chia header ra 2 - 3 phần hoặc làm sao chèn flash, nhạc vào header sẽ được giải quyết trong phần 2 này.
Ví dụ: Mình muốn chia header ra 2 phần. Phần bên trái chứa tên blog, slowgun của blog. Phần bên phải chứa 1 bài nhạc. Cách làm như sau:
Tìm đến đoạn code A như mình đã nếu ở phần 1. Thêm vào trước vào sau đoạn code A theo mẫu sau:
<div class='header'>
<div class='header1'>
Đoạn code A
</div>
<div class='header2'>
Code của bài hát hoặc flash hoặc bất kỳ 1 đoạn code gì đó.
</div>
<div style='clear:both'/>
</div>
Mục đích của việc làm trên là tạo ra các module chứa các thành phần mình muốn thêm vào. Ví dụ ở trên là mình tạo ra module header chứa 2 module con là header1 và header2.
Tiếp theo là cài đặt css qui định chiều rộng chiều cao của các header trên và chèn trước thẻ]]></b:skin>. Đoạn css bên dưới là 1 ví dụ.
.header{
width:550px;
height:60px;
text-align:center;
box-shadow:1px 1px 3px 3px #666;}
.header1{
width:330px;
height:40px;
float:left;
padding:10px;
color:#333;}
.header2{
width:200px;
height:60px;
float:right;}
Cơ bản chỉ bao nhiêu đó thôi.
Lưu ý: trong demo bên dưới các class chứa css mình để bên trong thẻ <style type='text/css'>...</style> Khi đưa vào template thì bạn để các class phía trên thẻ ]]></b:skin> là được.
Chúc các bạn thành công .

Thursday, February 7, 2013

Phiếu bé ngoan

Thứ hai, Milô bắt đầu đi học mẫu giáo.
Cả nhà động viên, dỗ dành ... thằng nhóc đến trường phải ngoan, không được tinh nghịch, phá phách.

Ba mẹ hứa tặng cu cậu một chiếc xe ôtô có đèn nhấp nháy nếu được một phiếu bé ngoan. Ông bà nội hứa sẽ thưởng Milô mỗi phiếu bé ngoan là một chiếc máy bay nhựa ...

Milô im lặng ... đi học.
Ngày thứ bảy, Mi lô đem 10 cây kẹo vào lớp và dùng kẹo để đổi lấy 5 phiếu bé ngoan từ các bạn ...

Chủ nhật, ba mẹ tặng Milô một chiếc ôtô đồ chơi, ông bà nội thưởng cháu yêu một chiếc máy bay nhựa ... Thằng nhóc oà khóc và mếu máo rằng:

- Cháu được 5 phiếu bé ngoan ... cháu phải được 5 xe ôtô ... và 5 chiếc máy bay cơ.

MP

P/s: 
Việc xóa bệnh thành tích trong giáo dục chẳng ở đâu xa, đầu tiên là dẹp ngay cái hình thức Phiếu bé ngoan vớ vẫn, vô nghĩa này đi.


Xem thêm:
- Họp phụ huynh
- Nghe lại tiếng chửi
- Chợ đời nhốn nháo nói leo
- Phá vỡ sự bình yên

Ngắm tranh trong khi đại tiện

Ai đời, vàng không được định giá bằng tuổi lại phải định giá nó bằng SJC


Cách đây mười mấy năm, trong nhà tôi có treo một bức tranh.

Bức tranh treo trong phòng vệ sinh để mỗi khi vào đó tôi có thể vừa trút bầu tâm sự, vừa ngẫm nghĩ tìm hiểu làm sao có thể có một sự việc lạ và khó hiểu như vậy, tuy rằng trút bầu tâm sự là một nhu cầu sinh học tự nhiên của thể xác, hoàn toàn không liên can gì tới sự vận hành phức tạp của tư tưởng. Bức tranh gồm có hai tờ giấy bạc 30 đồng của nước Cộng hoà Xã hội chủ nghĩa Việt Nam in năm 1981 và 1985. Từ khi có bức tranh, tôi hay suy nghĩ và thỉnh thoảng cứ nấn ná thêm vài giây trong phòng vệ sinh (là chỗ đáng lẽ không nên ở lâu, nhưng quả tình tôi không biết treo bức tranh này nơi nào khác trong nhà).

Điều băn khoăn của tôi là người ta sẽ xếp bao nhiêu tờ 30 đồng để được một xấp có giá trị chẵn 100, hay 1000, hay 1 triệu... trong hệ thống thập phân cho thuận tiện với công việc của ngành ngân hàng, tài chính, hay mọi sinh hoạt liên quan đến tiền bạc. Đôi khi tôi suy luận: nguyên do là, khoảng đầu thập niên 1980, nền kinh tế của nước Cộng hoà Xã hội chủ nghĩa Việt Nam chịu sự chỉ đạo của một nhà thơ cấp trung ương quyền năng bao trùm trời đất. Và khi nhà thơ đi làm kinh tế thì chuyện gì cũng có thể xảy ra theo trí tưởng tượng phong phú vốn có của các nhà thơ nói chung, và tờ 30 đồng là biểu hiện cụ thể của tài năng về mặt chính sách kinh tế của nghề làm vè cổ động của nhà thơ này nói riêng. Và chẳng những một lần rồi thôi, hai tờ giấy bạc phát hành cách nhau bốn năm, có lẽ không ai trong bộ máy nhà nước đả động gì đến cái mệnh giá vượt ngoài sức tưởng tượng của nó. Hay thiên hạ biết mà mặc kệ, vì chẳng tội vạ gì nói ra nói vào, làm phiền lòng nhà thơ quyền uy lẫm liệt, để rồi có ngày mang lụy!

Một anh bạn gốc Miến Điện rất tếu táo của tôi kể rằng bên xứ anh hồi cuối thập niên 1980 cũng phát hành tờ giấy bạc 3 đồng. Tôi nhờ anh này tìm cho những tờ bạc đó để có bằng cớ chứng minh rằng trong cõi thế gian rất nhiều chí lớn gặp nhau. Nhưng tôi ngờ rằng anh ta chỉ ba đía, ba xạo, nói cho vui trong đám bạn bè, vì anh ta cứ khất lần chẳng thấy đưa. Rồi từ đó mỗi ngày tôi ngắm bức tranh của nền cộng hoà xã hội chủ nghĩa vài lần, tùy theo bụng dạ có óc ách hay không. Nhiều khi tôi cứ ngẩn người ngồi ngắm tranh và suy nghĩ, quên mất nhiệm vụ hiển nhiên khi vào phòng vệ sinh. Bức tranh dường như ngày càng trở thành một mối ám ảnh không ổn và bất lợi cho bộ máy tiêu hoá.

Một người bạn lớn tuổi thấy tôi cứ nhùng nhằng như thế nên anh í tội nghiệp, và cũng có ý để tôi bớt ở lâu trong phòng vệ sinh, nên đã tìm ra một lý do rất thuyết phục cho sự việc tờ giấy bạc 30 đồng như sau: “Thì khi tao đi chợ mua món hàng 70 đồng, tao đưa 100 đồng, người bán hàng thối lại một tờ 30 đồng chẵn chòi, tiện lợi, khỏi cộm túi chứ sao”. Eureka! Có lẽ ông Archimedes khi thấy ông ấy nổi lềnh bềnh trong bồn tắm để trở thành nhà vật lý đại tài cũng chưa chắc đã hạnh phúc như tôi sau khi nghe bạn mình lý giải. Vì thế tôi đặt tên cho bức tranh trong phòng vệ sinh của mình là “... Trí tuệ”, với đầy đủ hai dấu ngoặc kép và ba dấu chấm.

Nếu câu chuyện đến đây là chấm hết thì cũng chẳng có gì. Nhưng cuộc sống không đơn giản và thường có những thứ lắt nhắt làm mất vui.

Một hôm, một anh bạn khác đến chơi và cũng cần trút bầu tâm sự. Sau khi thoải mái xong, anh bước ra tưởng rằng vẻ mặt hớn hở, nhưng té ra rất nghiêm trọng và bảo tôi: “Mày là CS!” Khi ấy trời long đất lở, núi St. Helens phun lửa, cơn bão Katrina đổ ập vào, lốc xoáy nhổ tung những cây đại thụ trong công viên quốc gia, sóng thần dâng lên ngập kinh đào Panama và kinh đào Suez, tháp Eiffel nghiêng ngửa như tháp Pisa. Sau khi định thần, nghĩa là thấy trời đất yên tĩnh trở lại, tôi bèn hỏi anh bạn công an chính trị không nhiệm sở nhưng có mặt khắp xó mọi nơi trên thế giới: Vì sao có chuyện kinh khủng như thế? Anh ấy phán: “Treo hình ... trong nhà có nghĩa mày là CS”. Tuy hiểu chữ CS rất khác với anh bạn thánh sống toàn trí toàn năng này, nhưng tôi biết anh ta muốn nói đại khái rằng tôi là một thứ xấu xa ghê tởm lắm. Tôi cảm thấy nghẹt thở, vội vàng vào phòng vệ sinh rửa mặt cho tỉnh táo lại, và khi nhìn lên thì đúng thật, trời ơi: Tôi treo hình ... trong nhà! Không những một, mà những hai tấm hình. Từ đó tôi cất bức tranh đi để cuộc sống bớt ngột ngạt.

Nhưng thỉnh thoảng lại lôi ra ngẫm nghĩ.

Phạm Ngũ

P/s: Ở đời, chẳng có cái "dại" nào giống cái "dại" nào?

Xem thêm:
- Tại vì quan ngu, rất ngu!
- Tiết kiệm Thủ tướng
- Sự thịnh vượng hoang đường
- Tổ cha tụi bây, chỉ được cái ồn ào!