profile
viewpoint

kevinmehall/codemap 25

A data structure for tracking source code positions, inspired by the type in rustc's libsyntax.

kevinmehall/EquationExplorer 12

Implicit Equation / Vector Field Graphing in HTML5

kevinmehall/eagle2web 11

Export Eagle PCBs and schematics for interactive display on the web

kevinmehall/codemap-diagnostic 10

Rust library for displaying compiler diagnostics like rustc

kevinmehall/FiveDollarArduino 6

ATMega328P + 3 resistors + 2 diodes + USB cable = click the upload button, watch the LED blink

Esri/zipstream 5

Microservice for zip file downloads constructed on-the-fly from S3 content

Esri/quadtree-contours 4

Efficient contour algorithm based on mipmaps and quadtrees

itdaniher/Olin-SMUs 4

driver and python interface code for the source-measure units used in Olin's Electrical Engineering courses

kevinmehall/eeref 4

What would microcontroller datasheets look like if they weren't limited to static PDF?

kevinmehall/external_set 4

Concurrent Rust collection whose items are owned externally, for implementing pub-sub / observer patterns

startedDiggsey/spanr

started time in 19 days

push eventkevinmehall/panobubble

Kevin Mehall

commit sha 8cc1dcea4778ff5fcbad24f3a8e4b9288678de60

Update to glium 0.27

view details

push time in 20 days

startedevansiroky/timezone-boundary-builder

started time in a month

PR closed kevinmehall/rust-peg

include LICENSE file with peg-macros and peg-runtime crates

Right now, the peg-macros and peg-runtime crates available from crates.io don't include the LICENSE text. However, the MIT license requires that the license text is distributed with the sources that are covered by the license, see "Conditions" here: https://choosealicense.com/licenses/mit/

Including the "LICENSE" file with include = ["../LICENSE"] in the [package] sections of both peg-macros and peg-runtime should do the trick. See: https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields

I was, however, unable to test this, since I couldn't figure out how to make cargo aware of the workspace layout in this repo :(

+2 -0

1 comment

2 changed files

decathorpe

pr closed time in a month

pull request commentkevinmehall/rust-peg

include LICENSE file with peg-macros and peg-runtime crates

Thanks for pointing this out.

The include doesn't seem to have the intended effect -- it's not including the LICENSE file, and it's also making the package not include any of the source files:

$ cargo package -l
.cargo_vcs_info.json
Cargo.lock
Cargo.toml
Cargo.toml.orig

From the docs you linked:

Note that include must be an exhaustive list of files as otherwise necessary source files may not be included.

Instead, I've just symlinked LICENSE into each of the directories in 3d4cd82

decathorpe

comment created time in a month

push eventkevinmehall/rust-peg

Kevin Mehall

commit sha 3d4cd826789b1fa05efa23f23d34c15c381c9500

Include LICENSE in peg-macros and peg-runtime crate packages (#241)

view details

push time in a month

release kevinmehall/rust-vcd

0.6.1

released time in a month

created tagkevinmehall/rust-vcd

tag0.6.1

Read and write VCD (Value Change Dump) files in Rust

created time in a month

push eventkevinmehall/rust-vcd

Kevin Mehall

commit sha 06f926815e1142067129456f6ee988337a617b78

0.6.1

view details

push time in a month

push eventkevinmehall/rust-vcd

Kevin Mehall

commit sha 7d412b428e09ac32f05ee92ac28748b6f9c50d4e

Cleanups from clippy

view details

push time in a month

issue closedtessel/node-usb

License?

Is it valid for this project to use MIT license as it depends on libusb that uses LGPL-2.1?

closed time in 2 months

k4113h

issue commenttessel/node-usb

License?

Yes. The MIT license covers the code in this repository only. If you distribute a combined work containing both node-usb and libusb you must comply with both licenses.

k4113h

comment created time in 2 months

push eventkevinmehall/rust-vcd

ferris

commit sha 0139beb37e61fd5a168081ac69ec7bcc46498a2f

Writer: Take io::Write directly, not a mutable reference Taking a mutable reference forces users to always have a mutable reference to the inner `Write` instance that must outlive the `Writer` instance. This is inconvenient because it disallows a user to properly wrap a `Writer` instance in another struct without forcing the outer struct to _also_ accept a mutable reference, and it's actually unnecessary, since `Write` is implemented for `&mut Write`. Additionally, we're forced to use dynamic dispatch for the underlying `Write` instance, which is likely to be inefficient. This shouldn't be a breaking change for most user code since `Write` is implemented for `&mut Write`, although code which wraps a `Writer` today will need to change to reflect the new generic parameter instead of the old lifetime. This is conformant with C-RW-VALUE in the Rust API guidelines (https://rust-lang.github.io/api-guidelines/interoperability.html#generic-readerwriter-functions-take-r-read-and-w-write-by-value-c-rw-value).

view details

Kevin Mehall

commit sha b14483916baad844e669c8efbc470ca555c00a14

Merge pull request #12 from yupferris/master Writer: Take io::Write directly, not a mutable reference

view details

push time in 2 months

PR merged kevinmehall/rust-vcd

Writer: Take io::Write directly, not a mutable reference

Taking a mutable reference forces users to always have a mutable reference to the inner Write instance that must outlive the Writer instance. This is inconvenient because it disallows a user to properly wrap a Writer instance in another struct without forcing the outer struct to also accept a mutable reference, and it's actually unnecessary, since Write is implemented for &mut Write. Additionally, we're forced to use dynamic dispatch for the underlying Write instance, which is likely to be inefficient.

This shouldn't be a breaking change for most user code since Write is implemented for &mut Write, although code which wraps a Writer today will need to change to reflect the new generic parameter instead of the old lifetime.

This is conformant with C-RW-VALUE in the Rust API guidelines (https://rust-lang.github.io/api-guidelines/interoperability.html#generic-readerwriter-functions-take-r-read-and-w-write-by-value-c-rw-value).

+4 -4

0 comment

1 changed file

yupferris

pr closed time in 2 months

push eventkevinmehall/rust-peg

Kevin Mehall

commit sha a1237e706e2d769a554b55ade406a79751b074e0

Check in Cargo.lock (a formatting change in proc-macro2 1.0.20 made the tests fail)

view details

Kevin Mehall

commit sha a589e85750788e728946f1d7d875cdc976a15b76

Update proc-macro2 to 1.0.20 + update grammar.rs with its format changes

view details

push time in 2 months

issue commentdcuddeback/libusb-rs

Unable to store, or Box, a `DeviceHandle`.

Use rusb, which is a fork of this library that uses reference counting for its Context type, and is more actively maintained.

stevenroose

comment created time in 2 months

issue openeddjrobstep/migra

Exclusion constraint missing from diff

When adding a table using an exclusion constraint, for example:

CREATE EXTENSION btree_gist;

create table event(
    resource_id int not null,
    start_time timestamptz not null,
    end_time timestamptz not null,
    exclude using gist (resource_id with =, tstzrange(start_time, end_time) with &&)
);

and diffing against a database that does not contain the table, migra returns a diff that creates the table and the index, but does not add the constraint to the table:

create extension if not exists "btree_gist" with schema "public" version '1.5';

create table "public"."event" (
    "resource_id" integer not null,
    "start_time" timestamp with time zone not null,
    "end_time" timestamp with time zone not null
);


CREATE INDEX event_resource_id_tstzrange_excl ON public.event USING gist (resource_id, tstzrange(start_time, end_time));

created time in 2 months

issue commentkevinmehall/rust-peg

How to match and return a one char?

This requires generic associated types to do the right way for parsers over [T] -- ParseElem::Elem should be a reference to avoid having to clone the element to both use it in the pattern and return it. This would also be a breaking change, so deferring until at least 0.7.

Mingun

comment created time in 2 months

startedlucidsoftware/relate

started time in 3 months

issue closedkevinmehall/rust-peg

Dynamic counts for repetition indexes

I can not find, how to read usual "pascal string": length and some content of this length. In my fork of pegjs I implement following solution and I would like to see that rust-peg supports it too:

// using previously parsed `len` as count in range syntax
rule pascal_string() -> len:integer() content:$([_]*<len>) { content };

closed time in 3 months

Mingun

issue commentkevinmehall/rust-peg

Dynamic counts for repetition indexes

That's supported using the expr*<{len}> syntax.

Mingun

comment created time in 3 months

pull request commentzulip/zulip

Update the mailmap of major Zulip contributors

Thanks! That email is correct for me.

hackerkid

comment created time in 3 months

issue closedkevinmehall/rust-peg

How to match against an input to rule (non-literal) string?

e.g: For matching against literal strings we can do:

pub rule matchIt() = "matchesThisLiteralString"

but is there anyway to do something like:

pub rule matchIt(x: &str)  = <matches if equals x> 

closed time in 3 months

davidOSUL

issue commentkevinmehall/rust-peg

How to match against an input to rule (non-literal) string?

##parse_string_literal(x) -- Example from the test suite

The ## syntax is a semi-undocumented feature that calls a method on the input string, and it passes the same arguments as the ParseLiteral::parse_string_literal method expects.

davidOSUL

comment created time in 3 months

push eventtessel/node-usb

Micah Zoltu

commit sha 48001cb6cd1fa2479aef994419e283db1f6d9be3

Adds NodeJS 14 to prebuild target and removes 13 NodeJS 13 is now official end of life and NodeJS 14 is officially Current. Looking at the prebuild target history, it appears that odd numbered versions (beta builds) aren't maintained so I dropped NodeJS 13 support and added 14 support.

view details

Kevin Mehall

commit sha a69f1e9cb83d11d88cb009013b7346f8c3eac3a4

Merge pull request #374 from MicahZoltu/patch-1 Adds NodeJS 14 to prebuild target and removes 13

view details

push time in 3 months

PR merged tessel/node-usb

Adds NodeJS 14 to prebuild target and removes 13

NodeJS 13 is now official end of life and NodeJS 14 is officially Current. Looking at the prebuild target history, it appears that odd numbered versions (beta builds) aren't maintained so I dropped NodeJS 13 support and added 14 support.

+1 -1

0 comment

1 changed file

MicahZoltu

pr closed time in 3 months

more