Trac 1.2 上惡搞 TracTicketReferencePlugin 讓他會動...

TracTicketReferencePlugin 是個 Trac 上設定 ticket 之間關聯性的 plugin,與子母票有比較強烈的關係不同,有些人喜歡把相關的資料都掛在這邊。先前用都是在 Trac 1.0 上用,也沒什麼問題,最近在 Trac 1.2 上跑發現直接有 js error...

原因是 TracTicketReferencePlugin 用到 jQuery.live(),而這個函式在 jQuery 1.7 被宣告 deprecated,在 jQuery 1.9 被正式拔掉了。而 Trac 1.0 用的是 jQuery 1.7,所以不會有問題;Trac 1.2 用的是 jQuery 1.12,於是就爛掉了...

剛好就是昨天,有人在作者的 repository 上發 issue 出來 (另外也提供了 patch):「t2y / trac.plugins.ticketref / issues / #9 - JavaScript errors with Trac 1.2 — Bitbucket」。雖然 patch 本身不算難,但我實在懶的查 Mercurial 的操作,於是決定用 workaround 解...

想法是讓 jQuery.live() 會動,這點在 jQuery 官方出的 Migrate 就可以達到 (需要用 1.4.1 版,而不是 3.0.1 版),於是第一步就是在 site.html 內直接先下手為強,讀 jQuery 後馬上讀 Migrate:

  <!--! Add site-specific style sheet -->
  <head py:match="head" py:attrs="select('@*')">
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>
    ${select('*|comment()|text()')}

但 Trac 還是會再載入一次的 jQuery 而蓋過去,所以我們要讓 Trac 不會載入,在 trac.ini 內的 jquery_location 設定讓他讀一個空的 js 檔:

jquery_location = site/null.js

然後生一個空的 trac/htdocs/null.js 讓他讀。

最後開一張票追蹤,看什麼時候官方放新版,再把這串 workaround 拔掉...

AWS Media Services 推出一卡車與影音相關的服務...

AWS 推出了一連串 AWS Elemental MediaOOXX 一連串影音相關的服務:「AWS Media Services – Process, Store, and Monetize Cloud-Based Video」。

但不是所有的服務都是相同的區域... 公告分別在:

不過這邊還是引用 Jeff Barr 文章裡的說明,可以看到從很源頭的 transencoding 到 DRM,以及 Live 格式,到後續的檔案儲存及後製 (像是上廣告) 都有:

AWS Elemental MediaConvert – File-based transcoding for OTT, broadcast, or archiving, with support for a long list of formats and codecs. Features include multi-channel audio, graphic overlays, closed captioning, and several DRM options.

AWS Elemental MediaLive – Live encoding to deliver video streams in real time to both televisions and multiscreen devices. Allows you to deploy highly reliable live channels in minutes, with full control over encoding parameters. It supports ad insertion, multi-channel audio, graphic overlays, and closed captioning.

AWS Elemental MediaPackage – Video origination and just-in-time packaging. Starting from a single input, produces output for multiple devices representing a long list of current and legacy formats. Supports multiple monetization models, time-shifted live streaming, ad insertion, DRM, and blackout management.

AWS Elemental MediaStore – Media-optimized storage that enables high performance and low latency applications such as live streaming, while taking advantage of the scale and durability of Amazon Simple Storage Service (S3).

AWS Elemental MediaTailor – Monetization service that supports ad serving and server-side ad insertion, a broad range of devices, transcoding, and accurate reporting of server-side and client-side ad insertion.

引個前同事的 tweet,先不說 Amazon SWF 的情況 (畢竟 Amazon SWF 還可以找到其他用途),倒是 Amazon Elastic Transcoder 很明顯要被淘汰掉了:

這種整個大包的東西是 AWS re:Invent 才有的能量,平常比較少看到...

YouTube 開始與內容商合作,推出 YouTube TV 服務

YouTube 推出 YouTube TV 服務:「Finally, live TV made for you」。

直接打了幾個大頻道,尤其是運動類的頻道:

Live TV streaming from ABC, CBS, FOX, NBC, ESPN, regional sports networks and dozens of popular cable networks.

比較完整的頻道資訊可以參考這張:

可以錄影:

A cloud DVR, with no storage limits.

跨電腦、平板與手機:

A service that works great on all your screens.

價錢也只有目前常態性的一半 (相較於買比較完整的 cable 方案),USD$35/month,而且不用簽長期合約:

Half the cost of cable with zero commitments. A YouTube TV membership is only $35 a month and there are no commitments—you can cancel anytime.

這的確有殺傷性了... 加上 YouTube 的需求所累積的頻寬,應該會比起 Netflix 當時遇到的問題少?

Mark Callaghan 講最近的 MySQL 的行銷活動...

Mark Callaghan 這篇倒是沒提到什麼技術的東西,主要是講最近 MySQL 的兩大 conference,一個是 OracleOracle Open World,另外一個是 PerconaPercona Live Amsterdam 2016,然後用了 benchmarketing 這個酸酸的詞 XDDD:「Peak benchmarketing season for MySQL」。

裡面有些也很有趣的東西:

My joke is that each of these makes a different group happy: performance -> marketing, usability -> developers, manageability -> operations, availability -> end users, efficiency -> management.

另外提到了 RocksDB 建出來的 MyRocks 在 memory fit 時可能會比 InnoDB 還要好:

One last disclaimer. If you care about read-mostly/in-memory workloads then InnoDB is probably an excellent choice. MyRocks can still be faster than InnoDB for in-memory workloads. That is more likely when the bottleneck for InnoDB is page write-back performance. So write-heavy/in-memory can still be a winner for MyRocks.

這就有趣了,找個時間來測試看看...

Comodo 發出微軟 live.fi 的 SSL Certificate...

在「Microsoft Blacklists Fake Finnish Certificate」這邊看到出包,引用的報導來自「Microsoft Blacklists Fake Certificate」,微軟的安全性通知則是在「Microsoft Security Advisory 3046310 (Improperly Issued Digital Certificates Could Allow Spoofing)」這邊。

原因是因為 hostmaster 這個使用者名稱沒有擋下來不讓使用者註冊:

In fact, he reports that he was able to register the alias "Hostmaster@live.fi", which he then used to obtain a legitimate HTTPS certificate for Live.fi via Comodo, which is the world's largest digital certificate authority.

這件事情拉出了對於「認證」一直沒有標準可以遵循的問題,大致上只有「RFC 2142 - Mailbox Names for Common Services, Roles and Functions」有列出一些常用的 username,其他的就沒印象了。CA/Browser Forum 不知道有沒有對應的標準...

Open Source 版本的「不重開機更新 Linux Kernel」,kSplice 的替代方案

一般的 Linux Kernel 更新需要重開機,其中有個商用方案 kSplice 可以做到這點,不過這需要付錢給 Oracle

Slashdot 上看到 Live Patching 功能的 Open Source 方案前進了一大步:「Live Patching Now Available For Linux」,對應的 Git 記錄在「Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching」這邊。

RedHatSUSE 都各自實做了對應的版本,而這次 Linus 是在 Kernel 內引入對應的 API,讓 Userland 的程式可以實現對應的功能:

It provides a basic infrastructure for function "live patching" (i.e. code redirection), including API for kernel modules containing the actual patches, and API/ABI for userspace to be able to operate on the patches (look up what patches are applied, enable/disable them, etc).

可以馬上想到的是,之後更新 MySQL 就不用重熱 InnoDB 的 data 了,來繼續關注進展...

在 Flash 上播 HLS...

靠的是「Apple’s HTTP Live Streaming (HLS) in Flash !」這篇「2014/02/12 的 comment」解的 (不是原文內的方法)。

專案在 GitHub 上:「HLSProvider is a Flash/AS3 plugin that plays back HLS streams」。

使用方式與範例可以在「HLSprovider/test/flowplayer at master · mangui/HLSprovider」這邊翻到,直接看 index.html,並且把 swf 檔弄出來就可以動了。

不過實際測試發現 buffer 的部份好像處理的不是很好... 但至少有東西可以用了 :o

Percona 十一月在倫敦辦的 Percona Live London 2013 放出投影片了...

Percona 十一月在倫敦辦的 Percona Live London 2013 在「Download insightful MySQL presentations from Percona Live London 2013」這邊可以看到各個 talk 的下載連結。

裡面包括基礎與進階的都有,另外當然就夾雜著一些廣告性質的 talk :p

剛剛先翻了一下,量好像有點多...

Kalafina 在高千穗大學辦的學園祭上的 Live...

Update:Hikaru 在 Kalafina 的官方網誌上寫了一篇「『学生さんパワー!!』」,裡面有很多學園祭 Live 的事情。

先前聽過三場 Kalafina,分別是 2010 年在台灣辦的兩場 Live (分別在 Y17 與華山),以及今年 (2013) 年初在 Shibuya O-EAST 辦的「Kalafina 5th Anniversary LIVE “oblivious”」(這場還在 Kalafina Live 散場後遇到一起來聽水樹 LIVE GRACE OPUS II 的台灣人,不過這是題外話了...),所以每次當 Kalafina 有 Event 或是 Live 時就會看看有沒有機會衝。

剛好看到 Kalafina 受邀參加高千穂大学的學園祭,辦的日期是在員工旅遊的時間內,就請當時在日本出差的同事去 セブン-イレブン (7-11) 弄了兩張票:(運氣算不錯,有訂 blog 看到「Christmas Live、学園祭Live決定!!」這篇)

由於這次跟同事一起去,到現場不像年初的時候找地圖迷路找很久 (Shibuya O-EAST 在山坡上,上去的時候還懷疑自己是不是走錯...),從飯店坐地鐵再轉 JR 京王線就可以到最近的車站,然後從車站出來後,路上有插高千穗祭的旗幟,所以就沿著旗幟與人群走,還蠻好找的。

也因為 Live 的時間是學員祭其他活動都結束的時間,進門後直接往人群處走就會到體育館了...

這是外面海報的樣子,拍的時候是 Live 結束的時候 (大約晚上七點多),因為沒控制好,所以看起來像白天...:

這張看起來就會比較像是在晚上拍的:

Live 的歌單在 Twitter 上有人有發表了:

整場 Live 只有 80 分鐘,場地大約是一千人到一千五百人的規模。雖然在體育館內,而且偶而還是會有 echo,但這是第一次看 Kalafina 唱學園祭,沒看過唱的這麼 high 的 Keiko 啊,有種先喝了兩杯再上的感覺... XD

現場很明顯有很多是常跑 Kalafina Live 的 fans,前奏一出來就知道要打什麼 call 的,不過大多數人還是不清楚,就在旁邊看著他們打 :p

比較特別的是《アレルヤ》,這是《空の境界 未来福音》的主題曲,剛好前一天跟同事跑去看了電影,所以所有的歌曲都還算熟悉...

結束後除了上面貼的那幾張以外,還拍了一些學園祭相關的... 這是出去的時候拍的入口:

這次學園祭的 Live 是個很特別的經驗,有機會應該會再衝 :p