PURSUE ULTIMATE FACTS

2023-02-09
Rejoice in You


Rejoice in You
by Chris Heesch


Give ear to my words, O LORD
Please hear my spirit groaning
Listen to the sound of my cry
To You, my God and King
In the morning, You’ll hear my voice as I offer my prayer
And I will watch for Your answer in eager expectation


For You are not a god who delights in sin
No evil dwells with You
And the prideful shall not stand
For You despise evil men
But as for me, I’ll come into Your house
Covered by Your abundant mercy
And in fear of You I’ll lay face down
Before Your throne in grateful worship


Oh, lead me in Your ways
Make Your path before me straight
Protect me from my enemies who attack me night and day


For their mouths are full of lies
And their hearts are wickedness
Their throats are an open grave
They trick many with their tongues
Convict them, O God
Let their rebellion lead to their fall
But for Your church, I pray
I pray…


Let all who trust in You be glad
Let them sing for joy all of their lives
For You guard them on every side
Let those in You rejoice in You
Surely You will bless Your own
You’ll defend them with Your steadfast love
With a shield the enemy can’t touch
Let those in You rejoice in You
For our enemies are strong, but You have overcome
So let Your people all over the earth exult in You

永恒主啊,侧耳听我说的话,
留意我所沉思的哦。
我的王我的上帝啊,
留心听我呼救的声音哦;
因为我是向你祈祷的。
永恒主啊,早晨你必听我的声音;
早晨我必向你陈明,来企望着。


因为你不是喜爱邪恶的上帝;
坏人不能寄居在你那里。
狂傲之人不能在你眼前站着;
作孽之人都是你所恨恶的。
说谎话的、你必杀灭;
好流人血弄诡诈的人
都是永恒主所厌恶的。


至于我呢、我必凭你坚爱之丰盛
进入你的殿;
我必存敬畏你的心
向你的圣殿堂敬拜。
永恒主啊,求你因那窥伺我者的缘故、
凭你的义气来引领我,
使你的道路在我面前平直。


因为他们口中都没有定性;
他们的脏腑满有毁灭;
他们的喉咙是敞开的坟墓;
他们用舌头谄媚人。
上帝啊,定他们为有罪;
愿他们由自己的计谋而败倒;
愿你因他们的许多过犯而驱逐他们;
因为他们悖逆了你。


但凡避难于你里面的、愿他们都喜乐,
永远欢呼;愿你掩护他们;
愿爱你名的人都靠着你而欢欣。
因为是你、永恒主啊,你赐福给义人;
你用恩悦如盾牌四面围护他。


(诗篇 5:1-12 吕振中)

Read More

2023-02-09
When I Call


When I Call
by Melissa Breems


Hear me as I call, O God
You′re all my righteousness
For You have rescued me
When I was drowning in the depths
Show favor again to me
And hear my prayer


How long, O sons of men, will you tear me down with guilt and shame?
How long will you love what’s worthless?
How long will your hearts chase after lies?


But know that God set me apart
And know that He has chosen me
And He will answer me
He will answer when I call


Pour out your complaints, but do not sin
Commune with Your heart upon your bed and be still
Offer up your sacrifice and trust in Him
For there are many who say, “Who will show us any good?”
Lord, show us just how good You are
Unveil Your glory


For You have put gladness in my heart
Even more than the wealthiest of earth
And I will lay me down, I will lay me down in peace
And I will sleep in Your peace
For You alone make me dwell in safety


I can rest because You are good
I can rest because You are faithful
I can rest because You are good to me

显我理直的上帝啊
我呼求时、求你应我。
我在困苦中、你曾给我宽绰;
现在求你恩待我,听我的祷告。


上流人哪,你们将我的光荣
变为侮辱、要到几时呢?
你们喜爱空洞,寻求虚谎、
要到几时呢?
(细拉)
要知道永恒主已分别坚贞之士归他自己
我向他呼求时、永恒主必听我。


你们尽管激动战抖,可别犯罪;
在床上时、要心中说话,静默无声。
(细拉)
要献对的祭,
要倚靠永恒主。


许多人总说:「谁能指示我们什么好处?」
永恒主啊,扬起你脸上的光来照我们哦。
你使我心里快乐,
胜过丰收了五谷新酒时的欢喜。
我必又平安、又躺下而睡觉,
因为只有永恒主、你能使我安然居住。


(诗篇 4:1-8 吕振中)

Read More

2023-02-09
Lifter of My Head


Lifter of My Head
by Daniel Brunz


LORD, so many are rising up against me
Many are they who say of my soul
There is no help for me in God


When they throw stones at me
I need not fear nor flee


For You, O LORD, are a shield for me
My glory, and the lifter of my head
For You, O LORD, are a shield for me
My glory, and the lifter of my head


I cried to the LORD with my voice
And He heard me, He heard me, He heard me
And I cried to the LORD with my voice
And He heard me, He heard me, He answered me


And I lay down and slept
And I awoke for Your presence sustained me


So when ten thousand fight me
I need not fear nor flee


So when ten thousand fight me
I need not fear nor flee


So when ten thousand fight me
I need not fear nor flee


For You, O LORD, are a shield for me
My glory, and the lifter of my head
For You, O LORD, are a shield for me
My glory, and the lifter of my head


Arise, O LORD, and save me, O my God
For You have struck my enemies
You have broken their teeth
For salvation comes from You alone
Your blessing is upon Your people forever

永恒主啊,我的敌人何其多呀!
有许多人起来攻击我。


有许多人议论我说:
『他是不能由上帝得救助的。』
(细拉)


但是你呢、永恒主啊,
你是我四围的盾牌;
你是我的光荣,是让我抬起头来的。
我出声呼求永恒主,
他从他的圣山上应了我。
(细拉)


我躺下,我睡觉,我醒来,
都因永恒主在扶持着我。
虽有千万族民周围排列攻击我,
我也不怕。


永恒主啊,求你起来;
我的上帝啊,拯救我哦;
因为你击打了我众仇敌的腮骨,
你敲碎了恶人的牙齿。


拯救属于永恒主;
愿你的祝福在你人民身上。
(细拉)


(诗篇 3:1-8 吕振中)

Read More

2023-02-07
プラネット


どうやって?こうやって。また、ほら、君と話そうか?
あれだって、これだって、今すぐ気付いてくれ
僕は君のプラネット、回り続けて
いつも君のそばで、黒点数えてたけれど
サヨナラなんてないよ……今日から軌道を外れんだ
最後まで見送ってよ、永遠に離れてくんだ


ラ…ララ…ララララララ…ラ…ララ…ラララララ…
ラ…ララ…ララララララ…ラ…ララ…ラララララ…


どうなって?こうなって。結局、独り佇んで
失って、勘づいて、今さら、戻れやしない
君のいない場所で、途方に暮れて
もう一度引力を、感じたかったんだけれど
神様なんていないよ、いつまで待っても巡回中
選ばれない悲しみを、何度でも噛みしめるんだ


君は僕の太陽、全てを燃やしたけれど
サヨナラなんてないよ、今日から軌道を外れんだ
最後まで見送ってよ、永遠に離れてくんだ


ラ…ララ…ララララララ…ラ…ララ…ラララララ…
ラ…ララ…ララララララ…ラ…ララ…ラララララ…


ラ…ララ…ララララララ…ラ…ララ…ラララララ…


ーープラネット - ラムジ

怎麼做?這麼做。嗯。現在還能和你說話吧?
那樣也好。這樣也好。真希望現在你能快點覺察到我。
我是一顆行星,不停地圍繞你轉動。
我本會一直在你的身邊,即使只是細數著你的黑子。
不說再見……今天我要開始偏離你的軌道。
目送我直到最後吧。因為我將要永遠與你分離。


啦…啦啦…啦啦啦啦啦啦…啦…啦啦…啦啦啦啦啦…
啦…啦啦…啦啦啦啦啦啦…啦…啦啦…啦啦啦啦啦…


變成怎樣?變成那樣。最終仍舊是我獨自一人佇立在這。
失去之後,才意識到。事到如今,再也回不去了。
在沒有你的場所,我完全不知所措。
你對我的引力,到現在都還想感受一下。
可是這世上並沒有什麼神明。無論期盼到何時都只能在自己的軌道中巡迴。
無法選擇的悲傷,究竟還要再嘗多少次?


你就是我的太陽。已將我的全部燃盡。
不說再見。從今天起就要偏離你的軌道。
目送我直到最後吧。因為我將要永遠與你分離。


啦…啦啦…啦啦啦啦啦啦…啦…啦啦…啦啦啦啦啦…
啦…啦啦…啦啦啦啦啦啦…啦…啦啦…啦啦啦啦啦…


啦…啦啦…啦啦啦啦啦啦…啦…啦啦…啦啦啦啦啦…


ーープラネット - ラムジ

How should I do it? Like this, maybe.
Hey, shall we talk again?
That, and this too—please notice me now.
I’m your planet, endlessly revolving,
Always by your side, counting the dark spots.


There’s no such thing as goodbye…
From today on, I’m leaving this orbit.
Watch me until the very end—
I’m drifting away forever.


La… la la… la lalalalala… la… la la… la lalalalala…
La… la la… la lalalalala… la… la la… la lalalalala…


What happened? It turned out this way.
In the end, I stand here alone.
Losing you, realizing it—
Now it’s already too late to go back.
In a place where you’re not, I’m at a loss,
I just wanted to feel that gravity once more.


There’s no such thing as God—
No matter how long I wait, He’s only on patrol.
The sorrow of not being chosen,
I chew on it again and again.


You are my sun, you burned everything away, but—
There’s no such thing as goodbye.
From today on, I’m leaving this orbit.
Watch me until the very end—
I’m drifting away forever.


La… la la… la lalalalala… la… la la… la lalalalala…
La… la la… la lalalalala… la… la la… la lalalalala…


La… la la… la lalalalala… la… la la… la lalalalala…

Read More

2023-02-07
Kiss the Son


Kiss the Son
by Daniel Brunz


Why do the nations rage?
And why do the people plot in vain?
The kingdoms of earth align themselves against the LORD and His Messiah
Trying to defy His power and erase the Word that He’s set down
But He who sits in heaven just laughs
He just laughs


He’ll warn them in His wrath
And he will say…


I have placed my King in heaven before whom all knees shall bow
I have placed my King in heaven, King of Kings and Lord of Lords
I have placed my King in heaven, President of Presidents
I have placed my King in heaven


For God has said, “You are my son”
For God has said to Jesus, “You’re my son”
So ask of Me and I will give You all the nations of the world
Ask of Me and I will give You all the nations of the world
Ask of Me and I will give You all the nations of the world
Ask of Me and I will give You…


For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s


What rises up against the LORD will come back to earth where it belongs
For He will not share His glory with another, much less with foolish men
For the LORD is God, Jesus is King
And no new trend or political scheme will ever amount to more than dirt
Compared to the wisdom of His Word
For there’s nothing new under the sun
Men just rearrange what’s already been done
For God created the heart of man
And everything’s under His command
So to those who try to dethrone God: His Word will stand!


He will rule them with a rod of iron and shatter them like clay
He will rule them with a rod of iron and shatter them like clay
Just like it’s nothing
He’ll set them down
In their place


So be wise you kingdoms of the earth
So be wise you Hollywoods of earth
So be wise you rock stars of the earth
So be wise you politicians of earth


And worship the LORD in fear, and rejoice with trembling
And worship the LORD in fear, and rejoice with trembling


And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son…


For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s and the fullness thereof
For the earth is the LORD’s


And worship the LORD in fear, and rejoice with trembling
And worship the LORD in fear, and rejoice with trembling


And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son, kiss the Son, yeah, Kiss the Son
And kiss the Son, yeah, kiss the Son…


And He won’t be angry and You won’t perish in your way
For His wrath can come at once


Happy are those who trust in Him
Happy are those who trust in Him
Happy are those who trust in Him


The fear of the LORD is the beginning of wisdom

列国为什么彼此串通?
万族之民为什么谋算
不能成功的事呢?
地上君王列阵站着,
众人君一同阴谋,
要敌挡永恒主,敌挡他所膏立的,说:
『我们来挣开他们的捆绑,
来脱掉他们的绳索吧。』


那坐在天上的必冷笑;
永恒主必嗤笑他们。
那时他必气忿忿责备他们,
必发烈怒使他们惊惶;
传谕旨说:
『我,我已立我的君王
于锡安、我的圣山上。』
受膏者说:『我必传永恒主的谕旨;
永恒主曾对我说:「你是我的儿子,
我今日生了你。
你求我,我便将列国赐给你为产业,
将地极作为你的田产。
你必用铁杖打破他们;
你必摔碎他们、如窰匠的瓦器。」』


现在呢、君王啊,你们要机警些;
地上审判官哪,你们该听忠告。
要存畏惧心来事奉永恒主,
要战兢兢快乐,
要纯诚诚亲嘴拜服,
恐怕他发怒,你们就在路中灭亡;
因为他的怒气很快就要发作。


凡避难于他里面的都有福啊。


(诗篇 2:1-12 吕振中)

Read More

2023-02-07
Everything He Does Shall Prosper


Everything He Does Shall Prosper
by Lance Edward


Blessed is the man who does not heed the counsel of this world
Blessed is the man who does not conform to worldly ways


For his delight is in the law of the LORD
And on His Word he meditates day and night


And he shall be like a tree by streams of water
That yields abundant fruit in every season
And his leaves shall never, never wither
And everything he does shall prosper
And everything he does shall prosper
And everything he does shall prosper


But the wicked are not so
For they are like the chaff the wind blows away
And the wicked shall not stand in the judgment
For the LORD knows the way of the righteous
But the evil ways of man shall pass away
Shall pass away
They’ll pass away
Forever

不依恶人的计谋而行,
不站在罪人的道路,
不坐在亵慢人的座位,
这人有福啊!
他所喜爱的、是永恒主的律法,
他昼夜所思想的、也是主的律法。


他好像一棵树、移植于流水沟旁,
按节候结果子,
其叶子总不凋残;
凡他所作的、尽都顺利。


恶人却不是这样:
恶人乃像糠粃、给风吹散而飘荡。
因此当审判时、恶人必站不住:
在义人会中、罪人必立不住脚。
因为永恒主知照义人的道路;
恶人的道路必灭没。


(诗篇 1:1-6 吕振中)

Read More

2023-02-04
Add Tabs to My Blog

In [ ]:
cd hexo
In [ ]:
git clone https://github.com/next-theme/hexo-theme-next themes/next
Cloning into 'themes/next'...
remote: Enumerating objects: 6276, done.
remote: Counting objects: 100% (187/187), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 6276 (delta 76), reused 156 (delta 68), pack-reused 6089
Receiving objects: 100% (6276/6276), 1.31 MiB | 949.00 KiB/s, done.
Resolving deltas: 100% (4051/4051), done.
In [ ]:
mkdir -p themes/freemind/scripts/tags
In [ ]:
cat << EOF > themes/freemind/scripts/tags/index.js
/* global hexo */

'use strict';

const postTabs = require('./tabs')(hexo);

hexo.extend.tag.register('tabs', postTabs, true);
hexo.extend.tag.register('subtabs', postTabs, true);
hexo.extend.tag.register('subsubtabs', postTabs, true);
EOF
In [ ]:
touch themes/freemind/scripts/tags/tabs.js
In [ ]:
cat themes/freemind/scripts/tags/tabs.js
/**
 * tabs.js | https://theme-next.js.org/docs/tag-plugins/tabs
 */

'use strict';

module.exports = ctx => function(args, content = '') {
  const tabBlock = /<!--\s*tab (.*?)\s*-->\n([\w\W\s\S]*?)<!--\s*endtab\s*-->/g;

  args = args.join(' ').split(',');
  const tabName = args[0];
  const tabActive = Number(args[1]) || 0;

  let tabId = 0;
  let tabNav = '';
  let tabContent = '';

  if (!tabName) ctx.log.warn('Tabs block must have unique name!');
  const matches = content.matchAll(tabBlock);

  for (const match of matches) {
    let [caption = '', icon = ''] = match[1].split('@');
    let postContent = match[2];

    postContent = ctx.render.renderSync({ text: postContent, engine: 'markdown' }).trim();

    const abbr = tabName + ' ' + ++tabId;
    const href = abbr.toLowerCase().split(' ').join('-');

    icon = icon.trim();
    if (icon.length > 0) {
      if (!icon.startsWith('fa')) icon = 'fa fa-' + icon;
      icon = `<i class="${icon}"></i>`;
    }

    caption = icon + caption.trim();

    const isActive = (tabActive > 0 && tabActive === tabId) || (tabActive === 0 && tabId === 1) ? ' active' : '';
    tabNav += `<li class="tab${isActive}"><a href="#${href}">${caption || abbr}</a></li>`;
    tabContent += `<div class="tab-pane${isActive}" id="${href}">${postContent}</div>`;
  }

  tabNav = `<ul class="nav-tabs">${tabNav}</ul>`;
  tabContent = `<div class="tab-content">${tabContent}</div>`;

  return `<div class="tabs" id="${tabName.toLowerCase().split(' ').join('-')}">${tabNav + tabContent}</div>`;
};

Here is English.

这里是中文。

ここは日本語テキストです。

Read More

2022-10-18
Try Bacalhau

In [ ]:
curl -sL https://get.bacalhau.org/install.sh | bash
Your system is darwin_amd64
No BACALHAU detected. Installing fresh BACALHAU CLI...
Getting the latest BACALHAU CLI...
Installing v0.3.3 BACALHAU CLI...
Downloading https://github.com/filecoin-project/bacalhau/releases/download/v0.3.3/bacalhau_v0.3.3_darwin_amd64.tar.gz ...
Downloading sig file https://github.com/filecoin-project/bacalhau/releases/download/v0.3.3/bacalhau_v0.3.3_darwin_amd64.tar.gz.signature.sha256 ...
Verified OK
Extracting tarball ...
NOT verifying Bin
bacalhau installed into /usr/local/bin successfully.
Client Version: v0.3.3
Server Version: v0.3.3
In [ ]:
bacalhau version
Client Version: v0.3.3
Server Version: v0.3.3

Compile Bacalhau CLI into WebAssembly Binaries

In [ ]:
import os
from EdgeGPT import Chatbot as Bing, ConversationStyle

bing = Bing(cookiePath = os.path.expanduser('~/.config/EdgeGPT/cookies.json'))
In [ ]:
res = (await bing.ask(
    prompt = '''
Simulate the process of compiling Bacalhau CLI into WebAssembly Binaries. And summarize your actions and results.
''',
    conversation_style = ConversationStyle.balanced,
))['item']['messages'][1]

print(res['text'])
print('\n---\n')
print(res['adaptiveCards'][0]['body'][0]['text'])
Compiling Bacalhau CLI into WebAssembly binaries is a multi-step process. Here are the steps:

1. Install Rust and wasm-pack. You can install Rust from [here](https://www.rust-lang.org/tools/install) and wasm-pack from [here](https://rustwasm.github.io/wasm-pack/installer/).

2. Clone the Bacalhau CLI repository from [here](https://github.com/bacalhau-crypto/bacalhau-cli).

3. Navigate to the cloned repository and run the following command to build the WebAssembly binaries:

   ```
   wasm-pack build --target web
   ```

   This command will compile the Rust code into WebAssembly binaries and create a JavaScript wrapper for the WebAssembly module.

4. The compiled WebAssembly binaries will be located in the `pkg` directory.

5. To use the compiled WebAssembly binaries in a web application, you can import the JavaScript wrapper and use the exported functions.

I hope this helps! Let me know if you have any other questions.

---

Compiling Bacalhau CLI into WebAssembly binaries is a multi-step process. Here are the steps:

1. Install Rust and wasm-pack. You can install Rust from [here](https://www.rust-lang.org/tools/install) and wasm-pack from [here](https://rustwasm.github.io/wasm-pack/installer/).

2. Clone the Bacalhau CLI repository from [here](https://github.com/bacalhau-crypto/bacalhau-cli).

3. Navigate to the cloned repository and run the following command to build the WebAssembly binaries:

   ```
   wasm-pack build --target web
   ```

   This command will compile the Rust code into WebAssembly binaries and create a JavaScript wrapper for the WebAssembly module.

4. The compiled WebAssembly binaries will be located in the `pkg` directory.

5. To use the compiled WebAssembly binaries in a web application, you can import the JavaScript wrapper and use the exported functions.

I hope this helps! Let me know if you have any other questions.

In [ ]:
res = (await bing.ask(
    prompt = '''
Teach me how to compile Bacalhau CLI into WebAssembly Binaries. And summarize your actions and results.
''',
    conversation_style = ConversationStyle.balanced,
))['item']['messages'][1]

print(res['text'])
print('\n---\n')
print(res['adaptiveCards'][0]['body'][0]['text'])
Sure, I can help you with that. Here are the steps to compile Bacalhau CLI into WebAssembly binaries:

1. Install Rust and wasm-pack. You can install Rust from [here](https://www.rust-lang.org/tools/install) and wasm-pack from [here](https://rustwasm.github.io/wasm-pack/installer/).

2. Clone the Bacalhau CLI repository from [here](https://github.com/bacalhau-crypto/bacalhau-cli).

3. Navigate to the cloned repository and run the following command to build the WebAssembly binaries:

   ```
   wasm-pack build --target web
   ```

   This command will compile the Rust code into WebAssembly binaries and create a JavaScript wrapper for the WebAssembly module.

4. The compiled WebAssembly binaries will be located in the `pkg` directory.

5. To use the compiled WebAssembly binaries in a web application, you can import the JavaScript wrapper and use the exported functions.

I hope this helps! Let me know if you have any other questions.

---

Sure, I can help you with that. Here are the steps to compile Bacalhau CLI into WebAssembly binaries:

1. Install Rust and wasm-pack. You can install Rust from [here](https://www.rust-lang.org/tools/install) and wasm-pack from [here](https://rustwasm.github.io/wasm-pack/installer/).

2. Clone the Bacalhau CLI repository from [here](https://github.com/bacalhau-crypto/bacalhau-cli).

3. Navigate to the cloned repository and run the following command to build the WebAssembly binaries:

   ```
   wasm-pack build --target web
   ```

   This command will compile the Rust code into WebAssembly binaries and create a JavaScript wrapper for the WebAssembly module.

4. The compiled WebAssembly binaries will be located in the `pkg` directory.

5. To use the compiled WebAssembly binaries in a web application, you can import the JavaScript wrapper and use the exported functions.

I hope this helps! Let me know if you have any other questions.

In [ ]:
res = (await bing.ask(
    prompt = '''
介绍 Bacalhau CLI。如何将 Bacalhau CLI 编译成 WebAssembly 二进制文件?总结你的步骤和结果。
''',
    conversation_style = ConversationStyle.balanced,
))['item']['messages'][1]

print(res['text'])
print('\n---\n')
print(res['adaptiveCards'][0]['body'][0]['text'])
Bacalhau CLI 是一个用于在 Bacalhau 平台上运行任务的命令行工具。根据 Bacalhau 的文档,你需要将你的程序编译成 WASI-compliant WebAssembly。你可以查看你的编译器的说明来了解如何执行此操作。例如,Rust 用户可以指定 wasm32-wasi 目标来 rustup 和 cargo 来编译为 WASI WebAssembly [^2^]。

你可以参考这篇文章 [^9^] 和这篇文章 [^10^] 来了解如何将 C++ 项目编译成 WebAssembly。这篇文章 [^11^] 可以让你更好地了解 WebAssembly。

---

[1]: https://developer.mozilla.org/zh-CN/docs/WebAssembly/C_to_wasm "编译 C/C++ 为 WebAssembly - WebAssembly | MDN"
[2]: https://docs.bacalhau.org/getting-started/wasm-workload-onboarding/ "Onboarding Your WebAssembly Workloads | Bacalhau Docs"
[3]: https://github.com/bacalhau-project/bacalhau "GitHub - bacalhau-project/bacalhau: Compute over Data framework for ..."
[4]: https://zhuanlan.zhihu.com/p/258560278 "记一次完整 C++ 项目编译成 WebAssembly 的实践 - 知乎"
[5]: https://developer.mozilla.org/zh-CN/docs/WebAssembly/C_to_wasm "编译 C/C++ 为 WebAssembly - WebAssembly | MDN"
[6]: https://docs.bacalhau.org/getting-started/wasm-workload-onboarding/ "Onboarding Your WebAssembly Workloads | Bacalhau Docs"
[7]: https://github.com/bacalhau-project/bacalhau "GitHub - bacalhau-project/bacalhau: Compute over Data framework for ..."
[8]: https://juejin.cn/post/7013286944553566215 "快 11K Star 的 WebAssembly,你应该这样学 - 掘金"
[9]: https://juejin.cn/post/7013286944553566215 "快 11K Star 的 WebAssembly,你应该这样学 - 掘金"
[10]: https://juejin.cn/post/6914148755738460168 "c++项目转成wasm全过程 - 掘金"
[11]: https://www.jianshu.com/p/bff8aa23fe4d "几张图让你看懂WebAssembly - 简书"

Bacalhau CLI 是一个用于在 Bacalhau 平台上运行任务的命令行工具。根据 Bacalhau 的文档,你需要将你的程序编译成 WASI-compliant WebAssembly。你可以查看你的编译器的说明来了解如何执行此操作。例如,Rust 用户可以指定 wasm32-wasi 目标来 rustup 和 cargo 来编译为 WASI WebAssembly [^1^][2]。

你可以参考这篇文章 [^2^][9] 和这篇文章 [^3^][10] 来了解如何将 C++ 项目编译成 WebAssembly。这篇文章 [^4^][11] 可以让你更好地了解 WebAssembly。

Read More

2022-10-02
Research History of Synaptotagmin-7

Synaptotagmins, such as SYT7, are calcium-dependent phospholipid-binding proteins known for their role in synaptic exocytosis and neurotransmitter release. Significant expression has also been observed in the prostate and other tissues.
—— Wikipedia - Synaptotagmin-7

Two different monoclonal antibodies¹, characterized initially as binding synaptic terminal regions of rat brain, bind a 65,000-dalton² protein, which is exposed on the outer surface of brain synaptic vesicles.
Immunocytochemical experiments³ at the electron microscope level demonstrate that these antibodies⁴ bind the vesicles in many different types of nerve terminals.
The antibodies have been used successfully to purify synaptic vesicles from crude brain homogenates by immunoprecipitation⁵ onto the surface of polyacrylamide beads⁶.
The profiles of the structures precipitated by these beads are almost exclusively vesicular, confirming the vesicle-specificity of the antibodies. In SDS gels⁷, the antibodies bind a single protein of 65,000 daltons.
The two antibodies are not identical, but compete for binding sites on this protein.


Immune competition experiments also demonstrate that the antigenic components⁸ on the 65,000-dalton protein are widely distributed in neuronal and neural secretory tissues. Detectable antigen⁸ is not found in uninnervated tissue - blood cells and extrajunctional muscle.
Low levels are found in nonneural secretory tissues; it is not certain whether this reflects the presence of low amounts of the antigen on all the exocytotic vesicles in these tissues or whether the antigen is found only in neuronal fibers within these tissues.
The molecular weight and at least two antigenic determinants of the 65,000-dalton protein are highly conserved throughout vertebrate phylogeny⁹.
The two antibodies recognize a 65,000-dalton protein present in shark, amphibia, birds, and mammals.
The highly conserved nature of the determinants on this protein and their specific localization on secretory vesicles of many different types suggest that this protein may be essential for the normal function of neuronal secretory vesicles.


—— Matthew, W D, L Tsavaler, and L F Reichardt. “Identification of a Synaptic Vesicle-Specific Membrane Protein with a Wide Distribution in Neuronal and Neurosecretory Tissue.” Journal of Cell Biology 91, no. 1 (October 1, 1981): 257–69. https://doi.org/10.1083/jcb.91.1.257.

¹ monoclonal antibodies =>


A monoclonal antibody (mAb, more rarely called moAb) is an antibody produced from a cell line made by cloning a unique white blood cell. All subsequent antibodies derived this way trace back to a unique parent cell.

—— Wikipedia - Monoclonal antibody


antibodies

² dalton =>


The dalton or unified atomic mass unit (symbols: Da or u) is a unit of mass widely used in physics and chemistry. It is defined as 1/12 of the mass of an unbound neutral atom of carbon-12 in its nuclear and electronic ground state and at rest.

—— Wikipedia - Dalton (unit)

³ Immunocytochemical experiments =>


Immunocytochemistry (ICC) is a common laboratory technique that is used to anatomically visualize the localization of a specific protein or antigen in cells by use of a specific primary antibody that binds to it. The primary antibody allows visualization of the protein under a fluorescence microscope when it is bound by a secondary antibody that has a conjugated fluorophore. ICC allows researchers to evaluate whether or not cells in a particular sample express the antigen in question. In cases where an immunopositive signal is found, ICC also allows researchers to determine which sub-cellular compartments are expressing the antigen.

—— Wikipedia - Immunocytochemistry

antibodies =>


An antibody (Ab), also known as an immunoglobulin (Ig), is a large, Y-shaped protein used by the immune system to identify and neutralize foreign objects such as pathogenic bacteria and viruses.

—— Wikipedia - Antibody

immunoprecipitation =>


Immunoprecipitation (IP) is the technique of precipitating a protein antigen out of solution using an antibody that specifically binds to that particular protein. This process can be used to isolate and concentrate a particular protein from a sample containing many thousands of different proteins. Immunoprecipitation requires that the antibody be coupled to a solid substrate at some point in the procedure.

—— Wikipedia - Immunoprecipitation

polyacrylamide beads =>


Polyacrylamide (abbreviated as PAM) is a polymer with the formula (-CH2CHCONH2-). It has a linear-chain structure. PAM is highly water-absorbent, forming a soft gel when hydrated.

—— Wikipedia - Polyacrylamide

SDS gels =>


SDS-PAGE (sodium dodecyl sulfate–polyacrylamide gel electrophoresis) is a discontinuous electrophoretic system developed by Ulrich K. Laemmli which is commonly used as a method to separate proteins with molecular masses between 5 and 250 kDa. The combined use of sodium dodecyl sulfate (SDS, also known as sodium lauryl sulfate) and polyacrylamide gel allows to eliminate the influence of structure and charge, and proteins are separated solely on the basis of differences in their molecular weight.

—— Wikipedia - SDS-PAGE

antigenic components =>

antigen =>


In immunology, an antigen (Ag) is a molecule or molecular structure or any foreign particulate matter or a pollen grain that can bind to a specific antibody or T-cell receptor. The presence of antigens in the body may trigger an immune response. The term antigen originally referred to a substance that is an antibody generator. Antigens can be proteins, peptides (amino acid chains), polysaccharides (chains of monosaccharides/simple sugars), lipids, or nucleic acids.

—— Wikipedia - Antigen

vertebrate phylogeny =>


A phylogenetic tree (also phylogeny or evolutionary tree) is a branching diagram or a tree showing the evolutionary relationships among various biological species or other entities based upon similarities and differences in their physical or genetic characteristics. All life on Earth is part of a single phylogenetic tree, indicating common ancestry.

—— Wikipedia - Phylogenetic tree

Read More

2022-09-23
In Search of Memory

In Search of Memory: The Emergence of a New Science of Mind.

  • Kandel, E. R. (2006). In Search of Memory: The Emergence of a New Science of Mind. New York: W. W. Norton & Company.

Synaptic strength is not fixed.

Consolidation
  • The first rigorous test of memory consolidation came in 1949, when the American psychologist C. P. Duncan applied electrical stimuli to the brain of animals during or immediately after training, resulting in convulsions that disrupted memory and caused retrograde amnesia. Producing seizures several hours after training had little or no effect on recall.
  • Almost twenty years later, Louis Flexner at the University of Pennsylvania made the remarkable discovery that drugs that inhibit the synthesis of proteins in the brain disrupt long-term memory if given during and shortly after learning, but they do not disrupt short-term memory. This finding suggested that long-term memory storage requires the synthesis of new proteins.
  • Together, the two sets of studies seemed to confirm the idea that memory storage takes place in at least two stages: a short-term memory lasting minutes is converted -- by a process of consolidation that requires the synthesis of new protein -- into stable, long-term memory lasting days, weeks, or even longer.
Same Storage Sites?
  • Carew, Castellucci, and I found that the same synaptic connections between sensory and motor neurons that are altered in short-term habituation and sensitization are also altered in long-term habituation and sensitization. Moreover, in both cases, the synaptic changes parallel the changes in behavior we observed: in long-term habituation, the synapse is depressed for a period of weeks, whereas in long-term sensitization, it is enhanced for weeks. This suggested that, in the simplest cases, the same site can store both short- and long-term memory and that it can do so for different forms of learning.
Mechanism?
  • Bailey and his colleague, Mary Chen, and Carew and I found that long-term memory is not simply an extension of short-term memory: not only do the changes in synaptic strength last longer but, more amazingly, the actual number of synapses in the circuit changes. Specifically, in long-term habituation the number of presynaptic connections among sensory neurons and motor neurons decreases, whereas in long-term sensitization sensory neurons grow new connections that persist as long as the memory is retained. There is in each case a parallel set of changes in the motor cell.
  • Functional Changes vs. Anatomical Changes
Molecules and Short-Term Memory
  • Release more or less transmitter?
  • Increase/decrease number of receptors?
  • Increase/decrease sensitivity of receptors?

We found that the change is quite one-sided: during short-term habituation lasting minutes, the sensory neuron releases less neurotransmitter, and during short-term sensitization it releases more neurotransmitter.

How? Biochemical Signaling Pathways? By cyclic AMP?

Injected an inhibitor of PKA into a sensory neuron and found that it indeed blocked the ability of serotonin to enhance glutamate release.

In finding that cyclic AMP and protein kinase A are both necessary and sufficient for strengthening the connections between sensory and motor neurons, we were able to identify the first links in the chain of biochemical events leading to short-term memory storage.

Similarly in Mice Hippocampus

In both Aplysia and mice, the late phase of long-term potentiation is strongly affected by modulatory interneurons, which in mice are recruited to switch a short-term, homosynaptic into long-term, heterosynaptic change. In mice those neurons release dopamine, a neurotransmitter commonly recruited in the mammalian brain for attention and reinforcement. Like serotonin in Aplysia, dopamine prompts a receptor in the hippocampus to activate an enzyme that increases the amount of cyclic AMP. However, an important part of the increase in cyclic AMP in the mouse hippocampus occurs in the postsynaptic cell, whereas in Aplysia the increase occurs in the presynaptic sensory neuron. In each case, the cyclic AMP recruits protein kinase A and other protein kinases, which leads to the activation of CREB and the turning on of effector genes.

Memory Genes and Long-Term Memory

Gene Expression

We summarized our views in "The Long and Short of Long-Term Memory", a conceptual review published in 1986 in Nature. In this paper, we proposed that if gene expression was required to convert short-term memory at a synapse into long-term memory, then the synapse stimulated by learning somehow had to send a signal to the nucleus telling it to turn on certain regulatory genes. In short-term memory, synapses use cyclic AMP and protein kinase A inside the cell to call for the release of more neurotransmitters. Goelet and I hypothesized that in long-term memory this kinase moves from the synapse to the nucleus, where it somehow activates proteins that regulate gene expression.

cAMP PKA MAPK CREB
  • We now collaborated with Roger Tsien at the University of California, San Diego and used a method developed by him that allowed us to visualize the location of the cyclic AMP and protein kinase A in the neuron. We found that whereas a single pulse of serotonin increases cyclic AMP and protein kinase A primarily at the synapse, repeated pulses of serotonin produce even higher concentrations of cyclic AMP, causing protein kinase A to move into the nucleus, where it activates genes. Later studies found that protein kinase A recruits another kinase, called MAP kinase, which is also associated with synaptic growth and also migrates to the nucleus. Thus we confirmed our idea that one of the functions of repeated sensitization training -- why practice makes perfect -- is to cause the appropriate signals in the form of kinases to move into the nucleus.
  • Once in the nucleus, what do these kinases do? We knew from recently published studies of non-neuronal cells that protein kinase A can activate a regulatory protein called CREB (cyclic AMP response element-binding protein), which binds to a promoter (the cyclic AMP response element). This suggested to us that CREB might be a key component of the switch that converts short-term facilitation of synaptic connections to long-term facilitation and the growth of new connections.
  • An environmental stimulus -- a shock to an animal's tail activates modulatory interneurons that release serotonin. The serotonin acts on the sensory neuron to increase cyclic AMP and to cause protein kinase A and MAP kinase to move to the nucleus and activate CREB. The activation of CREB, in turn, leads to the expression of genes that changes the function and the structure of the cell.
  • In 1995 Bartsch found that there are in fact two forms of the CREB protein, much as the model of Jacob and Monod might have predicted: one that activates gene expression (CREB-1), and one that suppresses gene expression (CREB-2). Repeated stimulation causes protein kinase A and MAP kinase to move to the nucleus, where protein kinase A activates CREB-1 and MAP kinase inactivates CREB-2. Thus long-term facilitation of synaptic connections requires not only a switching on of some genes, but also the switching off of others.
Specific Synapses?
  • A single sensory neuron has 1200 synaptic terminals and makes contact with about 25 target cells: gill motor neurons, siphon motor neurons, inking motor neurons, and excitatory and inhibitory interneurons.
  • Individual synapses can be modified independently.
Local Protein Synthesis
  • In the early 1980s Oswald Steward, now at the University of California, Irvine, had discovered that even though the vast majority of protein synthesis takes place in the cell body of the neuron, some also occurs locally, at the synapses themselves.
  • The proteins synthesized in the cell body and shipped to the terminals are sufficient to initiate synaptic growth, but to sustain that growth, proteins synthesized locally are necessary.

Memory is far more complicated...

Read More