@alcinnz @codesections @rain sorry, you're both wrong.

There's the String and the str (and several other string types). String is heap allocated; it stores a pointer, a length and a capacity (actually it wraps a Vec<u8> which stores these three). str, a string slice, is not allocated anywhere; it's pointing into somebody else's memory — maybe into a memory that belongs to a String, maybe into a stack buffer, maybe into an mmaped file, and maybe into .rodata

@codesections @rain That's correct, the String type is part of the standard library rather than the core language.

Though to nitpick str isn't stored on the stack, but a special "data" area of the executable.

@codesections @rain The native string type doesn't have any additional capacity, and in order to mutate you have to convert it into a standard library String type which tracks capacity and length seperately.

The low hanging fruit here would be to chart the pre-existing "browser history", but that doesn't offer insight into real usage and interaction with a webpage.

@rain @codesections The pointers are paired with the string's length in bytes.

What's type of strings do you think is best? Why?

(related: joelonsoftware.com/2001/12/11/)

Websites track browsing habits of their users. But what if the users wants to track their own behavior?

Are there browser plugins that allow users to build their own web usage profiles without that data leaving their browser/computer/control?

@bugaevc @jeffalyanak @kungtotte

> when C was made you counted system memory in bytes, so the C-style strings added just one byte of overheard

> hm, indeed, one byte overhead (vs two bytes for the length) could be a slight advantage.

I could be confused, but I don't *think* rust's overhead is just an extra byte. If you only have a 1 byte length, you'd be limited to 256 chars, right? I think rust strings use 8 bytes for length & another 8 for capacity

tech, reminiscing about X 

@codesections @jeffalyanak @kungtotte Rust uses usize for length; that's 8 bytes on 64-bit systems. C was created on a 16-bit system, I believe; that means the pointer and the length take up two bytes each.

@grainloom I think compatible and competing implementations of Nix would be a good thing! I don't like writing anything new in C in 2019, but I hate it less than C++, so I could be okay with that. 😁

@xj9 @emsenn My position's not that it's wrong, just that it's inneffective to bring about change. They use it as an excuse to carry on the status quo.

I want creatives who publish DRM-free to succeed over those who don't, and as such I'll give them money and promotion.

@emsenn Thanks, I'm glad to know my work is valued! That my software is making a point.

Personally my anger comes from the challange of finding DRM-free movies. While I avoid it myself (and happily so, I've found some great stuff this way), I don't blame people for turning towards "piracy".

I'm guessing next I'll be linking to @ajroach@retro.social , once he's got enough for me to say something interesting about.

Also who noticed the joke (straight from Magus Elgar) included in my review?

I just got around to updating my movie recommendations: adrian.geek.nz/movies.html

I stopped forwarding the Mubi recommendation, it wasn't what I thought it was.

Instead I am pleased to recommend the audio comedy Magus Elgar! maguselgar.com/)

As I wrote there: 'Filled with energy and expressive voice acting, the members of "Magical Anomoly Interdimensional Locators" have a really humerous dynamic as they seek "Scientific Tools Augmented with Magical Powers".'

@bugaevc @codesections @alcinnz In most assembly flavors it’s very easy to loop over a string and have the loop stop on null. It made for very fast and efficient compiled code.

@yulefyre The ad industry had their chance, but they decided to ignore Do Not Track (DNT), so fuck them. ¯\_(ツ)_/¯

Show more

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).