Our great sponsors
-
wordnote
A simple and elegant notebook to write new words and discover their meanings and synonyms https://wordnote.app
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
Kotoba
Quickly search the built-in iOS dictionary to see definitions of words. Collect words you want to remember.
-
organice
An implementation of Org mode without the dependency of Emacs - built for mobile and desktop browsers
-
logseq
A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I too wrote a similar app for my personal problem and also served to be a good way to learn about kotlin and Android ecosystem. I also tried a rewrite in flutter and compose. The idea was to use select the word and then click meaning from context menu so that meaning occurs as notification and disappears in 15 seconds. I used Wiktionary as dataset source and app works offline.
https://play.google.com/store/apps/details?id=com.xtreak.not...
https://github.com/tirkarthi/NotificationDictionary
Hey Hacker News!
I'm thrilled to read all the comments with ideas and improvements. I will try to answer and keep up with the thread.
Kudos to all the similar initiatives trying to solve the problems I outline in the article. It's wonderful to see a zeitgeist about dictionaries.
Who wants to jump the article and try the version I built, feel free to download the iPhone [1] or Android [2] version or run it by itself with the open source repo [3]
1: https://apps.apple.com/app/wordnote-dictionary/id1596537633
2: https://play.google.com/store/apps/details?id=com.zehfernand...
3: https://github.com/zehfernandes/wordnote
Cheers!
Exactly and I don't know why more apps don't do this. I wonder if it's against App Store guidelines to make a dictionary app based on the built-in dictionary.
There are a lot of dictionary apps out there but as usual most developers miss the forest for the trees. I don't know why there's still not a single dictionary app that is blazing fast, use the built-in dictionary and have some common sense design choices (literally not came across a single dictionary app that doesn't enable keyboard as soon as you open it -- it's a dictionary app, why do they think I open the app?!).
Kotoba (https://github.com/willhains/Kotoba) is almost perfect but there's no way to download it from the App Store and I don't want to deal with the hassle of sideloading on iOS as a non-developer.
I saw a few posts discuss using the Wiktionary dump directly vs. the freeDictionary API, which is difficult to do because the raw wiki text isn't immediately usable. I actually created and open sourced a project several years ago that I never publicized that lexes and parses the Wiktionary dump:
https://github.com/vthommeret/glossterm
Specifically it can understand and execute 21 different wiki text templates (e.g. "cog", "borrow", "gloss", "prefix", "qualifier”), e.g. {{inh|es|la|gelātus}}:
https://github.com/vthommeret/glossterm/tree/master/lib/tpl
And eventually parse it into this structure, which has a list of all definitions (distinguished into nouns, adjectives, verbs, adverbs, etc...), etymology, links, and descendants for a given word:
https://github.com/vthommeret/glossterm/blob/master/lib/gt/p...
Further parts of the pipeline turned different relationships into edges that I could stick into a graph database and do certain graph queries. This allowed me to do certain queries like find French, Spanish, and English words that share a Latin root.
I ended up parallelizing this specific query using Apache Beam and then dumping the results into Firestore so they could be queried via a web app. Here's an example for the Spanish word: helado
https://cognate.app/words/es/helado
Under the "Cognates" section, it knows that it comes from the Latin root "gelatus" from which English has borrowed the word "gelato".
I originally started this project when I was learning Spanish. If you just look up the definition of helado (ice cream) it doesn't necessarily help you learn it. But I found that if I could relate it to languages I already knew (e.g. English and French), it was easier to remember. In this case helado is related to gelato, but you won't find that in e.g. Google Translate or SpanishDict.
Ultimately, I found that while the Wiktionary data is amazing, it’s also a bit of a quagmire for finding cognates. I would miss certain etymologies where you had to follow a descendant tree 2 or 3 levels deep. Or a definition would just mention a word it was related to. But if I expanded the query to include these instances, then it significantly increased the amount of non-cognates that showed up in the results.
So I created a useful set of tools (which I never wrote about until now), but I realized the end result of a web UI that showed the relationships between words would require a significant investment in data quality that likely wasn’t possible without changing Wiktionary itself / community investment.
Great work
I'm working on similar dictionary app and found wiktionary insanely usable as dictionary source.
Here is one more project aiming to make wiktionary data usable as json data structure: https://github.com/tatuylonen/wiktextract.
It has a link to a site https://kaikki.org/ which hosts dictionary data dumps.
Related posts
- Notes on Emacs Org Mode
- I left Emacs and Org-Mode 8 months ago and switched to more modern note-taking tools. But yesterday I came back to it, and now I feel at home.
- Project Mage is an effort to build a power-user environment in Common Lisp
- Don't understand org-mode
- Do you guys write on a notebook or have a digital file for notes?