Hacker News new | comments | ask | show | jobs | submit login
Show HN: Define – A command-line dictionary app written in Go (github.com)
22 points by Rican7 10 months ago | hide | past | web | favorite | 19 comments

It's very pretty, but unfortunately it looks like just a wrapper for a few dictionary HTTP APIs.

It won't be replacing Dictionary.app, but it does look like a a good subject for learning Go.

I use dict with "gcide" and "moby-thesaurus".


What do you want from it beyond this?

Obviously local dictionary support, I'd prefer to retain the privacy of the words I use and look up.

I'd personally love that too.

Unfortunately, though, its a bit complex to even try to use the local dictionary: https://github.com/Rican7/define/issues/1

which dictionary datasource do you suggest? The OED costs money, and i'm not sure i've heard anything either way about the quality of 'free' versions, though there is the 1913 Websters...

Wordnet is free, and used by many offline dict apps.

I think he's referencing the macOS dictionary.

Browsing through the source, this strikes me as very over-engineered to just hit a few APIs, parse the responses and print text to the command line.

Ha, that's such a classic HN comment.

I appreciate you taking the time to look at the source. I used this, like I do most of my side projects, as an opportunity to learn a few things.

I wanted a generic abstraction so that multiple sources could be used. Originally I didn't want or think of the need to support multiple sources, but it quickly became apparent how necessary that was when looking at the quality of free vs paid vs personal-key-required sources.

In any case, thanks for checking it out!

Sorry, not trying to be a put down. Just a lot of code smells that I see reviewing other people's go at work. Things like the abundance of interfaces, defining your own IO and error handling, use of reflection, and using third party libraries for simple tasks. I'll definitely say the code is at least clean and well documented, so kudos there.

I actually thought the PanicWriter was very clever. It's a clean solution to a very commonly ignored error return value - operations on stdout/stderr.


No kidding, it just kept going and going.

It looks great!, would you accept PRa for adding other languages than English ?

Absolutely I would! Any contributions would be greatly appreciated!

beauty of github - if you want to do it, just do it and submit the pr: even they don't take it, others might see and want that too

I like your thinking :) https://github.com/patrickmn/define

Haha. Nice!

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