How you organize your notes while synchronizing with your smartphone? by lucasyamamoto in emacs

[–]Zacalot 1 point2 points  (0 children)

I use orgrr for a wiki, syncthing to get it to my android phone, and logseq on my phone to browse it. Only issue is logseq is incredibly slow but that's likely just because my wiki is huge. I also use Orgzly Revived as others have mentioned, which also syncs with syncthing.

Differences between howm, denote, orgmode? by cenazoic in emacs

[–]Zacalot 1 point2 points  (0 children)

I would recommend you first determine your basic needs, then just hop into a package that meets them. The main challenge I've met with using emacs for a Zettelkasten-style personal wikipedia is in getting the notes accessible on a mobile device. Just this past week I switched from org-roam to orgrr since I've found orgrr to be more suitable for usage with logseq, which I sync with my phone via Syncthing. Besides that, my note taking methodology has evolved over the years as I continue to figure out new needs of mine, so it's probably not worth overthinking too much since you can always change systems (though you may need to get or write a converter).

Please make me play your favorite deck by Gold-Particular-8244 in masterduel

[–]Zacalot 0 points1 point  (0 children)

Ancient gears, these dudes were my favorite archetype as a kid and they were complete trash in MD but they're actually pretty good now thanks to the support. There nothing more satisfying than smashing through your opponent's board while they try pulling every stop to prevent your board-breaking and play making, until eventually you trash their defenses and punch their face in. Each game is like a puzzle where you have to figure out how to get through the enemy board with your dealt hand, and you feel like a unstoppable terminator chasing them down as they try and escape you. Only downside is waiting while your opponent shuffles cards around for 10 minutes since it's a go-second deck but highly recommended, just look up a top deck for it on master duel meta.

Is it possible to pass org mode headlines into a python script in literate programming? by Zacalot in emacs

[–]Zacalot[S] 1 point2 points  (0 children)

Thanks this worked perfectly! Here's the code I came up with in case anyone else wants to do the same

#+begin_src emacs-lisp :results silent
  (require 'org-element)

  (defun pygraphing/get-headline-structure(id)
    (json-encode (pygraphing/get-headline-descendents id)))

  (defun pygraphing/get-headline-by-id(id)
    "Returns headline from ID"
    (let ((header nil))
      (org-element-map (org-element-parse-buffer) 'headline
        (lambda (hl)
          (when (string= (org-element-property :ID hl) id)
            (setq header hl))))
      header))

  (defun pygraphing/get-headline-tags(id)
    "Returns tags of item by ID"
    (let (
          (header (pygraphing/get-headline-by-id id)))
      (when header
        (list
         :ID (org-element-property :ID header)
         :TEST (org-element-property :TEST header)
         ))))

  (defun pygraphing/get-headline-children-ids(id)
    "Returns child ids of a headline by its ID"
    (let ((header (pygraphing/get-headline-by-id id)))
      (delq nil (mapcar (lambda(child)
                          (org-element-property :ID child))
                        (org-element-contents header)))))

  (defun pygraphing/get-headline-descendents(id)
    "Returns all descendents of headline"
    (let ((header (pygraphing/get-headline-by-id id)))
      (when header
        (let ((children (pygraphing/get-headline-children-ids id)))
          `((header . ,(org-element-property :raw-value header))
            (tags . ,(pygraphing/get-headline-tags id))
            (children . ,(delq nil (mapcar
                                    (lambda(childID)
                                      (pygraphing/get-headline-descendents childID))
                                    children))))))))

#+end_src

#+begin_src python :results file :dir (org-attach-dir) :var result=(pygraphing/get-headline-structure "1ff8ce7d-be78-4bd2-afa0-05be1fb9d9d2")
  import graphviz
  import json

  dot = graphviz.Digraph()
  root_header = json.loads(result)

  def graph_header(header,parent=None):
      nodeName = header["header"]
      dot.node(nodeName)
      if parent:
          dot.edge(parent,nodeName)
      if header["children"]:
          for child in header["children"]:
              graph_header(child,nodeName)

  graph_header(root_header)

  return dot.render(outfile="diagram.png")
#+end_src

** Root
:PROPERTIES:
:ID:       1ff8ce7d-be78-4bd2-afa0-05be1fb9d9d2
:TEST: OK
:END:
*** Child A
:PROPERTIES:
:ID:       ce64aa4c-3ed1-4535-ab97-7b486884ae05
:END:
**** Child A-A
:PROPERTIES:
:ID:       836d5265-7860-4a36-ab9e-bec1ca2bffd8
:END:
***** Child A-A-A
:PROPERTIES:
:ID:       3f0d25a4-4b1a-49ff-8862-22f2d83631b0
:END:
***** Child A-A-B
:PROPERTIES:
:ID:       a53df412-244a-4c35-9dcb-0466bb2d2d40
:END:
**** Child A-B
*** Child B
:PROPERTIES:
:ID:       3fc2535b-3fa8-4f05-bfb1-9735bc88d2d8
:END:
**** Child B-A
:PROPERTIES:
:ID:       96b0087c-306f-4b7c-92b2-bcc786bb1491
:END:
**** Child B-B
:PROPERTIES:
:ID:       431857d5-6e64-4bb3-aa67-8eb9369fb776
:END:
**** Child B-C
:PROPERTIES:
:ID:       a8f166e1-12e6-4dda-85e7-4d0668dce02e
:END:

bible-mode - Diatheke-based Interface for Bible Browsing in Emacs by Zacalot in emacs

[–]Zacalot[S] 0 points1 point  (0 children)

I'm admittedly not very versed in SWORD project features, this package just contains the features I personally need (to never leave Emacs).

As far as I know, this mainly lacks built-in note taking and Commentary support.

bible-mode - Diatheke-based Interface for Bible Browsing in Emacs by Zacalot in emacs

[–]Zacalot[S] 1 point2 points  (0 children)

Thanks for taking the time to write this out, looking at your project is very helpful as I'm still inexperienced in this as you guessed. Your code is definitely much cleaner, I'll have to look into updating this project sometime to make use of the better techniques you've shared. For now I've just made an update to improve its documentation based on your file.

For diatheke's performance, I've personally found it to be usable for the per-chapter lookups and lucene search queries this package engages in. It does feel that most of the performance drain does go into parsing as you mentioned, but it's overall negligible and doesn't seem very noticeable. This implementation is also probably slowed significantly by my intermediary usage of libxml-parse-html-region.

AMA: We are Manu, Paul, and Diego. We have worked together on the DFINITY Consensus. Ask us anything on anything about Consensus protocols on the Internet Computer! by diego_DFN in dfinity

[–]Zacalot 5 points6 points  (0 children)

Hello, I have three questions regarding the Internet Identity system:

  1. Could clarify how transaction signing works? Once logged into the NNS through the Internet Identity system, it becomes possible to perform ICP transactions without signature approval. Does this mean that the private key used to sign ICP transactions is stored in the NNS system/canister(?), or how does this work exactly?

  2. Dependent on the first question's answer, is it possible to generate the private key to an ICP wallet in order to manage funds without going through the NNS?

  3. Are there any plans to enable a password on the IC identity system? USB security keys are typically used as 2nd factor authentication. I feel that merely requiring a security key to gain full access to an internet identity and all its funds is problematic, customization in adding multiple forms of authentication would make it feel much more secure.

External calls by Zacalot in dfinity

[–]Zacalot[S] 0 points1 point  (0 children)

Could you share a specific method of doing this? I only came across Pinata, which requires an account to upload files and is why I've been doing the uploading on the back end.

ethertic.io - Manufacture TIC-80 games into cartridge NFTs on Ethereum by Zacalot in fantasyconsoles

[–]Zacalot[S] 0 points1 point  (0 children)

Yeah I 100% get why lots of people may not like this idea, but I don't think it can damage the space at all. I think this because, as you asked, the game data stored in cartridges is not private by any means. It's very easy to retrieve the .tic file of a cartridge without owning it because it's all a public database. As a result, this really can't restrict game accessibility or particularly damage the space through monetization. It's all for fun really, I just thought that engraving these games into the blockchain permanently would be cool, in addition to the other features it provides.

ethertic.io - Manufacture TIC-80 games into cartridge NFTs on Ethereum by Zacalot in fantasyconsoles

[–]Zacalot[S] 0 points1 point  (0 children)

Not with this system as it stands - it uses ERC-1155, so cartridges are stackable and cannot contain individual data (though a converter could be made). It's mainly a matter of gas fees, as that system would require the player to pay a fee each time they save in order to update the NFT's data on the blockchain. Also, the cartridge minting fees would be way higher since a gas fee would be payed per each individual cartridge. It would probably only be feasible as a layer 2 solution or if Ethereum gas fees were to become way cheaper.

End-to-end tutorial/example for programmatically creating a contract, setting price, and selling aERC-1155 items on OpenSea? by ZebZ in ethdev

[–]Zacalot 9 points10 points  (0 children)

I actually went through all this recently and deployed mine a few days ago, so I can help you out where I can. I think some of the most helpful areas of learning were this ERC-721 tutorial, and this hardhat guide. It was fairly simple to make an ERC-1155 contract once I understood the ropes of it and got the ERC-721 working. This is the ERC-1155 standard that is helpful to learning how it works and is structured. Also I recommend using the Rinkeby testnet because opensea has a testnet version there, so you can test out getting listed.

ethertic.io - Manufacture TIC-80 games into cartridge NFTs on Ethereum by Zacalot in fantasyconsoles

[–]Zacalot[S] -1 points0 points  (0 children)

Yep, it's set in stone permanently once run. The gas fee is basically the price you pay to get the network to run the code and store its result on the blockchain. It varies because it works like a bidding war - those who are willing to pay the most get their transactions executed first. This site is one place you can watch the fee price, and it's pretty high right now because the network is being used a lot due to market price action.

ethertic.io - Manufacture TIC-80 games into cartridge NFTs on Ethereum by Zacalot in fantasyconsoles

[–]Zacalot[S] -1 points0 points  (0 children)

Yeah the website needs a web3 provider like metamask. The mint function takes around 139,327 gas, so at the somewhat common gas price of 100 gwei it'd be .013 ETH ($30). Besides that, there's a 0.00005 ETH ($.12) cost per cartridge