blazebra

joined 2 years ago
[–] blazebra@programming.dev 3 points 1 week ago

Deku is a declarative binary parser. deku_string is an extension which currently provides utility wrappers for data vectors and unicode strings, which can be prefixed or fixed length. Additionally library provides support for 7-bit encoded integers from .NET.

For example, I often work with binary structures where strings are either length prefixed (with zero character in a buffer) or in fixed size buffer with a zero-ended sting inside.

There’s multiple examples with custom writer and reader functions, which work, but are less convenient to use.

Any additional ideas for utilities are welcome.

 

This is a small release to support Deku 0.20.0 release. The only incompatibility was an introduced descriptive-errors feature which is explicitly propagated at the moment.

The crate started as support decoding and encoding fixed and variable length unicode strings, but quite soon become more than this.

While there’s some ideas to implement, new ideas and improvements are always welcome.

[–] blazebra@programming.dev 1 points 1 month ago

There’s many components which could be split out from this JS engine such as Regex.

I’d love to see how it passes all ECMA tests

[–] blazebra@programming.dev 2 points 1 month ago (1 children)
[–] blazebra@programming.dev 2 points 2 months ago

You have to provide source to a rust repository. Otherwise, it’s impossible to compile and link Rust safely. There was an article in the topic.

Long story short you can prepare and link a binary library, but you can’t guarantee any type safety or additional optimisations.

[–] blazebra@programming.dev 3 points 2 months ago

Quick analysis of code shows that there’s no suspicious build scripts or imports added, just an additional poorly documented and not tested function.

Documentation is additionally published to a third-party website.

Repository is probably is hidden which is ok.

[–] blazebra@programming.dev 2 points 2 months ago (4 children)

Why you’ve wrote “dont sign in…” for GitLab? GitLab is safe

[–] blazebra@programming.dev 1 points 3 months ago

I’ve forgot slint. Same as QT

[–] blazebra@programming.dev 1 points 3 months ago (1 children)

Currently I use WxWidgets and Cocoa for macOS.

The best would probably be pure native UI with static/dynamic library in Rust for logic. Sounds hard, but it’s the best option in my opinion.

My 2 cents is below. Your decision depends on your tasks, preferences and targets.

  • GPU framework maybe fast, but accessibility at 0
  • HTML backend is nice, but I can’t choice other than native, which limits me quite hard for target user base. And I don’t like JS if not strictly required (it’s a personal preference).
  • GTK on macOS and windows is quite hard to install and I don’t like visuals
  • QT is in grey zone if static (non-GPL project), and I haven’t found good way to bundle it if dynamic
  • ImGUI is nice but I don’t know if they support HiDPI monitors and accessibility is not the highest
  • fltk is nice, but 1) many things you’ll have to write by you own, rewriting sometimes from FLTK2 C++ code… and community could be more chill and friendly
  • Windows Metro UI… probably no crates
  • Win32 API GUI works perfect
  • Swift… probably yes, but it’s very OS-dependent
  • Cocoa — very nice for macOS.
  • current stop is WxWidgets: small, embedded, look… ok for now.
  • there’s some framework for iOS and Android, looks fine for me, but not my target ATM.
 

New version of deku_string v 0.4.0. Notable changes:

  • Support for Vec<T> will all benefits of the library.
  • Full support for no_std (thanks for contribution).
  • Support for defmt library used in embedded environments.
  • New more readable documentation (including tests).

deku_string is a utility crate for deku, binary bit-aware parser with ability create serde-like models. Crate provides thin wrappers around String and Vec to support various common layouts such as fixed-length, prefix length (Pascal-like and .Net-like) and zero-ended strings.

Stay tuned for for more awesome news!

PS: Looking for contributors to provide 16-bit compile target support.

 

What’s new:

  • UTF-32 support
  • Optional serde support
  • 7-bit encoded unsigned integers like in .Net of all known fixed sizes
  • 7bit encoded u32 can be used as a size, to parse .Net strings
  • Unified implementation.

More is coming

https://crates.io/crates/deku_string

 

I just released helper library for deku to decode and encode strings in popular binary layouts (fixed length, pascal-like and c-like)

https://crates.io/crates/deku_string

[–] blazebra@programming.dev 3 points 9 months ago

It makes sense if they hire middles, not seniors

[–] blazebra@programming.dev 12 points 2 years ago

It’s a good suggestion

[–] blazebra@programming.dev 1 points 2 years ago (1 children)

Does it still work?

[–] blazebra@programming.dev 2 points 2 years ago

Integer sqrt can be used for integers with any length, not only for integers fit into f64

view more: next ›