Show HN: Create generative background images from a string in Go
github.com
github.com
- it's unusual to pass a map with expected keys like this. Normally you'd pass a struct like: p := New(Options{ BaseColor: "...", Color: "...", Generator: "...", })
- You could define the known patterns as constants so they're documented and so users don't have to worry about typos
- Field names are normally camel-case without underscores, e.g., "Base_color" should be "BaseColor"
- You could use Go's build-in image/color package instead of accepting RGB strings, but that's more of a judgement call.
If you're accepting pull requests I might send you some, but they're breaking API changes so it's up to you.
All-in-all though it's a cool project and I'm glad to see it in Go :)
I believe these points are not contributing in breaking API :D so lets talk on them first.
2. You mean instead of an array I'm using here [1], We should add them as constants and write separate documentation for each? This sounds nice as it will help obviously like you said.
3. Ohh, I missed this convention, thanks for pointing this out. :)
4. As you said its more of a judgement call, I believe that RGB strings are fine and easy for users. You find any wrong in RGB strings?
So, I'll be very happy to co-operate if you are doing pull request covering points 2 and 3 :) And I'll try to cover your point 1 on my own :)
Cheers \o/
[1] https://github.com/pravj/geo_pattern/blob/master/pattern/pat...
http://dave.cheney.net/2014/10/17/functional-options-for-fri...
I haven't attempted it myself, but it looks very interesting.
[1] https://github.com/pravj/geo_pattern/blob/master/svg/svg.go#...
import "github.com/pravj/geo_pattern/pattern"
will import from the file system, at $GOPATH/src/github.com/pravj/geo_pattern/pattern/however, go get will fetch from the URL and install it in said path (it's a mixed blessing)
The [free] Little Go Book [1] makes a special note of it :)
At first, I thought "create generative background images from a string" meant that the algorithm could be fed any string and it would use that string as a sort of seed for the creation of fractal/geometric art. So I thought that the text overlaying each of the rectangles on the GitHub Guides page was the seed text for the art underneath it. After reading further, I see that assumption is wrong. But I think it's an interesting idea to couple the text on a page with automatically generated geometrically and chromatically pleasing art. I see this sort of organic and causative dynamic as the future of a large part of software development, especially as we enhance our toolset with the power of evolution (e.g., a website that evolves by itself through A/B tests and little human intervention).
I could generate a random string for each user, but then I'd have to store it somewhere. It's better to just use the username as the seed.
It's the same fundamental principle behind identicons.
i did port a lot of the xscreensavers to plan9 and then a few of them to go when go came out. this reminds me a lot of some of them. now if only there was a way to animate them!
https://code.google.com/p/goxscr/
they work using x11, mostly on linux :)