2011年7月30日 星期六

一個圓謊圓了六年卻又不能戳破的祕密...

作者 FeAm (冷作絕望)
看板 Gossiping
標題 Re: [新聞] 一個圓謊圓了六年卻又不能戳破的祕密...
時間 Fri Jul 29 17:22:09 2011
───────────────────────────────────────

※ 引述《hedonic (黑東尼克)》之銘言:

http://www.youtube.com/watch?v=Jcs7hA5iwZE

片長實在太長,以下是幫沒時間看的人做簡單懶人包


1. 高致病性禽流感病毒 H5N1, H5N2 已經 " 在地化 "
結合在一起變成新種變種病毒

2. 禽流感病毒已傳染給豬隻 (達14.9%)
只要傳染給豬隻代表有可能從豬身上繼續傳染給哺乳類

3. 學者調查台灣北中南的養雞場 " 工作人員 "
其中有 20% 的人對禽流感血清疫苗產生陽性反應
20% 之中更有 66 個人確定已經感染 H5N2



事件部份:


1. 早在2004年、2006年就發現禽流感疫情,也有媒體報導
但政府都用「是候鳥傳染」當作藉口,在媒體面前上演清洗電線桿的可笑戲碼

2. 2006年為了加入WHO,為了把「積極防治禽流感」當作入會宣傳
明明疫情已爆發卻不敢聲張怕沒辦法入會

3. 學者提出學術研究報告,卻因為出資者是農委會,不敢聲張
該份報告也被河蟹,農委會檢驗所的紀錄消失無蹤

4. 雞農困於每次發生疫情都會被撲殺加上雞價掉落,不敢直言
但私底下自己都會接種疫苗讓死亡率降低
這種做法卻變成另一種傳染源,讓雞隻感染率大增
( = 我們吃的雞可能都是遭受過感染的病雞)

5. 導演長期自行解剖雞隻,自行送檢驗所追蹤
並有一些被政府隱匿的證據報告是由匿名者提供

6. 2008年五月(馬政府初上任)發生六萬隻雞暴斃事件
農委會告訴媒體這不是H5N2禽流感而是另一種「新城病毒」
但防檢局又發了篇新聞稿說「不是新城雞瘟,原因不明」
真正的答案是變種病毒

7. 然而台灣沒有回報給OIE(世界動物衛生組織)任何情報
農委會反而在12月把「新城病毒」從甲級降到乙級

8. 2010年一月發生大量疫情,發現H5N2
家畜衛生所連續做了兩次試驗,檢測後發現28間養雞場都呈現陽性反應
指數都遠遠超過國際標準(測出:2.54 vs. OIE:1.2)

9. 2010年五月媒體舉發,農委會卻全部否認
告訴大家「這是低病原,沒有人死掉就代表不嚴重」
檢驗報告卻被列為「公務機密」不讓外部檢閱

10. 導演訪問農委會防疫檢驗局局長
局長表示「沒有大量的死亡疫情報告,不算有病毒」

11. 農委會私底下開了兩次會議和眾學者 "商量" 兩次試驗該怎麼辦
與會者包括台大獸醫系教授等等,眾學者卻同意:

12. 為了掩蓋疫情,農委會竟然想出「獨步全球的檢驗實驗」
重新買了六十隻中雞想做出新的實驗報告
讓指數掉回正常值再回報給OIE
(現在OIE官方網站上面台灣的正常數字正是這份 "新" 報告)

13. 導演和記者分別打電話給當時的參與學者,所有的學者都推說不清楚不知道
紀錄片後半段就是當時參加會議時的所有人全部都在推托的電聯紀錄...
而經調查當時與會教授大半都有拿政府的補助經費...

14. 家畜衛生實驗室所長承認做了六十隻中雞的實驗
也承認沒把最之前所作的兩次指數超常的報告交給OIE
對於屏東大量雞隻死亡的案件,卻告訴導演「你先把攝影機轉掉」

15. 六年來跨越兩大政黨輪替的禽流感
從一開始的低致病性,演變成高致病性
最後演變成台灣官員篡改數字交給國際組織聲稱一切沒問題
成為不能戳的祕密



片尾導演告訴大家可從蛋價來判斷禽流感是否正在發生

感謝 ic6413 的解說:

影片是說禽流感發生 >> 產蛋率下降
蛋雞不大會有雞隻死亡,因為關在籠子裡傳染得慢

若一天沒有人敢說真話,民眾始終要自求多福...


收到詢問信,轉載不用附ID還請直接轉錄

Plurk用文字頁面:http://paste.plurk.com/show/582040/



※ 引述《madaco (忘記如何說話...)》之銘言:
: 卦在哪???
: 在這...
: http://tw.nextmedia.com/animation/h1n1
: 尤其是後面那段
: 防疫部門竄改防疫標準

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.27.110.3

2011年7月20日 星期三

Optimizing VBA

資料出處: http://www.cpearson.com/excel/optimize.htm

This page lists some suggestions and strategies for optimizing your Visual Basic For Applications (VBA) code, so that it will run faster.   There are few absolute rules for optimizing VBA;  you'll see the best increases in performance by streamlining the basic logic.

        
Accessing Cells In A Range


You do not need to use the .Cells method to access specific cells in a range.  For example, you can use


Range("MyRange")(1,2)   rather than
Range("MyRange").Cells(1,2)



See Alan Beban's explanation of this method for more details.
Related to this is the shortcut method of refering to cells.  VBA will allow you reference cells with [A1] rather than Range("A1"). While the [A1] syntax is easier to type, it is slower to execute than the Range("A1") syntax.

Calculation Mode


Normally, Excel will recalculate a cell or a range of cells when that cell's or range's precedents have changed.  This may  cause your workbook to recalculate too often, which will slow down performance.  You can prevent Excel from recalculating the workbook by using the statement:


Application.Calculation = xlCalculationManual
At the end of your code, you can set the calculation mode back to automatic with the statement:


Application.Calculation = xlCalculationAutomatic
Remember, though, that when the calculation mode is xlCalculationManual, Excel doesn't update values in cells.  If your macro relies on an updated cell value, you must force a Calculate event, with the .Calculate method, which may be applied to either a specific range (Range("MyRange").Calculate) or to the entire workbook (Calculate).

Collection Indexes


An individual item of a collection object may be accessed by either its name or by its index into the collection.  For example, if you have three worksheets ("Sheet1", "Sheet2", and "Sheet3")  in a workbook ("MyWorkbook"), you can reference "Sheet2" with either


Worksheets("Sheet2")  or
Worksheets(2)
In general, the index number method (Worksheets(2)) is considerably faster than the index name method (Worksheets("Sheet2")).
However, the number and order of items in a collection may change, so it is usually safer and easier to refer to items in a collection by their name, rather than their index number.
Constants


Whenever you can, declare values as constants, rather than variables.   Since their values never change, they are evaluated only once when your code is compiled, rather than each time they are used at run time.

Early Binding

This is closely tied with Specific Object Type Declaration.  If you're going to work with another application, such as Word, declare your OLE object directly, rather than as an Object type variable.  By doing so, a great deal of overhead is done at compile time ("Early Binding") rather than at run time ("Late Binding").   For example, use
Dim WordObj As Word.Application        rather than
Dim WordObj As Object
FOR EACH Loops


When looping through a collection it is usually faster than the FOR EACH statement rather than using the index.  For example, the first code loop is faster than the second:
Dim WS as Worksheet
For Each WS In Worksheets
    MsgBox WS.Name
Next WS
Dim i as Integer
For i = 1 To Worksheets.Count
    MsgBox Worksheets(i).Name
Next i

Range Objects Not Selection Object


Generally, it is not necessary to select a range before working with it.  For example, it is more efficient to use

Range("A1").Font.Bold = True



Rather than

Range("A1").Select
Selection.Font.Bold = True

Screen Updating


You can turn off screen updating so that Excel does not update the screen image as your code executes.  This can greatly speed up your code.

Application.ScreenUpdating = FALSE
Be sure to restore the setting to True at the end of your macro.  Older version of Excel would automatically restore the setting; Excel97 does not.

Simple Objects Rather Than Compound Objects


If you've got to make repeated references to an object, such a range, declare an object of that type, set it to the target object, and then use your object to refer to the target.   For example,

Dim MyCell As Range
Set MyCell = Workbooks("Book2").Worksheets("Sheet3").Range("C3")
'....
MyCell.Value = 123


By referring directly to MyCell , VBA can access the object directly, rather than resolving the complete path to the object each time.  This method is useful only when you are accessing an object several times during code execution.


Specific Object Type Declaration


If possible avoid using the Object or Variant data types.  These data types require considerable overhead to determine their types.  Instead, use explicit data types, such as

Dim MySheet As Worksheet
  rather than

Dim MySheet As Object  
Or
Dim NumRows As Long rather than
Dim NumRows As Variant
This is especially true with index variables in For Next loops, since a Variant type has to be re-evaluated each iteration of the loop.

WITH Statements


If you are using several statement in a row that apply to the same object, use a WITH statement, rather than fully qualifying the object each time.  For example,

With Worksheets("Sheet1").Range("A1")
    .Font.Bold = True
    .Value = 123
End With




Worksheet Functions


You can use Excel's standard worksheet functions in your VBA code, rather than writing the functions in VBA.  Since these are fully executable instructions in native code, rather than interpreted VBA code, they run much faster.  For example, use


MySum = Application.WorksheetFunction.Sum(Range("A1:A100"))   


rather than

For Each C In Range("A1:A100")
    MySum = MySum + C.Value
Next C