arl

arl

:croissant: :computer: :baguette_bread:

Member Since 11 years ago

@develersrl , Florence, Italy

Experience Points
103
follower
Lessons Completed
25
follow
Lessons Completed
347
stars
Best Reply Awards
81
repos

908 contributions in the last year

Pinned
⚡ :rocket: Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.) in the browser
⚡ :computer: Git in your tmux status bar
⚡ :pushpin: State of the art point location and neighbour finding algorithms for region quadtrees, in Go
⚡ :satellite: 2D locality queries in Go
⚡ :space_invader: Navigation mesh pathfinding and spatial reasoning library
⚡ To bundle a Qt application on Mac OSX, there is macdeployqt. To finish the job there is macdeployqtfix! :white_check_mark:
Activity
Jan
17
2 days ago
Activity icon
issue

arl issue comment arl/go-detour

arl
arl

Building with CLI tool doesn't work.

Trying to build a navmesh from an .OBJ file with ./recast build file.bin --input file.obj runs for a little bit and then fails, with this output:

panic: untested

goroutine 1 [running]:
github.com/arl/go-detour/recast.delaunayHull(0xc00016a000, 0x1c, 0xc00018e498, 0x300, 0x300, 0x13, 0xc00018e034, 0x7f, 0x7f, 0xc00018f0d8, ...)
	/home/user/go/src/github.com/arl/go-detour/recast/meshdetail.go:704 +0x826
github.com/arl/go-detour/recast.buildPolyDetail(0xc00016a000, 0xc000270000, 0x12, 0x12, 0x3fc0000000000006, 0x23dcccccd, 0xc00018f400, 0xc00018f138, 0xc00018e498, 0x300, ...)
	/home/user/go/src/github.com/arl/go-detour/recast/meshdetail.go:1030 +0x1a2a
github.com/arl/go-detour/recast.BuildPolyMeshDetail(0xc00016a000, 0xc000764000, 0xc00018f400, 0x3dcccccd3fc00000, 0x0, 0xc0032f6000)
	/home/user/go/src/github.com/arl/go-detour/recast/meshdetail.go:447 +0xbbb
github.com/arl/go-detour/sample/solomesh.(*SoloMesh).Build(0xc00018f848, 0x6dc380, 0xc0000100a8)
	/home/user/go/src/github.com/arl/go-detour/sample/solomesh/builder.go:281 +0xb90
github.com/arl/go-detour/cmd/recast/cmd.doBuild(0x81f220, 0xc00007ad50, 0x1, 0x3)
	/home/user/go/src/github.com/arl/go-detour/cmd/recast/cmd/build.go:72 +0xc65
github.com/spf13/cobra.(*Command).execute(0x81f220, 0xc00007acf0, 0x3, 0x3, 0x81f220, 0xc00007acf0)
	/home/user/go/src/github.com/spf13/cobra/command.go:860 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x81efa0, 0x4456ca, 0x808c00, 0xc000000180)
	/home/user/go/src/github.com/spf13/cobra/command.go:974 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
	/home/user/go/src/github.com/spf13/cobra/command.go:902
github.com/arl/go-detour/cmd/recast/cmd.Execute()
	/home/user/go/src/github.com/arl/go-detour/cmd/recast/cmd/root.go:26 +0x31
main.main()
	/home/user/go/src/github.com/arl/go-detour/cmd/recast/main.go:6 +0x25
arl
arl

Your navmesh might contain some specificities that makes go-detour runs some non-tested functions. https://github.com/arl/go-detour/blob/dd2fc8f32e358c730a9f5a782712a2a3e0115b10/recast/meshdetail.go#L704

Jan
16
3 days ago
started
started time in 2 days ago
Jan
13
6 days ago
Activity icon
issue

arl issue comment sfackler/rust-postgres

arl
arl

postgres-types: Implement support for u64

Seems odd to leave this type out when the others are supported?

arl
arl

9223372036854775807 is i64::MAX, not u64::MAX. ok and what about the minimum value of bigserial then. 1 is neither i64::min nor u64::min. The thing is both types are big enough to contain the whole range of valid bigserial numbers. One of them is signed, the other is unsigned. bigserial is also unsigned. Anyway, it just made more sense to me that the rust type corresponding to bigserial was that with the closest range.

Activity icon
issue

arl issue comment sfackler/rust-postgres

arl
arl

postgres-types: Implement support for u64

Seems odd to leave this type out when the others are supported?

arl
arl

From https://www.postgresql.org/docs/14/datatype-numeric.html bigserial range is from 1 to 9223372036854775807 which makes unsigned in my book.

Le jeu. 13 janv. 2022 à 13:14, Steven Fackler ***@a écrit :

Those types are both signed in Postgres.

— Reply to this email directly, view it on GitHub https://github.com/sfackler/rust-postgres/issues/730#issuecomment-1012082017, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADUL2XUGU54BTD7OGJI25DUV262JANCNFSM4WAGCF4A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

Activity icon
issue

arl issue comment sfackler/rust-postgres

arl
arl

postgres-types: Implement support for u64

Seems odd to leave this type out when the others are supported?

Activity icon
issue

arl issue comment sfackler/rust-postgres

arl
arl

postgres-types: Implement support for u64

Seems odd to leave this type out when the others are supported?

arl
arl

I would need this conversion now to convert a bigserial into u64.

Jan
4
2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
Jan
3
2 weeks ago
push

arl push arl/dotfiles

arl
arl

bash: rename op.bashrc to 1password.bashrc

arl
arl

bash: add plan9.bashrc (for acme)

arl
arl

commit sha: 50e236c61716b5fa99fd5f81fe235df19b13e285

push time in 2 weeks ago
Jan
2
2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
started
started time in 2 weeks ago
Jan
1
2 weeks ago
push

arl push arl/scripts

arl
arl

go:deps_mods_graph.md add file

commit sha: 20fd5f24df83837647cd9d569e7bd44bbb16440b

push time in 2 weeks ago
Dec
22
4 weeks ago
push

arl push arl/dotfiles

arl
arl

bash: fancy ivy with rlwrap :tada:

arl
arl

bash: add clipath function to .bashrc.d

commit sha: 3ba539ce776402e28a3faa05460ee89794c43621

push time in 3 weeks ago
push

arl push arl/scripts

arl
arl

clipath: removed, promoted to dotfiles function

commit sha: 9f691b8de15d0a3e8b3e73869367e11dc27c0ee6

push time in 3 weeks ago
Dec
17
1 month ago
Activity icon
fork

arl forked robpike/ivy

arl/ivy

⚡ ivy, an APL-like calculator
arl Updated
fork time in 1 month ago
Dec
14
1 month ago
Activity icon
issue

arl issue comment mattn/goreman

arl
arl

Add flag to avoid showing timestamp in log

Pull-request use cases Sometime it can be useful to not show timestamp in logs. I have at least 2 use cases for that:

  1. I'm using goreman to start a system made of multiple applications, each application already logs its own timestamp, in that case having 2 timestamps per line takes up some screen space without adding value.

  2. Another somewhat more contrived example :) I'm still using goreman to start a system made of multiple applications. Each app logs on standard output. After an important refactoring on all apps (it's an embedded system), I'd like to check the overall system behavior by diff'ing the merged log output produced by goreman, with the merged log before the refactoring took place. In that case timestamp just get in the way of the diff.

Pull-request description The current default behavior is unchanged. When adding the global -no-time flag, clogger simply skips logging the timestamp.

arl
arl

To disable timestamp logging just do:

goreman -logtime false

Le mar. 14 déc. 2021 à 11:35, Rickard Nilsson ***@a écrit :

@arl https://github.com/arl I see no code for parsing the -no-time command line option? It doesn't seem to be possible to actually turn of timestamp logs.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mattn/goreman/pull/85#issuecomment-993404242, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADUL2VMNHP3GJHTPTXMUZTUQ4MWRANCNFSM4H2WLZQQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Dec
13
1 month ago
push

arl push arl/scripts

arl
arl

dlna: remove now not needed script

commit sha: c5e609349219ee1b82b74a84b6f0293a56b3473e

push time in 1 month ago
Dec
12
1 month ago
Activity icon
created tag

arl in arl/statsviz create tag v0.4.1

createdAt 1 month ago
push

arl push arl/statsviz

arl
arl

Add iris example (#61)

  • _example: add iris

Close #46

  • _example: add iris entry to README

commit sha: d96a9a96dc91e623d9c58381b7c1ff696ce4cd67

push time in 1 month ago
Activity icon
delete

arl in arl/statsviz delete branch add-iris-example

deleted time in 1 month ago
pull request

arl pull request arl/statsviz

arl
arl

Add iris example

Thanks to @trading-peter for the Iris example

pull request

arl pull request arl/statsviz

arl
arl

Add iris example

Thanks to @trading-peter for the Iris example

Activity icon
created branch

arl in arl/statsviz create branch add-iris-example

createdAt 1 month ago
Dec
11
1 month ago
started
started time in 1 month ago
Activity icon
issue

arl issue comment arl/statsviz

arl
arl
arl
arl

@trading-peter that's nice, thank you to look into that. I'll try and add that as an example

Dec
9
1 month ago
Activity icon
issue

arl issue robpike/ivy

arl
arl

demo: crash since Config.BigOrigin is nil

Reproducer:

) demo
# This is a demo of ivy. Type a newline to advance to each new step. Type one now.
? 2 ** 32
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x49ace4]

goroutine 6 [running]:
robpike.io/ivy/parse.(*Parser).runFromReader.func1()
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/special.go:358 +0x1ea
panic({0x4fa4e0, 0x5fbc80})
        /home/aurelien/sdk/go1.17.4/src/runtime/panic.go:1038 +0x215
robpike.io/ivy/parse.(*Parser).runUntilError.func1()
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/special.go:384 +0x1ea
panic({0x4fa4e0, 0x5fbc80})
        /home/aurelien/sdk/go1.17.4/src/runtime/panic.go:1038 +0x215
math/big.(*Int).Add(0xc0000a8080, 0x49a93f, 0x0)
        /home/aurelien/sdk/go1.17.4/src/math/big/int.go:118 +0x24
robpike.io/ivy/value.bigIntRand({0x544d70, 0xc0000753e0}, 0xffffffffffffffff, 0x4108b7)
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/value/unary.go:56 +0x77
robpike.io/ivy/value.unaryBigIntOp({0x544d70, 0xc0000753e0}, 0x5201e0, {0x544eb0, 0xc0000a8060})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/value/unary.go:21 +0x8d
robpike.io/ivy/value.init.1.func2({0x544d70, 0xc0000753e0}, {0x544eb0, 0xc0000a8060})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/value/unary.go:137 +0x71
robpike.io/ivy/value.(*unaryOp).EvalUnary(0xc00007e050, {0x544d70, 0xc0000753e0}, {0x544eb0, 0xc0000a8060})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/value/eval.go:52 +0x119
robpike.io/ivy/exec.(*Context).EvalUnary(0xc0000753e0, {0xc0000a2020, 0x1}, {0x544eb0, 0xc0000a8060})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/exec/context.go:138 +0x128
robpike.io/ivy/parse.(*unary).Eval(0xc0000a8000, {0x544d70, 0xc0000753e0})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/parse.go:193 +0x62
robpike.io/ivy/parse.(*Parser).runUntilError(0xc00009c000, {0x50f24a, 0x0})
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/special.go:389 +0x113
robpike.io/ivy/parse.(*Parser).runFromReader(0xc000154d80, {0x544d70, 0xc0000753e0}, {0x50f24a, 0x0}, {0x541ca0, 0xc000176d80}, 0x0)
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/special.go:362 +0x3ca
created by robpike.io/ivy/parse.DemoRunner
        /home/aurelien/godev/pkg/mod/robpike.io/[email protected]/parse/special.go:434 +0x1ef

The fix is easy but since this is relatively minor (only happens during demo) and since there are different ways to fix it I'm not opening a PR, preferring to check if you're interested to fix this, and how.

When the demo starts, DemoRunner is provided a zero-valued default config.Config. Config.bigOrigin is a nil big.Int. Also, Config.BigOrigin() doesn't call Config.init(). Finally, Config.init doesn't initialize Config.bigOrigin.

To me an obvious fix seems to be:

diff --git a/config/config.go b/config/config.go
index 74b2a8e..4c210d3 100644
--- a/config/config.go
+++ b/config/config.go
@@ -57,6 +57,7 @@ func (c *Config) init() {
 		c.output = os.Stdout
 		c.errOutput = os.Stderr
 		c.origin = 1
+		c.bigOrigin = big.NewInt(1)
 		c.seed = time.Now().UnixNano()
 		c.source = rand.NewSource(c.seed)
 		c.random = rand.New(c.source)
@@ -171,6 +172,7 @@ func (c *Config) Origin() int {
 
 // BigOrigin returns the index origin as a *big.Int.
 func (c *Config) BigOrigin() *big.Int {
+	c.init()
 	return c.bigOrigin
 }
Previous