Tag Archives: language

PHP 的 Unquoted Strings 將在 PHP 8 被移除

Twitter 上看到 PHP 的 unquoted string 被視為字串的功能將被移除:「PHP RFC: Deprecate and Remove Bareword (Unquoted) Strings」。 常見的情境是 $_GET[bar] 這樣的用法被視為與 $_GET["bar"] 相同... 超奇怪的功能,而現在這個功能已經投票通過,將會在 7.2 被列為 deprecated,到 8 就會拿掉。 這個功能本來是標示 E_NOTICE,但比較特別的是,雖然是列為 deprecated,PHP 7.2 預定會標示為 E_WARNING 而不是 E_DEPRECATED。主要是這次的兩個目標互相衝突 (可以參考原文),取比較有效的那個 (因為 PHP 8 就不會有這個問題了,所以 PHP 7.2 … Continue reading

Posted in Computer, Murmuring, Programming, Security | Tagged , , , , , , , | Leave a comment

用程式自動同步字幕與聲音

在 Hacker News 上看到的專案,readbeyond/aeneas: aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment). 馬上想到的是... 這根本就是字幕組的福音 XDDD 支援的語言: Confirmed working on 38 languages: AFR, ARA, BUL, CAT, CYM, CES, DAN, DEU, … Continue reading

Posted in Anime, Computer, Movie, Murmuring, Recreation, Software, Television | Tagged , , , , , , | Leave a comment

「從 X 語言轉換到 Y 語言」的研究

算是個有趣的研究,看看就好:「The eigenvector of "Why we moved from language X to language Y"」。 作者先用 Google 搜尋拉出數量: 但這個方法少了保留在原語言的資料,所以後面看看就好 XD 接下來是轉換成 stochastic matrix (真是讓人懷念的東西...): 最高的幾個語言是 Golang、C 與 Java,不過如同前面講的,因為少了留在原語言的資料,看看就好不用當真...

Posted in Computer, Murmuring, Programming | Tagged , , , | Leave a comment

Ruby 2.4 中 Hash Table 的效能改善

前幾天 Ruby 推出了 2.4.0 (Ruby 2.4.0 Released),其中特別被拿出來提的:「Introduce hash table improvement (by Vladimir Makarov)」。 討論串很長而且歷時很久,但可以看出來方向是提高 CPU cache 效率: Modern processors have several levels of cache. Usually,the CPU reads one or a few lines of the cache from memory (or another level … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , | Leave a comment

Amazon Polly 與 Amazon Lex:人機介面中的語音處理

AWS 這次推出的這兩個服務剛好成對:「Amazon Polly – Text to Speech in 47 Voices and 24 Languages」、「Amazon Lex – Build Conversational Voice & Text Interfaces」。 Amazon Polly 負責把文字唸出來變成語音,而 Amazon Lex 則是將語音辨識回文字,不過目前都還不支援中文... 但畢竟讓 user interface 這塊變得更親民了,算是基礎建設中服務,讓 startup 專心在產品本身上。

Posted in AWS, Cloud, Computer, Murmuring, Network | Tagged , , , , , , , , , , , , | Leave a comment

PHP 的 JIT 翻修計畫

在「JIT for PHP project」這邊看到 PHP 新的翻修計畫: I'm glad to say that we have started a new JIT for PHP project and hope to deliver some useful results for the next PHP version (probably 8.0). We are very early in the … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , | Leave a comment

分析 GitHub 上的 Tab 與 Space

作者用 BigQuery 分析了 GitHub 上的 Tab 與 Space 的差異 (是個 flame war 開始的節奏 XDDD):「400,000 GitHub repositories, 1 billion files, 14 terabytes of code: Spaces or Tabs?」。 可以看到除了 C 與 Go 以外,大多數的程式語言都是 Space > Tab。另外在文章下面也有使用的 BigQuery 指令可以參考。

Posted in Cloud, Computer, Database, Murmuring, Network, Programming, Software | Tagged , , , , , , , , , | 3 Comments

Golang 1.7

Golang 1.7 主打更小的 binary size:「Smaller Go 1.7 binaries」: Typical programs, ranging from tiny toys to large production programs, are about 30% smaller when built with Go 1.7. 還附了一張經典的「Hello, world」程式的分析: 由於現代 CPU 的速度與 L1/L2/... cache 有緊密關係,當 binary size 變小時,常常會伴隨著 memory access … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , | Leave a comment

在 C 裡 Concurrency 的 Library

看到「libdill: Structured Concurrency for C」這個東西,在 C 裡實作了兩個不同種類的 concurrency,一個是 proc (process-based) 一個是 go (corouting-based)。 支援的 function 算是蠻清晰的,範例也很清楚: #include <libdill.h> #include <stdio.h> #include <stdlib.h> coroutine int worker(const char *text) { while(1) { printf("%s\n", text); msleep(now() + random() % 500); } return 0; … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , , , , | Leave a comment

用 JavaScript 寫的 NLP Library

nlp-compromise/nlp_compromise 是一個 JavaScript 寫的 NLP library,網頁上給的用法也很特別... 過去式: nlp.text('She sells seashells').to_past() // She sold seashells 複數形: nlp.noun("dinosaur").pluralize(); // "dinosaurs" 還有這種用法: nlp.statement('She sells seashells').negate().text() // She doesn't sell seashells 也有這種用法: nlp.sentence('I fed the dog').replace('the [Noun]', 'the cat').text() // I fed the cat … Continue reading

Posted in Computer, Murmuring, Programming, Science, Social, Software | Tagged , , , , , | Leave a comment