Hacker News new | past | comments | ask | show | jobs | submit login

Anyone know of any frameworks/libraries that go really needs, but lacks now?



There's room for improvement in a lot of the packages out there, and I'm still surprised by what feels like obvious omissions.

An example of how even a core package could do with improving: "image" doesn't support all forms of progressive and/or interlaced PNG, any version of animated PNG, or WebP. The lack of progressive PNG means that you can't quite rely on it for user-uploaded images, and image/webp seems to be getting more traction and handling those appears to be growing in importance. Without these things, the other packages that rely on "image" to provide image processing can only be relied upon to work for JPG and GIF.

An example of an omission I found myself filling recently, a HTML sanitizer. I wanted something like the OWASP Java HTML sanitizer https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Pr... , but could only find some very simplistic sanitizers packages (little to no ability to define the policy, simplistic URL checking, etc). I ended up writing my own package to help fill the gap https://github.com/microcosm-cc/bluemonday

You can tell I'm dealing with user generated/supplied content. Each domain still feels almost there (in having a toolbox of packages that do everything you need and are rock solid), but just shy of being there today.


There's a webp implementation (and more) developed by Google themselves: https://code.google.com/p/go/source/browse/?repo=image


> An example of how even a core package could do with improving: "image" doesn't support all forms of progressive and/or interlaced PNG

Interlacing support for png will be in Go 1.4: https://codereview.appspot.com/102130044/

You can also follow: https://code.google.com/p/go/issues/detail?id=6293

For progressive/animated png-s please fill an issue: https://code.google.com/p/go/issues


Full read/write access to a directory via LDAP. I was about to start a microservice where I work using Go, but had to use Java. Bummer...

EDIT: a pure Go-based LDAP library is what I meant. I know there's a couple on GitHub but they seem to be abandoned. Plus, there's another one providing bindings to the OpenLDAP libraries.


The math and machine learning stuff is still a work in progress with lots of room for contributions.


As of a few months ago, when I last looked into it, there really isn't a good (fast) image processing (re-sizing, etc.) library.


I've started a small project for some key-frame morphing algorithms, but in its current form it looks more like an exercise than a library.


The best approach to that would be interacting with and leveraging existing, very well proven and optimized image processing libraries. I can see some bindings for things like ImageMagick out there.


There aren't any natural language processing library/toolkit that I am aware of. Huge undertake.


A pure Go SNMP lib that supports SNMPv3 would be amazing.


If you don't actually need v3 but just v1 or v2(c) then there's https://github.com/alouca/gosnmp


Go needs a Cucumber (BDD) library.


What do those out there lack? GoConvey, Gingko + Gomega, Goblin, etc.


What are your requirements? I'm one of the owners of the GoConvey project and I'm happy to answer any of your questions about that project. Ginkgo and Goblin are great choices as well.


BDD is very much not in the spirit of Go programming.


Could you please explain this further? I'm still learning Go but I haven't encountered anything in the philosophy of Go that (to me) would suggest that BDD is "not in the spirit of Go programming".


Something like passport.js in go.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: