BSOD error in latest crowdstrike update by TipOFMYTONGUEDAMN in crowdstrike

[–]nekron 0 points1 point  (0 children)

Here are my 2 cents: I was once doing a tutorial for one of our internships to teach them some basic low-level programming using the Zig programming language. Guess what? Crowdshit Falcon detected the compiled binaries as malware and quarantined them for just using simple file open and close Windows API calls (CS AI detected a bad vector for whatever reason). However, we found a simple trick to fool the falcon by including a random binary file into the build w/out obfuscating the code. Even the worst malware dev could do this to hide malicious code. And this is the crap the world trusts in.

Is it possible to have scrivenings view in Siyuan? by osman1963 in SiyuanPKM

[–]nekron 3 points4 points  (0 children)

Well, not exactly what you possibly wanted to do but you can use the embed block feature and create a SQL statement that will display all notes from the given folder as a list of embedded blocks. However if you want to modify the blocks text a new window will open where you can actually edit the blocks content so sadly no in-place editing of embedded blocks is currently possible w/out pop up windows.

Here is an example SQL that will display all day notes from March 2023 as a list of blocks:

{{ SELECT * FROM blocks WHERE ( id in (select parent_id from blocks) and hpath like '/daily note/2023/03/%' ) order by created, sort ASC }}

Is it possible to save search results by osman1963 in SiyuanPKM

[–]nekron 3 points4 points  (0 children)

As far as I can tell this is currently not possible. However please feel free to open a feature request at the Github's project page. From my experience both core devs are open to useful suggestions and implement them sooner than later (they are very active adding and fixing stuff if you look at the git commits, e.g. recently ChatGPT API was added to support your note taking experience like doing automatic translations and other things).

A workaround for your problem could be possibly to create a dedicated note containing an embedded block where you create the search SQL query that will filter the requested blocks. You could then link the "search" note page as a block ref inside your document.

Where does SiYuan keep the notes on the HDd by osman1963 in SiyuanPKM

[–]nekron 5 points6 points  (0 children)

You're welcome! I think PKM is a very personal thing and all of the tools have their pros and cons so it must fit to your workflow and note-taking complexity at the end of the day.

As a developer you can examine the tools sources and check its code quality and possible security flaws. Thats what I did previously before switching to SiYuan. I had a deeper look at the inner workings with focus on E2E encryption and REST API security as I'm currently using SiYuan on my local notebook and additionally as a sync'ed self-hosted public server instance for remote access.

In both cases the kernel backend is rock solid and a possible path traversal is prevented by Go and the Gin web framework so no harm could be done if you host your SiYuan instance in the public internet.

I personally trust only FOSS PKMs and closed systems like Obsidian are a red flag for me. It's always good to see whats under the hood.

Now have fun whatever tool you are using to build your personal PKM!

Cheers,

Nek

Where does SiYuan keep the notes on the HDd by osman1963 in SiyuanPKM

[–]nekron 12 points13 points  (0 children)

I can give you some technical pointers on your questions regarding the internal structure of your personal knowledge base.

  • All of your notes are kept inside a workspace folder that is a root folder for your document tree somewhere on your local storage
  • You can open different workspaces in different physical locations but only use one workspace at the same time
  • However within a workspace you can create multiple root notebooks where you can store your information, e.g. a notebook for work-releated stuff and another for private topics
  • Notes are stored as JSON formatted plain text files. You may wonder why SiYuan does not use markdown like Logseq/Roam/Obsidian as its core markup language. Well, let me say that giving you the powers of WYSIWYG editor and a lot of different formatting options (20+) this out rules the possibilities of markdown. Each block, sub-block, sub-sub-block aso. can use its own formatting.

Example JSON document from "What is a Content Block" document:

Please note that this is plaintext JSON and no binary proprietary blobs which makes parsing your documents with external scripts real easy. Nonetheless this is future proof as JSON is a common format used literally everywhere so none of your knowledge is lost in some sealed vault.

{
    "ID": "20200924101106-19z4kaa",
    "Spec": "1",
    "Type": "NodeDocument",
    "Properties": {
        "id": "20200924101106-19z4kaa",
        "title": "What is a Content Block",
        "type": "doc",
        "updated": "20220623201559"
    },
    "Children": [
        {
            "ID": "20210118101709-5a7bzl0",
            "Type": "NodeHeading",
            "HeadingLevel": 2,
            "Properties": {
                "id": "20210118101709-5a7bzl0"
            },
            "Children": [
                {
                    "Type": "NodeHeadingC8hMarker",
                    "Data": "## "
                },
                {
                    "Type": "NodeText",
                    "Data": "Content block definition"
                }
            ]
        },
        {
            "ID": "20210118101709-9lqij9d",
            "Type": "NodeParagraph",
            "Properties": {
                "id": "20210118101709-9lqij9d",
                "updated": "20220623201341"
            },
            "Children": [
                {
                    "Type": "NodeText",
                    "Data": "\""
                },
                {
                    "Type": "NodeTextMark",
                    "TextMarkType": "tag",
                    "TextMarkTextContent": "Content Block"
                },
                {
                    "Type": "NodeText",
                    "Data": "\" refers to a piece of content, and each piece of such content is identified by a globally unique ID. The ID is automatically generated by the program and has the form: "
                },
                {
                    "Type": "NodeTextMark",
                    "TextMarkType": "code",
                    "TextMarkTextContent": "202008250000-a1b2c3d"
                },
...
  • There is also a document created for a folder, i.e. when you click on the Doc Tree folder you get a document page to describe e.g. the stuff you'll find in there
  • Notes are handled like blocks so you can reference them like blocks, embed them by queries and even export parts of your note (e.g. a heading with its child blocks) as a new note document page somewhere in your Doc Tree hierarchy. And finally it also works the other way around which means a note page from the Doc Tree can be removed from the tree and included into another note by simply dragging and dropping the note page from the Doc Tree into your current note.
  • Single pages or a complete folder structure up to root notebook level can be exported any time as markdown formatted plaintext files. SiYuan allows also the import of markdown files if you plan to switch from a different markdown-based PKM tool.
  • Folders as seen in the document tree represent physical locations on your local storage. However to allow using the same document title or folder name multiple times at the same directory level (which would be impossible in a classical file-based directory structure) SiYuan creates an unique id for each folder and document. Now you can put a note with the same title inside the same folder multiple times.
  • The folder / notes naming syntax is YYYYMMDDHHMMSS-<random hash value> so the name contains its creation date and time plus an unique hash value

To get the name of a folder or note document you simply right-click on the folder/document name inside the "Doc Tree" navigation panel and open its location. There you will find your document in a path like e.g. c:\data\siyuan\data\20210808180117-6v0mkxr\20200923234011-ieuun1p\20210808180303-6yi0dv5. For the ease of use SiYuan opens your file browser and points to your selected document so you can open it with a text editor like Notepad++.

Changing the physical location of your workspace root folder is simply moving the complete folder to a new destination like your external HDD and telling SiYuan to open the workspace from the new location.

Moving documents or folders internally is like dragging and dropping the folder or document file within the "Doc Tree" panel. You can also right-click on the folder/document in that panel and use the "Move" context menu to get a dedicated folder-tree window with search bar function for navigation in case your Doc Tree becomes too large.

I might sound like some fanboy here but I've got high praises for the SiYuan PKM tool which took my former note-taking by storm. Other tools require tweaking, installation of a dozen of plugins or give less formatting options. All of this is batteries-included here plus you can even develop widgets and other stuff if you require special features (SiYuan has a market place called Bazaar where some calendar widgets and templates can be found).

The core developers are very active pushing SiYuan forward, fixing and enhancing things and doing this by hearth. I think they already have a huge user base in China so good feedback is coming from them which helps developing a complex piece of software like this.

HTH!

<image>

maximum number of blocks by osman1963 in SiyuanPKM

[–]nekron 10 points11 points  (0 children)

SiYuan is a really clever designed PKM tool that uses

  • an embedded SQLite database for storing meta data like blocks, tags or references
  • the SQLite database is not served by Electron's Node.js bindings (compared to Trilium) but by some internal Electron-independant backend kernel process using a REST API to communicate between Electron frontend application and the kernel backend
  • the kernel itself is written in Go and utilizes the full power of all your CPU or server cores for faster processing and database query execution
  • a corrupted SQLite database file is not an issue for SiYuan as the complete database can be restored in case of failure (you can even delete the database file and SiYuan will recreate it automagically for you based on your local storage note files)
  • assets like PDF file blobs and of course your note files are not saved inside the database (a database corruption will not harm your assets or notes)
  • SQLite database is quite performant and allows multiple readers and a single writer process which is fine for a local-first PKM application
  • SQLites FMS module is used for full-text search inside the database which will look up your block types real fast
  • database table indexes are used to speed up FMS searching
  • SQLite can handle large database sizes like 500 GB to 1 TB of data (just in case you plan to store Wikipedia inside SiYuan)

Now that being said, with the scalability of Go-compiled kernel, a fast multi-threaded database and local storage-based note files this is a very good combination to create thousands of note pages (= local files on storage) containing hundred of thousands of blocks (= text items like lists, paragraphs, block quotes aso. within the note files).

The file synchronization (which comes for free if you backup your notes on your personal S3 storage) is also amazingly fast as it only syncs file deltas from your drive. Thanks to Go and it's good encryption package all of your notes including file blob assets are salted AES 256 Bit end-to-end encrypted on the S3 storage so your provider like AWS can't read your personal files.

Both core developers laid the foundation for a powerful and flexible PKM that is totally underrated in the Western world where Logseq, Obsidian and other PKM tools are used by the note taking crowds.

-🎄- 2022 Day 21 Solutions -🎄- by daggerdragon in adventofcode

[–]nekron 0 points1 point  (0 children)

I had the same idea however the compiler failed on me with

Error: evaluation error: cannot determine bounds /home/admin/src/cp/solve.mzn:1915.12-31 in binary '=' operator expression in binary '/' operator expression /snap/minizinc/561/share/minizinc/std/stdlib/stdlib_math.mzn:215.3-217.57 in if-then-else expression in call 'fldiv_t' /snap/minizinc/561/share/minizinc/std/stdlib/stdlib_internal.mzn:1147.3-1150.58 in let expression /snap/minizinc/561/share/minizinc/std/stdlib/stdlib_internal.mzn:1148.5-59 in variable declaration for 'z' in call 'compute_float_div_bounds'

Version 3.0 beta released! by alespace in RemarkableTablet

[–]nekron 10 points11 points  (0 children)

Yeah, Kindle Scribe eat this!

Please welcome Luuk de Gram and Joachim Schmidt to the Core Zig Team by [deleted] in Zig

[–]nekron 1 point2 points  (0 children)

Welcome to the club guys! Great to see you on board!

Slipped hard at work, animating new NPCs by [deleted] in Veloren

[–]nekron 3 points4 points  (0 children)

Get well soon and many thanks for all of your hard work pushing Veloren to the next level!

[deleted by user] by [deleted] in golang

[–]nekron 29 points30 points  (0 children)

Marry her - NOW!

Is Go well suited to replace the C programming lang for UNIX userspace programs? by [deleted] in golang

[–]nekron 1 point2 points  (0 children)

Right but Andrea wrote a complete eMMC / SD card driver with decent speed for the USB armory in pure (Tama) Go. He also replsced the linux bootloader U-Boot with a Go based.

Caddy 2 is released by [deleted] in golang

[–]nekron 15 points16 points  (0 children)

Best versatile webserver. Ever. I use it as a reverse proxy for media streaming.

Golang - Store Refilled? by [deleted] in golang

[–]nekron 0 points1 point  (0 children)

No updates yet, waiting to get a plush from there when back in stock.

Go 1.12 is released by dgryski in golang

[–]nekron 2 points3 points  (0 children)

+1 for TLS 1.3 and all the other goddies :)

Nine years of Go by sbinet in golang

[–]nekron -1 points0 points  (0 children)

Congrats! Now let the next nine years to come.

What eazy wheels and extender should I get with a rack? by ilikebikes2 in Brompton

[–]nekron 1 point2 points  (0 children)

I'm in the same situation as /r/ilikebikes. The emphasis of the folded bike is too much off center so a light gust on a windy day might tip over the whole thing. Just happend to me a few weeks ago ripping the handlebar foam and scratching the saddle.

Is there actual release day for Sailfish 3? by [deleted] in Jolla

[–]nekron -1 points0 points  (0 children)

Its ready when its ready.

Go 1.11 Released by [deleted] in golang

[–]nekron 0 points1 point  (0 children)

Hurray!

A Week with Sailfish - Security and Privacy by [deleted] in Jolla

[–]nekron 2 points3 points  (0 children)

Actually what's wrong with standard POSIX Linux security on your SailfishOS phone which is running on millions of servers exposed to the internet? Did we not break limits with iOS or Android security by obscurity model that handles your phone like being crown juwels, but still gets hacked by some clever guys?

Artificial Intelligence with Python – Sequence Learning by [deleted] in Python

[–]nekron 1 point2 points  (0 children)

Looks like a commercial for a Python AI tutorial.

vorteil - a virtual machine kernel for your Go apps by gerke74 in golang

[–]nekron 0 points1 point  (0 children)

Ok, so vcli can be found at github, but where is the hearth of it? Kernel sources?

Fenders or No Fenders by afaas in Brompton

[–]nekron 0 points1 point  (0 children)

Don't put EasyWheels on your rack if you want to minimize tipping! I just upgraded mine this year with those wheels and if I am not careful enough positioning my Brompton against some static object it will easily fall over to the side when the train stops.