hoamon's sandbox

"sandbox" is a jargon of Version Control System.

毫無根據的事實

年輕時跟人合宿,莫名發現有些人會堅持奇怪的習慣。室友會強迫跟他出門的男生,一定要左腳跨出門檻,女生則是要右腳跨出門檻,理由是這樣做才會保證他此次出門的安全。我忘了他說是那位神尊從小給的指示。

有些同伴會順著他的規矩,用對的腳跨出門,但有些人就是天生反骨,硬跟他唱反調。那他總不能搬著別人的腿過門檻! 這有犯強制罪的嫌疑,所以,他的處理之道就是: 把門關上,重新開門,自己用對的腳跨出門檻,跨完後直接把門關上,這樣,後續再出門的人就跟他是「不同次」出門的人,前人及後人的安全與否就跟他本人無關了。

../../../_images/IMG_8028.JPEG

而其他毫無根據的事實:

  • 中共武力侵略台灣,是因為台灣搞台獨
  • 香港回歸無法維持「馬照跑、舞照跳」五十年,是因為香港不愛國
  • 新彊有再教育營,是因為維吾爾人不像中國人

Read more...


2025 立法委員大罷免

2025 年初,台灣掀起一股罷免眾多素質差立法委員的活動,至 4 月 5 日止,共有 47 名立法委員的罷免案進入第二階段的連署程序。

如此多的罷免立委成案,遠因是 2024 年中,中華民國立法院通過多項事後被中華民國憲法法庭宣告違憲的法案:

  • 立法院職權行使法
    1. 立法院要求總統至立法院國情報告,須即面即答或限期內要求總統書面回覆
    2. 官員反質詢所衍生的行政罰鍰、懲戒甚至刑事責任
    3. 部份人事同意權的審查程序
    4. 政府機關或公務人員於立法院調閱文件、資料及檔案時拒絕、拖延或隱匿不提供者,得經立法院院會決議,移送監察院糾正、糾舉或彈劾
    5. 法人、團體或社會上有關係人員於立法院調閱文件、資料及檔案時拒絕、拖延或隱匿不提供者,得經立法院院會決議處罰鍰的規定
    6. 超出立法院職權的調查與聽證權
  • 刑法
    1. 藐視國會罪
../../../_images/2025_Big_Recall.JPEG

在違憲法案制定過程中,多項「不合理、不民主」的立法程序,雖未被憲法法庭宣告違憲,但在意見書中說明,這些「不合理、不民主的立法程序」並不歸憲法約束,是由立法委員的選民約束,民主選出的立法委員在國會以不民主方式執行立法,那是「民主」的事,不是「憲法」的事。白話講: 依選舉罷免法選舉出來的立法委員,當人民無法接受這些不民主的立法委員,當依選舉罷免法來罷免 ,不是由憲法法庭判決他們失格。

Read more...


笨蛋能不碰政治!?

自小就是個閱讀狂,沒事就是看路上招牌,不然國語日報也能一天看三遍。後來更是中時、聯合、中時晚報、聯合晚報、自由時報都看,算是了解中國政治,直到高中,台獨思想才漸漸萌芽,但到了大學又開始過渾渾噩噩的生活,只愛談錢不談政治,當時,聽李前總統登輝先生講二二八的事,起初我還不相信,心想,我都看幾年新聞、報紙, 從來沒聽過這種事,這怎麼可能! 直到詳細了解白色恐怖,才懂得。

../../../_images/IMG_7925.JPEG

年輕時,總覺得「不碰政治」的人,只能是笨蛋,因為政治得有些基礎才能碰,談論政府作為,得先懂得人民與政府之間的權利、義務關係(憲法)、家門外的公共事務是屬中央或地方職權、家門內的事務跟民法息息相關、繳稅受稅法規定、服兵役(替代役)受國防政策影響、受國民教育(十二年國教)也與中央、地方政府預算相關、…。

但凡談論政治(眾人事務)前,如果胸中沒半點墨的話,也就只能講出:「我是中立份子,非藍非綠…」。我一聽,就知道這人不懂裝懂,硬要聊。

Read more...


如果你得了武漢肺炎~

隨著武漢肺炎病毒不斷地變種,現今的 Omicron 傳染力極其強大。我已經接收到不少朋友、親戚、小孩同學、…等人確診的訊息。是時候,再為自己補上最後一道防線了: 心理建設。

../../../_images/wear_mask_and_hat.jpg

戶外還是戴好口罩及有前緣的帽子,這種帽子再加眼鏡可再多擋些氣溶膠,也有助於提醒人「不要用手揉眼睛」

Read more...


健康碼、實聯制、社交距離APP之比較

../../../_images/3dozes.jpg

已施打三劑高端武漢肺炎疫苗

強國強制使用的「健康碼APP」,本質上,是一張*正常人*的電子通行證,其稽核個人的移動路徑、武漢肺炎篩檢報告、人際接觸情形、疫苗接種紀錄、…等,再經運算(或是隨便計算)顯示成「綠碼、黃碼、紅碼」,惟有綠碼可暢行無阻,其餘在「進入商家、機關、乘坐大眾運輸工具、辦理業務…」皆有所限制。

「健康碼APP」與過去土改、三反、五反、反右、大饑荒、文革、…時期,所用之「路條」是相同的工具: 讓特定的人(正常無特權之人)不得自由移動。「健康碼APP」是否能「防疫」? 沒有明確的數值可證明,但在「減少人際交流、縮短移動距離、剝奪人民自由權」上,效果十分顯著。

Read more...


一切都是剛剛開始

../../../_images/math.jpg

9 天有 216 個小時

  • 女兒跑來問我: 『你知道 9 天有幾個小時嗎? 有 216 個小時喔~ 媽媽教我的。』邊問邊把媽媽教她的紙張拿給我。
  • 我心裡想著: 『這些直式真亂,如果要算的天數更多,這樣表示早晚會把自己搞亂。』
  • 所以我說: 『妳知道哪個 24 小時是指第幾天的嗎? 來,我們把它標上圓圈1、圓圈2、…圓圈9,這樣才不會加到亂掉。』

邊標記的過程中,再跟女兒確認一下,她是不是明確地知道什麼加上什麼後是得到什麼。因為我是個機車的人,並不能滿足得到正確的答案,推導過程也得是正確的。

而且在我用了近 40 年的數學後,經驗是: 規矩是算數的基本、算數是數學的基本,數學要好,規矩不能少。

這裡先補充一個概念: 用直式教學並不是「錯誤的」,直式在進位表示上,對學習者有利,易於教學 。只是在多數值的累計上,無法簡單地、整齊地呈現問題的核心。

在整理完紙張上半部的直式計算式後,我接著要向她說明使用橫式計算式來完成這個問題。

Read more...


我對臺灣 2018 地方大選及公投選舉結果的看法

已經過了投票截止時間了,雖然某些投票所還在繼續進行投票作業,但現在我們尚未得知最終投票結果。所以我先把結論寫在這裡。

Read more...



唷喔! 你憑什麼能管理軟體工程師?

../../../_images/0412.jpg

工商廣告: 敝司持續徵求全端工程師,主要語言: Python(Django) / Javascript ,主要平台: Ubuntu Linux on AWS ,月薪是 2.5 ~ 8.5 萬之間,敬請瀏覽指教 敝司徵才網站

就像歷史一樣,看得短點的人,跟看得長點的人,所分析出的結論會不一樣。

不同時期認識我的人,對我也會有不同的看法。目前主要把人生花在軟體工作上,在這邊所接受到的回饋會比較多,等將來把時間多花在政治工作上,相信也會有不少人質疑我,年輕時不是個民進黨狂熱支持者,怎麼現在完全不一樣了!

回到標題的問題上,在大學時期以前就認識我的人,都會知道我讀的是土木工程學系,是一個誤把土木系當土地開發系的傻蛋,在百般懕惡力學下,大學時期的教科書讀的是二二六六。我無法求解靜不定結構、測量平差、滲透流量…,甚至在大學三修流力後,也還是到博士班時,才從碩班學弟口中聽到水錘現象。

因此當我開了軟體公司,聘請員工後,就常面臨老朋友們的一項質疑: 『唷喔! 你憑什麼能管理軟體工程師?』

這裡先簡單回答: 「我沒這能力。」但如果看倌有點時間的話,就請繼續看下去,了解一下 「一個沒能力管理軟體工程師的人,究竟是憑什麼?」

Read more...


一個小小的格式錯誤

一個小小的格式錯誤,我查了一整天。前句當然是誇飾法,畢竟我一整天還是得吃飯、上廁所、站起來走來走去,最重要的是不能忘了呼吸。

(ap.example.com-env) ubuntu@ip-172-16-32-60:/var/www-aps/ap.example.com-36-81a1/trunk$ ./manage.py runserver 0.0.0.0:8000 --nothread
Traceback (most recent call last):
  File "./manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 195, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 39, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 16, in <module>
    from django.db.migrations.executor import MigrationExecutor
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 7, in <module>
    from .loader import MigrationLoader
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 10, in <module>
    from django.db.migrations.recorder import MigrationRecorder
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 12, in <module>
    class MigrationRecorder(object):
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 26, in MigrationRecorder
    class Migration(models.Model):
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 27, in Migration
    app = models.CharField(max_length=255)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1072, in __init__
    super(CharField, self).__init__(*args, **kwargs)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 166, in __init__
    self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 55, in __getattr__
    self._setup(name)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 43, in _setup
    self._wrapped = Settings(settings_module)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 116, in __init__
    setattr(self, setting, setting_value)
  File "/var/www/ap.example.com-env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 85, in __setattr__
    raise ImproperlyConfigured("If set, %s must end with a slash" % name)
django.core.exceptions.ImproperlyConfigured: If set, STATIC_URL must end with a slash

Read more...


Fork me Related Posts Plugin for WordPress, Blogger...