HNHacker News
TopNewBestAskShowJobs

anonfunction

2,245 karma · joined March 15, 2013

Surfacing latent bias in AI models at LatentEvals.com

https://github.com/montanaflynn

submissionscomments
anonfunction··on Ask HN: How do I set up my own simple website on a domain I buy?
GitHub pages is free.
anonfunction··on Have any developers regretted switching from OS X to Linux?
I've missed the screenshot tools, preview and keystrokes I've committed to muscle memory.
anonfunction··on Show HN: Golang statistics package with 100% code coverage
Thanks for your interest!

I think the biggest thing to do is finalize the public API and release v1.0.0. I started with only functions but have since added types, so I'd like to figure out if I should support both or stick to one or the other. I have a feeling I could use an Interface to make stats work for both []float64 and []int but I'm not sure about that.

Another thing I'd like to do is add more test suites, I know they are out there for more mature statistics packages in other languages that could be ported to Go.

Speaking of mature packages, I think the Gnu GSL Statistics[1] could be a good roadmap for future functionality and API design decisions.

1. http://www.gnu.org/software/gsl/manual/html_node/Statistics....

anonfunction··on Show HN: Golang statistics package with 100% code coverage
Thanks a lot, it means a bunch to me :D
anonfunction··on Show HN: Golang statistics package with 100% code coverage
Stats also works fine with pure []float64 data. The types allow for a very clean API for working with data and statistics. You can compare using functions[1] or methods[2] in /examples.

I started with only []float64 but wanted to allow stuff like this:

    func getData() []float64 {
    	// Do stuff to get the data and 
    	// store it in var data []float64
    	return data
    }

    var d Float64Data = getData()
    fmt.Println(d.Max())
1. https://github.com/montanaflynn/stats/blob/master/examples/m...

2. https://github.com/montanaflynn/stats/blob/master/examples/m...

anonfunction··on Show HN: Golang statistics package with 100% code coverage
You are correct, it's been fixed with this commit[1]. My excuse is it was late when I added those output comments.

1. https://github.com/montanaflynn/stats/commit/a3efee7551d14a9...

anonfunction··on Show HN: Golang statistics package with 100% code coverage
As I was originally answering a question regarding whether it was normal to return errors or raise exceptions, and because I've read Dave Cheney and Rob Pike's blog posts explicitly stating Go does not have exceptions I replied as such.

However, after doing some research I learned that in addition to Panic() there's also Recover()[1], so I'll concede that there is similarity between panic/recover and throw/catch. Prior to my learning about Recover() I was under the assumption that Panic was just used to print a message and close a program with a non-zero status.

1. https://github.com/golang/go/wiki/PanicAndRecover

anonfunction··on Show HN: Golang statistics package with 100% code coverage
Rob Pike, one of the three creators of Golang, disagrees with you. In his blog post less is exponentially more[1] he shares a list of significant simplifications in Go over C and C++ which includes:

> no exceptions

1. http://commandcenter.blogspot.pt/2012/06/less-is-exponential...

anonfunction··on Show HN: Golang statistics package with 100% code coverage
The coverage is based on the built in go tooling, which supports line or function based analysis. In addition it can start a webserver where you can browse coverage by file with color output.

    # Generate coverage data
    go test -coverprofile=coverage.out
    
    # View coverage by function
    go tool cover -func="coverage.out"
    
    # View coverage line by line
    go tool cover -html="coverage.out"
anonfunction··on Show HN: Golang statistics package with 100% code coverage
Thanks! Go doesn't have exceptions and it is idiomatic[1] to return the error type. Dave Cheney has a really great blog post[2] which he describes why go does away with exceptions. The Golang wiki on GitHub has a great section[3] on errors as well.

1. https://gobyexample.com/errors

2. http://dave.cheney.net/2012/01/18/why-go-gets-exceptions-rig...

3. https://github.com/golang/go/wiki/Errors

anonfunction··on Show HN: Golang statistics package with 100% code coverage
Hey Hackers, this is my first full-featured Golang package. I took a lot of care to ensure it was well tested and provided a lot of common functions that I felt were missing from the standard library. In addition it has a lot of other statistics functionality like regressions, outliers, correlation and more.
anonfunction··on Show HN: PrintDropper – Affordable Print Fulfillment
Reminded me of lob[1] and I think their colors / branding is too similar to your own which could be something to consider at this early stage.

How does the pricing compare to traditional printers? I think a better pricing user experience could go a long way to converting users into customers. Something like choose the product and a slider for quantity that shows the cost, discount and comparison to competitors would be a huge improvement. Tables also have their place so they should be accessible.

When's the API going to go public? I'd be interested to see how it's designed.

anonfunction··on Amazon Curtails Development of Consumer Devices
Is this true for all products or just phone and tablets? I was actually intrigued by the echo and dash, even if I think they should be open and not tied to one company or use.
anonfunction··on WordSafety – Check a name for unwanted meanings in foreign languages
They have an unofficial API[1] that could be used.

[1] http://api.urbandictionary.com/v0/define?term=culo

anonfunction··on How to juggle 10 balls
This is great but is anyone else noticing the balls are hitting in mid-air without any change in trajectory?
anonfunction··on GitLab 7.14 released
GitLab seems to be on fire in terms of product development. I'm truly inspired by the "transparent by default" business policies and commitment to openness.

Since I'm interested in highly concurrent web services I thought it was interesting they are underway porting their http server from Ruby's Unicorn to Golang. It would be nice to see a separate post on this process and any performance comparisons.

Checking out the source code[1] I noticed how nice and full featured the GitLab UI. As a daily GitHub user I was pleasantly surprised by how comfortable I was navigating around.

[1] https://gitlab.com/gitlab-org/gitlab-git-http-server

anonfunction··on Go 1.5 is released
Happy to see Travis-CI updated gimme[1] with 1.5 support just now!

I've been anticipating the change and had already updated my .travis.yml file in my stats package[2] which would fall back to tip.

[1] https://github.com/travis-ci/gimme/issues/19

[2] https://github.com/montanaflynn/stats

anonfunction··on Show HN: Json parser in 20 lines of bash
Thanks for clarifying both here as a reply and in the README[1] itself.

[1] https://github.com/izabera/j/commit/24e0c49e38c63c4f96f01725...

anonfunction··on Show HN: Json parser in 20 lines of bash
Looking at the source[1] it stands at 94 lines. There's also no example of field extraction in the readme even though it's mentioned that there is an example below in the features section.

[1] https://github.com/izabera/j/blob/master/j

anonfunction··on Blockspring: Do anything in a spreadsheet
I'm not familiar with PowerQuery but after a quick search I think a huge difference is that blockspring has an open marketplace of data APIs.
anonfunction··on Blockspring: Do anything in a spreadsheet
As an early user of blockspring I was excited to login and add another one of my APIs (bitcoin related) that would be perfect for having in spreadsheets. Unfortunately I couldn't find any obvious way to add an API. Naturally I hacked it by going to one of my existing APIs (thanks google, I couldn't find a URL from the UI otherwise) and cloning it. Here's the UI of the create API page[1] for anyone who's interested.

[1] http://i.imgur.com/wQoyhT1.png

Edit: You can create new APIs on blockspring by going directly to a route[2] which still works. I saw Alexa had an API but it needed authentication credentials, and since I already had found Alexa's undocumented API[3] I added it to blockspring[4] just for fun.

[2] https://open.blockspring.com/blocks/new

[3] http://data.alexa.com/data?cli=10&url=news.ycombinator.com

[4] https://open.blockspring.com/montanaflynn/alexa-rank

anonfunction··on Blockspring: Do anything in a spreadsheet
https://open.blockspring.com/browse

For anyone who wants to view the actual blockspring UI/UX along with what APIs are available.

I personally prefer seeing the product rather than reading marketing materials. In many cases (not specific to blockspring) they're completely different in terms of design, messaging and stated features.

anonfunction··on Redis re-implemented in Rust
I would hardly say this is readable:

    fn search_entry_hashed<'a, K: Eq, V>(table: &'a mut RawTable<K,V>, hash: SafeHash, k: K)
        -> Entry<'a, K, V>
anonfunction··on Show HN: EnnoDB, a simple NoSQL database
I've always thought "full-stack" meant both front-end and back-end. Meaning that they could work on the website and the API.
anonfunction··on Atom now opens files larger than 2MB
May I ask the meaning and origin of the verb McKeithing?
anonfunction··on It's the Future
Looks like my `docker-stats-all` alias:

    docker ps -q | xargs docker stats
anonfunction··on It's the Future
That one-liner won't work (for me), it's missing a slash in the awk command. I have this aliased as `docker-rmi-junk` since it's so common.

    docker rmi -f $(docker images | grep "^<none>" | awk "{print \$3}")
I agree with everything else you're saying completely. Although messaging a value prop is hard when you have so many use cases. We faced the same issue and ended up trying to segment users as quickly and high up in the funnel as possible so we could speak directly to their needs.
anonfunction··on Scaling Wix to 60M Users – From Monolith to Microservices
Even though Kong uses Nginx under the hood as a user you interface with Kong through the CLI or REST API and don't deal directly with Nginx or it's config files. While Kong is a mix of Nginx + Lua + Cassandra it's meant to take the place Nginx in your software stack.
anonfunction··on Scaling Wix to 60M Users – From Monolith to Microservices
Kong is meant to replace nginx or HAproxy but with additional functionality added as plugins. For example you could proxy any APIs or microservices and add authentication, rate-limiting and logging as plugins.
anonfunction··on Ask HN: Python, Ruby, Golang or Java?
Depending on what problems you're trying to solve I think you'll find developers have very little problem learning Go. People coming from Python or Ruby might have a difficult time at first but anyone coming from C or C++ will be able to jump in quickly.
← PreviousPage 15 of 26Next →