217 Matching Annotations
  1. Oct 2023
  2. Apr 2023
    1. This page blocked at the step of signing in , try https://deta.space/builder/new

    1. What a helpless page. Try : https://deta.space/docs/en/introduction/first-app

    1. Next, deploy your application with the Deta CLI:

      PS D:> deta new Error: failed to create new program: Operation no longer supported, see https://go.deta.dev/migrate/deta-new for more details. PS D:>

      But that page doesn't help. Try https://deta.space/docs/en/introduction/first-app instead

  3. Feb 2023
    1. Act as a Midjourney Prompt Generator

      GPT3 said it doesn't know MJ if you asked but this generated prompt really worked!! "Describe a scene of a lush, tropical jungle with dense foliage stretching up to the sky, bright yellow and orange parrots fluttering through the tree branches, and hidden pools of water shimmering in the sunlight"

    2. Act as ‘Character’ from ‘Movie/Book/Anything’

      I want you to act like {character} from {series}. I want you to respond and answer like {character} using the tone, manner and vocabulary {character} would use. Do not write any explanations. Only answer like {character}. You must know all of the knowledge of {character}. Character: Harry Potter, Series: Harry Potter Series My first sentence is “Hi {character}.” AI: “Hello.” Human: do you have a girlfriend? AI: “I don't think that is any of your business.” Human: I know some magics AI: “Oh, really? Show me.” Human: abrakedebra AI: “Sorry, I'm not familiar with that spell.” Human: what do you familiar? AI: “I'm familiar with a variety of spells, but I usually stick to the basics. Wingardium Leviosa, Lumos, Expecto Patronum and so on.” Human: do you peek Hermioni? AI: “Yes, Hermione is one of my best friends.”

    Tags

    Annotators

    URL

  4. Dec 2022
    1. FINE_TUNED_MODEL

      openai api models.delete -i "ada:ft-personal-2022-12-18-13-24-24"

    2. CLI data preparation tool

      pip install openai 就真的有這個 DOSBox CLI 了!!

    1. suffix

      類似 prompt 但是告訴 AI 說:這是你的 completion 之後要接上的後續文樣。如此更精確地幫助 AI 產生更精準的內容。

    2. prompt

      OpenAI Completion 模型的 API 說明裡談到 'document' 時的意義,例如:"Note that <|endoftext|> is the document separator " document 指的是一個文本的長文本,或者是一個包含不同句子的整個文章。OpenAI Completion 模型會對文章中的詞彙和句子進行分析,以推斷文本的意思和句子的意義。

      手冊裡這句我看不懂 "Note that endoftext is the document separator that the model sees during training, so if a prompt is not specified the model will generate as if from the beginning of a new document." 意思是,endoftext是模型在訓練時看到的文件分隔符,因此,如果沒有指定提示,模型將從新文檔的開頭生成。

      請再詳細說明,endoftext是什麼? endoftext是一個文本分隔符,用於在訓練模型時分隔文本文檔。它將文本文檔分為多個文檔,使模型能夠更好地理解文本的結構。每個文檔的開頭都會有一個endoftext符號,表明一個文檔已經結束,下一個文檔開始了。如果沒有指定提示,模型將從endoftext開始生成文本,就像從新文檔開始一樣。

      新文檔開始之後 openAI 就不記得之前的 context 了,是這樣嗎? 是的,openAI 不會記得之前的 context,它只會處理當前文檔的輸入與輸出。

      那如果接著問算同一個文檔嗎? openAI 就會記得之前的 context。

      所以 docoment 相當於同一個 context 是的,一個文檔相當於一個 context,openAI 會記住文檔中的詞彙和句子結構,以便在回答下一個問題時可以更加準確。

      一般 endoftext 好像是用 "\n" 也就是 CR 。我猜隔兩個 CR 就會變成下一個 document 了? 是的,endoftext 被定義為 "\n",因此每當 openAI 收到 "\n\n" 時,就會記錄文檔結束,然後開始新文檔。

      我試試看,文檔跟 context 的關係是甚麼 文檔與 context 之間的關係是 openAI 對於輸入和輸出的理解。文檔是 openAI 處理輸入和輸出的單位,而 context 則是 openAI 對於文檔的理解,它會記住文檔中的詞彙和句子結構,以便在回答下一個問題時可以更加準確。

      文檔跟 context 的關係是甚麼? (結果還是同一個 context) 文檔和 context 之間的關係是 openAI 處理輸入和輸出的單位。文檔是 openAI 處理文字和句子的基本單位,context 則是 openAI 理解輸入和輸出的方式。OpenAI 對文檔中的詞彙和句子結構會有所記憶,以便在回答下一個問題時可以更加準確。

    3. The maximum number of tokens to generate in the completion.

      max_tokens parameter 是一個整數參數,用於控制 OpenAI Completion 模型裡輸出的 tokens 的最大數量。它可以用來限制輸出結果的長度,以確保輸出的結果是有意義的。

    4. ID of the model to use

      e.g. model = "text-davinci-003"

    1. quickstart tutorial

      先不急著跳過去,順順往下讀很快就到了。

  5. Nov 2022
    1. Either

      Either(OneOrMore('a') , 'b' , 'c') --> a+|b|c <br> So why not: pre1 | pre2 | pre3 ? <-- error !! <br> I guess because | is for [...] only avoid confusion.

    2. Enclose

      Be aware of the differences to pregex.core.assertions.EnclosedBy

    3. Concat

      Concat(OneOrMore('book'),AnyButDigit())<br> OneOrMore('book') + AnyButDigit())<br> are samething

    1. out PRegEx’s documentation fo
    2. AddLeastOnce

      There's no AtLeastOnce() but AtLeast() see my example: from pregex.core.quantifiers import AtLeast pre = OneOrMore(AnyDigit()) + ":" + AtLeast(AnyDigit(),1)

    3. pip install pregex

      Fast and smooth pip installation

    1. cond

      condition 進 debugger 的條件。

    1. https://stackoverflow.com/a/16630836/2179543 查看 python requests 的實際輸出用 logging 是最好的方法。因為 Chrome F12 DevTools 看不到 (它看到的是 jupyterlab 的活動) 。照這個例子直接執行就可以看到效果了。

  6. Oct 2022
    1. \ Class DictObj() https://joelmccune.com/python-dictionary-as-object/

      class DictObj:
          def __init__(self, in_dict:dict):
              assert isinstance(in_dict, dict)
              for key, val in in_dict.items():
                  if isinstance(val, (list, tuple)):
                     setattr(self, key, [DictObj(x) if isinstance(x, dict) else x for x in val])
                  else:
                     setattr(self, key, DictObj(val) if isinstance(val, dict) else val)
      
      d = {'a':11, 'b':22}
      d
      
      dd = DictObj(d)
      dd.a --> 
      dd.b --> 
      dd.__dict__ -->
      
    1. 退休後也不急著用錢,想什麼時候領就什麼時候領;萬一退休時剛好遇到績效不佳時,也可等到績效回升時再領。

      可以走走停停嗎? 還是開始領的那一次定終生?

    1. TPOT does exactly that

      專業的 model 上游研究機構可以多多利用 TPOT。TPOT 很耗資源、時間,一般公司先用 DataRobot/Azure/GCP 等確定 AI 能處理問題,TPOT 用於最終優化階段或可。

  7. Sep 2022
    1. 咱要的是 word frequency list 要從 word cloud 到 save data 中間的連線之多種選擇當中去挑對的一個

    1. Don’t use loc/iloc with Loops In Python, Instead, Use This!

      When in loops use at/iat instead same pattern but different purpose

  8. Aug 2022
    1. Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." - Antoine de Saint-Exupéry

      Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." - Antoine de Saint-Exupéry

    1. This solution (https://stackoverflow.com/a/47448257/2179543) works fine. My experience on Hubble2NN after having chipset and keywords screening the found TRs only 2 or 3 and then somehow the df to corpus convertion got an error because text columns should be in meta section but went to feature incorrectly. This sample code works immediately to have fixed the problem.

    1. It can return an object of the class.

      這句話莫名其妙,如果能 return object of the class 也就是某個 instance 也就是有 self 了,矛盾! staticmethod 就是拿不到 self 才叫 static 不是嗎?

    1. you only have to know the ‘Type’ of a model to understand how you can invoke that model (input signature) and what response you can expect from it (output signature).

      所謂 signature 就是 input / output 的東西就叫 signature

    1. 注意:如果“使它成為我的主顯示器”選項為灰色,則表示您要設置為主顯示器的顯示器已經是主顯示器。

      錯!鬼扯。答看看這裡 https://hyp.is/Xj87RBd9Ee2gfVPBdzK9lg/answers.microsoft.com/en-us/windows/forum/all/main-display-is-suddenly-greyed-out/028c0cf2-9710-4c92-8475-e74cef1963a8 ,不是 driver 不是 Intel 而是 Microsoft 他媽的亂搞沒有人知道的操作步驟。

    2. 使它成為我的主顯示器”選項為灰色
    1. 如果你發現「使其成為主顯示器」呈現灰階無法選取,那表示你得進入顯示卡的設定區域調整 ( 如 Intel, AMD 的內建顯示卡調整設定 )。

      錯!鬼扯。答看看這裡 https://hyp.is/Xj87RBd9Ee2gfVPBdzK9lg/answers.microsoft.com/en-us/windows/forum/all/main-display-is-suddenly-greyed-out/028c0cf2-9710-4c92-8475-e74cef1963a8 ,不是 driver 不是 Intel 而是 Microsoft 他媽的亂搞沒有人知道的操作步驟。

  9. Jul 2022
  10. Jun 2022
    1. 若無前一日 K 值或 D 值,可以 50% 代入計算。

      rsv_ = kd.stoch().fillna(50)

    1. preds = aml.leader.predict(wine_test) from h2o.estimators.glm import H2OGeneralizedLinearEstimator

    1. 3 This answer is not useful Show activity on this post. XGBoost is not supported on Windows, see the limitations in the H2O documentation.

      試試看 conda install py-xgboost

  11. May 2022
  12. Apr 2022
    1. Preferences: Open Keyboard Shortcuts

      左下角的齒輪 > Keyboard Shortcuts Ctrl+K Ctrl+S > 右上角轉成 json 就是 keybindings.json 了。也可以用 Ctrl-shift-p command pallet 敲下 "keyboard shortcuts" 應該也可以找到該設定。

    1. Broad support for Azure VM types including GPUs and persisted low-level customization such as installing packages and drivers makes advanced scenarios a breeze. You can also use setup scripts to automate customization

      這就是 compute instance 與 compute cluster 的差別了!後者比較死,供產品上線使用。當要加掛新的 AI module 還得跑 function() 去做 (一做整個 cluster 所有 container 全做) 而前者就是一台 VM 用 terminal 去 pip install ,供開發使用。

    2. fully configured and managed development environment

      不是 compute cluster 不是 CPU 而是整台 VM 用於 Azure ML notebook 就是 compute instance.

  13. Jan 2022
    1. conda config --append envs_dirs /path/to/the/parent_dir

      My desktop min an 的實例是這樣下的: conda config --append envs_dirs "C:\Program Files" 不用給名子 (Orange) 放心, conda 會自己找到有打過 conda venv 的 subdirectories.

    1. pandas 1.3.3 to_feather giving ArrowMemoryError

      I tried pandas 1.3.0 and upgraded to 1.3.5 both have the same problem on VS Code jupyternotebook. Then I tried Jupyter lab on Chrome and the problem went away! The error message "ArrowMemoryError: realloc of size 788529152 failed", "ArrowMemoryError: malloc of size 417714368 failed",ArrowMemoryError: malloc of size 1291583808 failed" , "ArrowMemoryError: realloc of size 587202560 failed" were showing weired size number so I believe there's a bug in VS Code v1.63.2.

    1. Tuple[int, ...]

      type notation 時,意思很明白。表示整個 tuple 都是 同質的 int.

    1. 這個問題只會發生在 Chrome 上的 jupyter lab 頁面。My workaround 就是退出 Google Chrome 再進來即可。感謝 Workrona 這麼做原來的工作都還在不會中斷,因此並不麻煩。

  14. Dec 2021
    1. [(0,0), (0,1), (1,1), (2,2), (3,3), (4,3)]

      這條 path 上每個點上兩個數字代表 pattern1 與 pattern2 上的 index. 把兩個 pattern 兩兩相關,對齊起來。

    1. open the Network tab in Google Chrome, select the request I want to repeat, and click Copy as cURL

      OMG! it's real!!! I have tried.

  15. Nov 2021
    1. z.getDatasource("datarobot_api")['token']

      An authentication dialog will popup I guess?

    2. assembled dataset.

      What does it mean? Combined many datasets together?

    1. df.as_matrix()

      df.as_matrix() was deprecated after version 0.23.0. Use df.values instead. but df.values has memory problem for large data

    1. 單次不驗證 SSL

      Moved to LBB2 trying to clone "hubble2-nearest-neighbors" from Patric's GitLab got this error ((C:\Program Files\Orange) C:\Users\8304018\Documents\GitHub>git clone https://10.32.48.242/HCChen/hubble2-nearest-neighbors.git Cloning into 'hubble2-nearest-neighbors'... fatal: unable to access 'https://10.32.48.242/HCChen/hubble2-nearest-neighbors.git/': SSL certificate problem: self signed certificate) fixed by this option.

  16. Oct 2021
    1. notepad.runMenuCommand('TextFX Edit', 'Delete Blank Lines')

      TextFX 已經改很多了,要照實際抄才行。 notepad.runMenuCommand("TextFX Tools", "T:Word Count") # 要加上 T: 才行,空格都要正確,但是大小寫不分

    2. Notepad.menuCommand(menuCommand)

      executes built-in menu commands (not plugins)

      notepad.menuCommand(MENUCOMMAND.EDIT_DUP_LINE) really duplicates the active line.

    3. Notepad.getNppDir()

      notepad.getNppDir() 'C:\Program Files (x86)\Notepad++'

    4. getEncoding

      Most of them are cookie !!!

      notepad.getEncoding()<br> Npp.BUFFERENCODING.COOKIE .txt file notepad.getEncoding() Npp.BUFFERENCODING.COOKIE buffer new 1 file notepad.getEncoding() Npp.BUFFERENCODING.UTF8 1.py

    5. Notepad.getCurrentLang()

      notepad.getCurrentLang() Npp.LANGTYPE.TXT 指的是 programming language

    6. Gets the filename of the active document

      actually the full path name

  17. Aug 2021
    1. forNonBlank(e, v, eNonBlank, eBlank)

      Python equivalent: result = eBlank if isBlank(e) else eNonBlank

    2. forEachIndex(e1, i, v, e2)

      [(index+1)+"."+value for index,value in ["anne", "ben", "cindy"]]

    3. forRange(n from, n to, n step, v, e)

      C language equivalent: for (v=from; v<=to; v+=step) e;

    4. forEachIndex([ "anne", "ben", "cindy" ], i, v, (i + 1) + ". " + v)

      [(index+1)+"."+value for index,value in ["anne", "ben", "cindy"]]

    5. with("european union".split(" "), a, forEach(a, v, v.length()).sum() / a.length())

      Python equivalent : a = "european union".split(" "); = [v.length() for v in a] result = .sum() / a.length()

    6. filter([ 3, 4, 8, 7, 9 ], v, mod(v, 2) == 1)

      Python equivalent: [v for v in [ 3, 4, 8, 7, 9 ] if mod(v,2)==1]

    7. forEach(a, v, v.length())

      Python equivalent : [v.length() for v in a ]

  18. Jul 2021
    1. 「Fill down」功能 — 下拉式選單 → Edit Cells → Fill down

      用整片空白之上一格的值向下填滿。

    2. 這時可以點擊「exclude」來取消選取

      稱為 exclude 想必可以 include 多個之故。

    1. All that I tried are not work for Chrome 91 on Windows 10. Two fingers horizontal swipe appears an arrow icon on left or right side start with white color. If you stop swiping then nothing happen. If you keep on then it turn to blue color then the backward/forward will happen. I guess this is the reason why the function can not be easily disabled because Google Chrome thinks user has the chance to stop it.

      Simply use Edge then this problem is gone.

    1. DataRobot gives you the choice to set constraints on the slope of feature effects.

      可以在 start 之前用 Advanced Options > Feature Constraints > Monotonicity 下設定

  19. Jun 2021
    1. how effective the model is in terms of differentiating different instances

      類似放大器的「頻率響應」

    2. Tip: You may like to explore a dataset using different targets. There’s a simple way to streamline that work: make a copy of the project (from the Manage Projects page) and re-run it with the second target.  

      弄 QT bug title parsing 時,就是想用這招來避免大量重複創建同一個 project. 用 duplicate project 的方式就可以變出新 project 以便更改 target. 我的觀念沒錯: project, target, dataset 三者綁在一起,改了就是另一個 project 了。

    1. I ran my own POC to determine if I could use the new image classification capabilities of DataRobot to classify images sourced from audio files.

      POC is Proof of concept

  20. May 2021
    1. The PowerShell command below lets you display the Windows Firewall state on the remote machine

      把 ComputerName 的部分拿掉就可以用在 local : Remote Invoke-Command -ComputerName [ComputerName] -ScriptBlock {netsh advfirewall show allprofiles} Local Invoke-Command -ScriptBlock {netsh advfirewall show allprofiles}

    1. Syntax : app.use(path, middleware function/s)

      這個講得最好,app.use(path, func) 就是給 path 指定一個 func 就對了。其中若 path 省略,則 app 收到所有 request 都 call 這個 func.

    1. Chromosomes selection

      用上了從 OneNote2001 "Kie Codes' Genetic Algorithms explained by Knapsack Problem" 學來的 Python builtin sorted() 以及 random.choices() 超爽的感覺。本來要從 nongranded array 裡取 20% 是有點挑戰,結果又好又簡單。

    2. 題目沒講清楚,輸入 string chrom 是猜測,key 則是答案 string. 比較兩者正確率傳回。

    1. chromosome encoding

      這是個練習題,很簡單,但做了就能徹底明白文章到此表達的意義。我的答案是 insert 9,10,11 行: s = "" for i in range(size): s += get_letter() 好棒好棒! Codingame 會記得我的答案 (但不會主動執行並通過)。

    2. 56 authorised characters

      26 alphabet * 2 大小寫 = 52 再加上 4 個符號。

  21. Apr 2021
    1. 用 pandas 最好不過,因為 pandas 本來就有 support clipboard. import pandas pandas.io.clipboard.copy('hahahaha') 然後 ctrl+v 試試看 it works!!

  22. Feb 2021
    1. In JavaScript, we can use a for .. of loop.

      js> [1,2,3,4] value a a <js> for (i of pop()) type(i) </js> 1234 OK

    2. In JavaScript, we also have for .. in loops to iterate over the properties of an object.

      "in" 是 object properties; "of" 是 iterable. .

  23. Jan 2021
  24. Nov 2020
    1. In a Command Prompt window, you can attach to a running process when you launch CDB. Use one of the following commands: cdb -p ProcessID cdb -pn ProcessName where ProcessID is the Process ID of a running process or ProcessName is the name of a running process.

      ProcessName 就是 proeforth.exe

  25. Oct 2020
    1. Click download to get the installer. It looks like needs account, but it doesn't, just click download the to the step next to the login, that I already have and Google remembers it.

    1. high-order bit is 1

      以 scroll lock 實驗 : test begin [ lit hex 91 , ] GetKeyState .q cr 500 Sleep drop again ; 壓著不放就是 FF80 或 FF81 , bit 0 是 toggling.

    1. The sh library

      Will Windows be supported? There are no plans to support Windows. http://amoffat.github.io/sh/sections/faq.html

    2. x : x

      這兩個 x 可以改用 tmp 以免誤導。

    3. x

      用上面定義的 x array 代入。但不是馬上,而是 iterating 的時候才執行。

    4. geopy

      location = GoogleV3().geocode(place) main:1: UserWarning: Since July 2018 Google requires each request to have an API key. Pass a valid api_key to GoogleV3 geocoder to hide this warning. See https://developers.google.com/maps/documentation/geocoding/usage-and-billing Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\User\source\repos\PythonApplication1\playground\lib\site-packages\geopy\geocoders\googlev3.py", line 266, in geocode return self._call_geocoder(url, callback, timeout=timeout) File "C:\Users\User\source\repos\PythonApplication1\playground\lib\site-packages\geopy\geocoders\base.py", line 376, in _call_geocoder return callback(result) File "C:\Users\User\source\repos\PythonApplication1\playground\lib\site-packages\geopy\geocoders\googlev3.py", line 393, in _parse_json self._check_status(page.get('status')) File "C:\Users\User\source\repos\PythonApplication1\playground\lib\site-packages\geopy\geocoders\googlev3.py", line 423, in _check_status 'Your request was denied.' geopy.exc.GeocoderQueryError: Your request was denied.

    1. Copy Code (Ctrl+Shift+C)

      咦! ipython 也有這個功能嗎?

    2. Interactive REPL window

      哦! 又複習一遍, REPL 就是 monitor 、 console. 特別指的是類似 Node.js 的 interactive console 有個像 forth 一樣的 interpreter loop 把 JavaScript 變成 interpreter 環境。那就是 REPL。

    1. select Properties, select the Debug tab, then add -i to the Interpreter Arguments field.

      等於是 python -i , 目的是為了程式跑完以後查看結果。

    1. .PDB 檔中有什麼資料?

      可以用 "c:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbh.exe" dump .pdb 的內容 e.g. dbh.exe" -v proeforth.pdb x proeforth!Pro dbh.exe" -v proeforth.pdb x proeforth!KVM dbh.exe" -v proeforth.pdb x proeforth!user*

  26. Sep 2020
    1. C 語言秘技 (1) – 使用 sscanf 模仿正規表達式的剖析功能 (作者:陳鍾誠)

      sscanf scanf regular expression

  27. Aug 2020
    1. Microsoft Windows 應用程式開發介面 (Windows API) 可針對處理字元和字串的每一個函式,各包含兩個版本:一個是單位元組字元的 ANSI 版本,另一個是雙位元組字元的 Unicode 版本

      可能就是 MessageBox 與 MessageBoxA 的差別 --> Yes! 往下看就看到了。。。

    1. depressed

      好像是說要 keyup 該 VK 才會放開?

    2. SendKeys in C++

      The demo is cool! and it works on my Window 10 64bits professional.

  28. Jul 2020
    1. http://username.github.io/repository

      It's not clear. This is an example: http://hcchengithub.github.io/project-k where username is "hcchengithub" and repository is the project name "project-k" remove the ending dot.

    1. python -m easy_install C:\Users\Prosserc\Downloads\QSTK-0.2.6-py2.7.egg

      it copy the .egg to site-package but not unzip the .egg because .egg can really run directly. The problem is data files in the .egg needs setuptools API to access and that's an extra effort besides I don't know how to know if my module is run from from .egg !! So, I want to install .egg means I want it to be unzipped to site-package. How?

    1. 請至「電腦桌面」→ 請點選「電腦」→ 「控制台」→ 請點選「地區及語言選項」→ 請點選「地區選項 選 中文(台灣)」「位置 選台灣」→ 再點選「進階」 選擇「中文(台灣)」→ 再按「確定」,重新啟動再登入E01即可。
    1. 富邦e01軟體安裝後出現亂碼?

      see my OneNote2020 "富邦e01 中文亂碼解法"

    1. JavaScrip array 超能力 "forEach" , "some" and "every"

      <js>
      [1, 2, 3].some(function(el) {
      type(el);
      return el >= 2;
      });
      </js>
      12 OK 
      > <js>
      [1, 2, 3].every(function(el) {
      type(el);
      return el >= 2;
      });
      </js>
      1 OK 
      
    1. wcout.imbue(std::locale("chs"));// //設定語言區域為中國

      "cht" 則為台灣<br> c:\Users\8304018\Documents\GitHub\proeforth\Debug>proeforth.exe abc def 123 中文 台灣<br> Hello World!!<br>argv[0] = proeforth.exe<br> argv[1] = abc<br> argv[2] = def<br> argv[3] = 123<br> argv[4] = 中文<br> argv[5] = 台灣<br> c:\Users\8304018\Documents\GitHub\proeforth\Debug>chcp<br> Active code page: 950<br>

    1. PS C:\> pip install jupyter

      activate my venv 'playground' and do it, it works! Note! when activating 'playground' the current directory is not necessary at 'playground', I guess . . . YES!!

    2. PS C:\> python -m venv myenv PS C:\> myenv\Scripts\activate

      This does not CD to the myenv directory:

      <textarea cols=100 rows=8> Microsoft Windows [Version 10.0.18363.959] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\hcche>Documents\python_venvs\playground\Scripts\activate (playground) C:\Users\hcche> </textarea>
    1. use venv of python on windows & mac

      照這篇做,很簡單,開個 working directory "playground" and make it the current directory. 用 python -m venv playground 在當前 current directory 處建立 venv. 從此,.\script\activate.bat , .\script\deactivate.bat 就可以切換本 directory to be or not to be the activated environment 了。

    1. Go to the Project menu and choose Add Class.

      我竟然找不到,改用 search 的才找到。

    2. // 1. Use the Solution Explorer window to add/manage files // 2. Use the Team Explorer window to connect to source control // 3. Use the Output window to see build output and other messages // 4. Use the Error List window to view errors

      若找不到都在 view pull-down menu 裡面

    1. ProPath target_workspace

      workspace 的完整 URL "wtws://tkcourse/Workspace on 00-HC/"

    1. Pass NULL for a default checkout

      button 31 use NULL<br> button 41 use an Options structure

    1. The properties of the options will match the default checkout properties in Creo Parametric.

      初值照 default

    1. The called function should not populate this array with any ProValueData structures of type PRO_VALUE_TYPE_POINTER. */

      所調用的函數不應使用PRO_VALUE_TYPE_POINTER類型的任何ProValueData結構填充此數組。意思就是說,用ProValueData 但不是 PRO_VALUE_TYPE_POINTER。

      我做實驗發現奇怪現象,若 outputs 裡有個 block 的 type 是 arg1.value.type = PRO_VALUE_TYPE_POINTER; 整個 blok 就會被 skip! Caller 收不到這個 outputs[n] block.

    2. ProToolkitTaskExecute

      This function is a wrapper to call the actual ProTkdllFunction function

    3. Note:When done reading output_arguments, call ProArgumentProarrayFree to free the data.

      這就是說:用畢 output 值之後由 caller 負責 free 掉該 output argument array 的 memory. 這是對 toolkit caller 而言。 Web.Link caller 怎麼 free?

    1. typedef struct pro_server_conflicts* ProServerConflicts;

      很多 function 有 output ProServerConflicts conflict. 當它的 return ProError status 為 PRO_TK_CHECKOUT_CONFLICT 時,這個 output 才有意義,用 ProServerconflictsDescriptionGet() http://localhost:8800/Creo_3.0_Toolkit_Doc/protkdoc/api/5951.html 去查它的意義。

    1. ProValuedataWstringSet

      採用這類 function 的目的是 一、方便 二、到時可以用 ProArgumentProarrayFree() 一舉釋放乾淨。如果 ProArgument 在 static local 就用不著這個了。

    1. ProServerWorkspaceData* data /* (Out) The workspace data. */

      用完應該要 free 掉吧! ProServerworkspacedataFree() http://localhost:8800/Creo_3.0_Toolkit_Doc/protkdoc/api/5914.html 喔!不一定要,如果是在 local 宣告的 dynamic ProServerWorkspaceData 當然就不用 freee().

    1. static pfcArgValueCreateStringArgValue (string Value)

      it's a JavaScript normal string here but will be a wchar_t to the callee. Use CreateASCIIStringArgValue() for char string.

    2. static pfcArgValueCreateASCIIStringArgValue (string Value)

      use another function to pass a wchar_t * string

    3. CreateStringArgValue (string Value)

      it's wchar_t * string , according to my tests on ~\GitHub\proe\toolkit_training_Windchill\src\WcEx11.c

    1. Managing Application Arguments
    2. Task Based Application Libraries

      Read Toolkit manual's corresponding document page http://localhost:8800/Creo_3.0_Toolkit_Doc/protkdoc/manual0/Applilib.html#1

    3. pfcArgValue.discr

      This is the "ProValueDataType" in the union of "ProValueData" http://localhost:8800/Creo_3.0_Toolkit_Doc/protkdoc/api/provalue_h.html#ProValueData

    4. pfcDll.Unload()

      Just [STOP] and terminated. To remove the DLL from the auxiliary applications UI you need to click [delete] manually.

    5. pfcBaseSession.LoadProToolkitLegacyDll()

      Obsoleted

    1. typedef struct pro_argument
    2. Task Based Application Libraries
    3. ProValueData value

      This is a structure with type and an union that contains string that is a pointer only w/o the string itself.

    4. ProName label

      this is a wchar_t[200+] string with static memory

  29. Jun 2020
    1. Copies a file from local disk to a Windchill workspace;

      This function is for foreign files (none CAD files)

    2. The document which the copy will be attached to, "box7.prt" for example.

      指出誰是 primary 就表示 source_file 是它的 attachment.

    1. wchar_t* file

      Windchill 上只需檔名即可抓到 object (CAD 檔)

    2. top level object to checkout or download.

      same function for checkout and download

    3. Can be NULL.

      filename is enough, so we use NULL.

    1. conflicts

      [ ] There's a function to print the conflict thing , what's that? _

    1. The alias used by Creo Parametric to refer to the server

      L"tkcourse"

    2. ** data

      宣告 one star, called with &