[go-nuts] Solver for mixed integer programing in pure go

2022-11-22 Thread ChrisLu
Hi,

Are there any pure-go solver for mixed integer programming?

Specifically, I am looking for a replacement of SCIP solver in Google's 
OR-tool.

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/b1af3ae6-ad7a-4385-91eb-e2496a9a85bbn%40googlegroups.com.


[go-nuts] Go implementation of CLP

2022-09-30 Thread ChrisLu
Seems there are no Go implementation for Compressed Log Processor (CLP) 
yet? 

CLP is a tool capable of losslessly compressing text logs and searching the 
compressed logs without decompression.

https://github.com/y-scope/clp

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/a5be674c-0be9-4ee3-88f2-bf8d40549fcdn%40googlegroups.com.


[go-nuts] Any package implementing FIFO mutex?

2022-09-09 Thread ChrisLu
"sync.Mutex" is not FIFO. Has any package implemented a dropping for FIFO 
mutex?

One similar solution is to use buffered channel, but it is limited by the 
buffer size, and requires non-trivial re-architecturing.

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/f4772670-65d8-4b31-a71a-d01ad20214ebn%40googlegroups.com.


[go-nuts] JSON dictionary encoding

2021-01-04 Thread ChrisLu
Hi,

For a list of json objects, the key names are usually repeated.
e.g., {:1, :2},{:2, :3}, ...

The key names, "" and "" for the above example, could be very long.
Is there any existing library already encode json objects via a dictionary?

This is a JSON-specific compression. Would be good to see the compression 
ratio compared to gzip, which has a general dictionary encoding.

Chris
--
https://github.com/chrislusf/seaweedfs

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/f91f5feb-1e5e-476f-a957-4f41b8fa556an%40googlegroups.com.


[go-nuts] mount remote storage without FUSE

2020-11-25 Thread ChrisLu
Hi, Gophers (who are also good in C),

Currently I am using FUSE to mount and write to remote storage. 
The library I am using is Basil Fuse. The performance is good as far as 
FUSE can go.

User -> file.write() -> Linux Kernel -> Virtual File System -> libfuse -> 
FUSE -> DFS Client(in Go) -> Remote Storage

However, I am researching how to write directly through linux virtual file 
system, skipping FUSE layer. Seems all similar libraries are in C. Is this 
even possible in Go?

User -> file.write() -> Linux Kernel -> Virtual File System -> DFS 
Client(in Go) -> Remote Storage

Thanks! 

Chris
https://github.com/chrislusf/seaweedfs

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/6f4c54fb-d5a5-4a1f-9840-0fbab596f785n%40googlegroups.com.


[go-nuts] Any recommendation for structured logging library in Golang?

2020-11-17 Thread ChrisLu
I am considering moving from glog to structured logging. I tried logrus, 
go-kit, uber/zap, but could not find one good fit. In short, this is the 
desired format:

[info][timestamp] [filename:line_number] message k1=v1 k2=v2 ...

It shows the correct file name(need to pop out a few call stacks) and line 
number in a customizable format, not as key-value pair for each line which 
is just too verbose to have the extra "time=" "file=".

Please let me know the one you actually use.


Thanks!
Chris
-
https://github.com/chrislusf/seaweedfs

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/8f882954-f070-4e2c-b8f9-0831c2fb91c9n%40googlegroups.com.


[go-nuts] Re: SFTPGo gained Azure Blob Storage backend support

2020-10-25 Thread ChrisLu
Hi, Nicola,

Great to see the SFTPGo author is also here! 

Actually I was checking how to integrate FTP with SeaweedFS. It will be 
great to get some insight from you:

1) Really dumb question. Do people still use FTP? I have not used it myself 
for a long time.
2) How reliable/mature/performant 
is https://github.com/fclairamb/ftpserverlib ?

Thanks!

Chris
---
https://github.com/chrislusf/seaweedfs

On Sunday, October 25, 2020 at 2:01:11 PM UTC-7 Nicola Murino wrote:

> Hi,
>
> I just added Azure Blob Storage backend support to SFTPGo.
>
> If you are interested in this feature you are encouraged to try it out and 
> report any issues you encounter.
>
> You can easily test the latest SFTPGo Git revision using the "edge" or 
> "edge-alpine" tag for the Docker image or you can download the latest build 
> artifacts (including deb/rpm) from the GitHub Actions page:
>
> https://github.com/drakkan/sftpgo/tree/master/docker
> https://github.com/drakkan/sftpgo/actions?query=workflow%3ACI
>
> Yours sincerely,
> Nicola
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/cec17f12-a6bd-4944-8198-9348d4d5e5can%40googlegroups.com.


[go-nuts] filago: Monitor a Linux process' opening and closing of files, including Unix pipes and sockets

2017-06-03 Thread ChrisLu
Thanks! This should be very useful.

Sometimes I want to know the inverted answer that which process is using a port 
or a file. 

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[go-nuts] is it possible to speed up type assertion?

2017-02-01 Thread ChrisLu
Go's type assertion seems quite slow. The added cost is too much if it has 
to be in a tight loop. Here are the time taken on my laptop for the 
following code.

https://play.golang.org/p/cA96miTkx_


chris$ time ./p
count=1073741824 time taken=7.899207181s
count=1073741824 time taken=300.601453ms

real 0m8.205s
user 0m8.163s
sys 0m0.029s

chris$ time luajit -e "count = 0
> for i=1, 1024*1024*1024, 1 do count = count + 1 end
> print(count)"
1073741824

real 0m0.900s
user 0m0.891s
sys 0m0.005s


-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[go-nuts] Is it possible to bundle LuaJIT binary together with Go executable?

2016-11-07 Thread ChrisLu
Hi,

I am working on a project to start a LuaJIT process from Go.

My question is whether it is possible to bundle LuaJIT binary together with 
Go executable?

If having this, this would avoid the external dependency to install LuaJIT.

Chris
--
https://github.com/chrislusf/gleam

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[go-nuts] Re: [ANN] AXIS VFS - Simple, lightweight, virtual file system API

2016-10-25 Thread ChrisLu
Need some examples to understand the API.

Chris

On Friday, October 21, 2016 at 1:20:15 PM UTC-7, milo.chr...@gmail.com 
wrote:
>
> AXIS VFS public repository 
>
> Today I am proud to announce the public release of AXIS VFS, a simple and 
> lightweight virtual file system API. AXIS' intended purpose is to abstract 
> file IO so that the client program does not need to know anything about the 
> system it is running on and to allow files from dissimilar sources to be 
> read with a unified API.
>
> I personally use AXIS in a data file loader to support multiple source 
> directories and loading from zip files, but this API has many other uses.
>
> I hope you will find this simple little library useful!
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[go-nuts] [ANN] Gleam - A Go-based MapReduce system with Luajit, Unix Pipes

2016-10-09 Thread ChrisLu
Gleam is written in pure Go. However, Go's lacks of generics and remote 
code execution hinder its progress on distributed data processing.

Enter Gleam: https://githug.com/chrislusf/gleam This is a Go-based 
MapReduce system currently supports Luajit and Unix Pipes. Gleam has a 
plugin system to support additional scripting languages, Python, Ruby, 
Javascript, etc.

Luajit has performance comparable to Java or C. Unix Pipe Tools, such as 
"tr", "wc", "awk", "sed", "sort", "uniq", are gems that should be reused. 
Here is an full example to combine them together, with distributed parallel 
execution support.

Other example usages can be found here:
https://github.com/chrislusf/gleam/tree/master/examples


```

package main


import (

"os"


"github.com/chrislusf/gleam"

)


func main() {


gleam.New().TextFile("/etc/passwd").FlatMap(`

function(line)

return line:gmatch("%w+")

end

`).Pipe("tr 'A-Z' 'a-z'").Pipe("tee x.out").Pipe("sort").Pipe("uniq 
-c").Fprintf(os.Stdout, "%s\n").Run()

}



```

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[go-nuts] [ANN] A Go based map reduce system (second attempt)

2016-09-12 Thread ChrisLu
Hi,

This is a second attempt to build a Go based map reduce system. 
The first attempt, https://github.com/chrislusf/glow, can already be 
executed distributedly.
However, it is still limited by the fact that Go code can not be sent and 
executed remotely.

I just started to work on a Go+Lua approach. Luajit to be exact for its 
performance.
It can also easily integrate with Unix pipe toolsets (sort/uniq/tr/awk/...) 

  https://github.com/chrislusf/gleam

Gleam currently is in a proof-of-concept stage, and the distributed mode is 
not built yet. 
I will keep you updated.

Please let me know your thoughts.

Chris

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.