profile
viewpoint
bluss bluss Low Earth Orbit Debris Field https://mastodon.online/@bluss I work on Rust, I teach Rust.

bluss/arrayvec 289

A vector with a fixed capacity. (Rust)

bluss/bencher 43

bencher is just a port of the libtest (unstable) benchmark runner to Rust stable releases. `cargo bench` on stable. "Not a better bencher!" = No feature development. Go build a better stable benchmarking library.

bluss/defmac 12

A macro to define lambda-like macros inline.

bluss/debugit 8

NOTE: Crate dbg mostly supplants this one; DebugIt: Use specialization so you can debug-print a value without explicit (and viral) Debug trait bound.

bluss/asprim 2

Rust library with a trait for the `as` operator for primitive numeric types.

bluss/blake2-ppc-altivec 2

BLAKE2s hash function https://blake2.net PowerPC/Altivec implementation by Ulrik Sverdrup

bluss/blis-sys 2

[Feel free to adopt/fork this repo!] Experimental Rust bindings for BLIS

bluss/aeon 1

Aeon is a gradually typed, interpreted programming language that combines the flexibility of a dynamic language with the safety of a static language.

bluss/bmap 1

Experimental B-tree map in Rust using ArrayVec

startedAntiMicroX/antimicrox

started time in 2 days

startedAntiMicro/antimicro

started time in 2 days

startedpiborg/Gamepad

started time in 4 days

startedlibrespot-org/librespot

started time in 6 days

issue commentrust-ndarray/ndarray

Views with mixed scalar types

A regular array view is like a memory view, so it's not possible at this time to have element access that is this access (produced element would be of different type than what's stored in memory).

jedbrown

comment created time in 7 days

issue commentrust-ndarray/ndarray

Status of project?

@xd009642 Merging a PR straight up because it passes is not exactly my philosophy, but if we should have some progress, we shouldn't just listen to me(!) :) We also need to think we have the right design and a plan to release it.

xd009642

comment created time in 10 days

issue commentrust-ndarray/ndarray

Status of project?

Sounds reasonable too - I expect there isn't much there. Updating deps, and landing something with stack and concatenate seems to be the most important (both breaking), so that could be the small goal for 0.14.

xd009642

comment created time in 11 days

startedNagyD/SDLPoP

started time in 11 days

issue commentrust-ndarray/ndarray

Status of project?

Hi - good question.

I haven't had all that much time lately, as is evident. We need a new plan for maintainership, since the current maintainers are busy or don't have time. I myself have enough time to answer questions, hand over and help with releases and release planning.

In my view we need something more than just merging PRs, which is prioritization and making releases. My view on maintainership is that there is no use in merging a PR without a plan for when and how it will be "shipped" - in a release.

I can answer and help on all issues that are general, about the data structure and library internals, but I don't have the time to look at numerical algorithms.

As discussion forum I would recommend using the issues here and alternatively looking into room #rust-sci:matrix.org on the matrix chat network (not very active).

xd009642

comment created time in 11 days

startedrui314/chibicc

started time in 15 days

issue commentrust-analyzer/rust-analyzer

Insert explicit type removes coercion to raw pointer

I don't know if this needs solving, but it's an interesting limitation. It's a good point that it will not handle any type of coercion (including unsizing etc).

bluss

comment created time in 18 days

issue openedrust-analyzer/rust-analyzer

Insert explicit type removes coerce to raw pointer

In the following code:

fn foo<T>(mask_buf: &T) { 
    let mut ab: *const _ = mask_buf;
    ...
}

The insert explicit type assist produces let mut ab: &T = mask_buf; which makes the rest of the code in the function invalid (pointer arithmetic).

created time in 18 days

startedrust-lang/project-portable-simd

started time in 19 days

issue commentrayon-rs/rayon

ThreadPool::install and thread overhead

#746 has been merged! That means it is time to revisit this -- I haven't done so yet.

bluss

comment created time in 20 days

startedzackify/cli.rs

started time in 20 days

startedBurntSushi/bstr

started time in 24 days

startedVeykril/tlborm

started time in a month

issue closedrust-ndarray/ndarray

Is it possible to index an N-dimensional ArrayBase using a single offset into the slice?

I know there is a to_slice method that could make this work, but it returns Option. I'm wondering if I can index, for example, a 3D ArrayBase, using just one number, assuming I know the memory layout (row-major). In certain applications, it is too expensive to do the multiplications to convert NdIndex into an offset for every point.

closed time in a month

bonsairobo

issue commentrust-ndarray/ndarray

Is it possible to index an N-dimensional ArrayBase using a single offset into the slice?

If you know the array is row major, then you can use as_slice and index into the resulting slice. Still, multidimensional or single dimensional indexing is not recommended for processing in a loop - rather use the traversal methods mentioned in the docs.

The raw access is through the raw pointer accessors - pointers which you can offset manually as you said - as briefly mentioned in the as_ptr doc, but this is not easy to use.

bonsairobo

comment created time in a month

startedearthstar-project/earthstar

started time in a month

pull request commentbluss/indexmap

Let feature "serde" work as well as "serde-1"

Makes sense

cuviper

comment created time in a month

Pull request review commentbluss/matrixmultiply

no_std support

+[package]+name = "ensure_no_std"+version = "0.1.0"+authors = ["Geordon Worley <vadixidav@gmail.com>"]+edition = "2018"

could have publish = false set

vadixidav

comment created time in a month

PullRequestReviewEvent

pull request commentbluss/matrixmultiply

no_std support

We just need Rust 1.36 if the std feature is disabled. So we don't need to break existing users actually

vadixidav

comment created time in a month

startedmapbox/osm-bright

started time in a month

pull request commentbluss/matrixmultiply

no_std support

Thanks, looks good! I think normally we'd bump to version 0.3 here since we have a Rust MSV bump. Can't that be avoided, though?

vadixidav

comment created time in a month

startedfredrik-johansson/arb

started time in a month

startedmatrix-construct/construct

started time in a month

startedstr4d/rage

started time in a month

issue openedfruktkartan/fruktkartan

Show user's location

When using the map in the field, it's useful for many users to show the user's current location on the map (you know with a blue dot or similar).

created time in a month

startedfruktkartan/fruktkartan

started time in a month

startedstainless-steel/sqlite

started time in a month

startedPlume-org/Plume

started time in a month

startedaspenluxxxy/nanorand-rs

started time in a month

issue commenttootsuite/mastodon

boost with comment

Is there an alternative here? For example, if instead you'd make a reply to the original post, and somehow could make that reply visible in your regular timeline, and to those that don't follow the post you reply to. Like an "open reply"?

cgubi

comment created time in a month

startedJetBrains/lets-plot

started time in a month

pull request commentbluss/indexmap

map: Make Eq comparisons ordering-aware.

Thanks for filing. Not a bug since it's the intentional design, but worth discussing for sure. I think a method for ordered eq would be worth it.

emilio

comment created time in a month

PullRequestReviewEvent

Pull request review commentbluss/indexmap

map: Make Eq comparisons ordering-aware.

 mod tests {         assert_eq!(&set_a & &set_b, empty);         assert_eq!(&set_b & &set_a, empty);         assert_eq!(&set_a | &set_b, set_c);-        assert_eq!(&set_b | &set_a, set_c);+        assert_ne!(&set_b | &set_a, set_c);         assert_eq!(&set_a ^ &set_b, set_c);-        assert_eq!(&set_b ^ &set_a, set_c);+        assert_ne!(&set_b ^ &set_a, set_c);

when this is revived later, this change does not preserve the intent of the test. It can of course be fleshed out when/if relevant later.

emilio

comment created time in a month

startedrustodon/rustodon

started time in a month

issue commenttootsuite/mastodon

One toot, three views.

I agree that the difference here is not straightforward. If the status is not local, it seems that (2) and (3) will link to different instances - (2) to the home instance of the status, and (3) is the web view on the current instance.

shleeable

comment created time in a month

issue commenttootsuite/mastodon

Ability to forcefully update remote user data

There is an API that fetches the relevant info, is that right? The followers method; and it has pagination. Is it really too expensive to use? To show something a bit better here would make the federation experience a lot smoother.

shleeable

comment created time in a month

startedtootsuite/mastodon

started time in a month

startedpygae/clifford

started time in a month

starteddimforge/simba

started time in a month

startedpwoolcoc/elefren

started time in a month

startedtordanik/OSM2World

started time in a month

PullRequestReviewEvent

startedreHackable/awesome-reMarkable

started time in 2 months

startedritchie46/polars

started time in 2 months

startedEreski/generic-std

started time in 2 months

Pull request review commentrust-lang/rust

Add Iterator::join to combine Iterator and Join

+//! Allocation extensions for [`Iterator`].+//!+//! *[See also the Iterator trait][Iterator].*+#![unstable(feature = "iterator_join", issue = "75638")]++use crate::slice::Join;+use crate::vec::Vec;++/// Iterator extension traits that requires allocation.+#[unstable(feature = "iterator_join", issue = "75638")]+pub trait IteratorExt: Iterator {+    /// Flattens an iterator into a single value with the given separator in+    /// between.+    ///+    /// Combines `collect` with `join` to convert a sequence into a value+    /// separated with the specified separator.+    ///+    /// Allows `.join(sep)` instead of `.collect::<Vec<_>>().join(sep)`.+    ///+    /// ```+    /// #![feature(iterator_join)]+    /// use alloc::iter::IteratorExt;+    ///+    /// assert_eq!(["hello", "world"].iter().copied().join(" "), "hello world");+    /// assert_eq!([[1, 2], [3, 4]].iter().copied().join(&0), [1, 2, 0, 3, 4]);+    /// assert_eq!([[1, 2], [3, 4]].iter().copied().join(&[0, 0][..]), [1, 2, 0, 0, 3, 4]);+    /// ```+    #[inline]+    #[unstable(feature = "iterator_join", issue = "75638")]+    #[must_use = "if you really need to exhaust the iterator, consider `.for_each(drop)` instead"]+    fn join<Separator>(self, sep: Separator) -> <[Self::Item] as Join<Separator>>::Output+    where+        [Self::Item]: Join<Separator>,+        Self: Sized,+    {+        Join::join(self.collect::<Vec<Self::Item>>().as_slice(), sep)+    }+}++// ExactSizeIterator is used to guarantee non-infinite iteration.

non-infinite iteration sounds nice if it could be checked, but ESI is pretty far away from a perfect check for that, so I'd avoid that requirement. collect for example does not try to ensure the iterator is finite.

pickfire

comment created time in 2 months

PullRequestReviewEvent

pull request commentbluss/indexmap

Update the README for the hashbrown-based implementation

Thanks for all your work on this feature :) and the release

cuviper

comment created time in 3 months

more