zulko
I went with "let's show pages with the most words first". If people spent more time writing a page, it must be a great topic, right? Unfortunately, this also surfaces all the wars, crimes, accidents and controversies that generated the most coverage. These are the most active pages on Wikipedia.
[1] https://landnotes.org/?location=u0q9wgry-5&paneTab=about
https://zulko.github.io/bricks_and_scissors/posts/overhangs/
https://zulko.github.io/composer-timelines/?selectedComposer...
There are many projects that could be done with with wikipedia and LLMs, for instance "equalizing" all languages by translating all pages into all other languages where they are missing. Or, more surgically, finding which facts are reported in some languages of a page but not others, and adding these facts to all languages.
For now, it seems that wikipedia doesn't want to use generative AI to produce wikipedia pages, and that's understandable, but there may be a point where model quality will be too good to ignore.
https://www.reddit.com/r/MapPorn/comments/1l3xl8x/events_fro...
I agree with others in this thread that this more probably "information-biased" than "eurocentric" on the part of the Atlas creator. Pretty sure they wish non-european history was easier to find and aggregate as it would make the project much more compelling (I certainly had this problem with https://landnotes.org/).
I am hoping LLMs will do a lot of good at bridging gaps and surfacing world historical information that didn't make it yet to centralized projects like Wikipedia.
https://landnotes.org/?location=xnd284b0-6&date=1923&strictD...
https://github.com/Zulko/landnotes
My plan has been to overlay historical map borders on top of it, like the Geacron one from this post, but they all seem to be protected by copyright - and understandably so, given the amount of work involved.
If anyone is looking to start similar projects, I open-sourced a library to convert the wikipedia dump into a simpler format, along with a bunch of parsers: https://github.com/Zulko/wiki_dump_extractor . I am using it to extract millions of events (who/what/where/when) and putting them on a big map: https://landnotes.org/?location=u07ffpb1-6&date=1548&strictD...
There isn't a huge market for piano roll recordings, and these recordings are rare. It's a niche topic that can attract
- Older people who have known the time piano rolls (say, until the 1950s)
- People nostagic of old times in general (in particular the 1910s-1940s), the age of early jazz with stride piano and early Broadway.
- Music scholars, because some of these rolls are of historical/musical importance, in particular those "recorded" by George Gershwin or Fats Waller and other big names. A lot of material exists only as piano rolls.
For the example of the Gershwin CD I posted above, it was produced by musicologist Artis Wodehouse [1] in parnership with the yamaha disklavier pianos iirc [2], so my guess is this was a passion project above all, with a bit of Yamaha marketing.
[1] https://www.artiswodehouse.com/biography/ [2] https://usa.yamaha.com/products/musical_instruments/pianos/d...
It was also a time when all these midi files started being available, like the 6000 rolls from Terry Smythe [2], and I figured out transcribing these could be a good way to learn old-school Jazz, which is otherwise difficult to find as sheet music.
[1] https://www.youtube.com/watch?v=BX9MCyO6smk
[2] https://archive.org/details/terrysmythe.ca-archive/mp3s/Ampi...
Some software I wrote for piano roll analysis and transcription:
- Unroll: https://zulko.github.io/unroll-online/ - upload a piano roll midi file and have it quantized and converted to lilypond sheet music. More about the process in this blog: https://zulko.github.io/blog/2014/02/12/transcribing-piano-r...
- Pianola: https://zulko.github.io/pianola/ - upload a piano roll midi file, and it plays with the piano roll and keyboard animation (you can zoom on some parts, slow down etc).
Some transcriptions made with these tools:
- Hindustan: https://github.com/Zulko/sheet-music--hindustan
- Gershwin - Sweet and Lowdown: https://github.com/Zulko/sheet-music--Gershwin-sweet-and-low...
- Gershwin - Limehouse Nights: https://github.com/Zulko/-sheet-music--Gerhswin-Limehouse-Ni...
Show HN: A map with millions of events extracted from Wikipedia
True but I also managed to do this from HTML. I tried getting pages wikitext through the API but couldn't find how to.
Just querying the HTML page was less friction and fast enough that I didn't need a dump (although when AI becomes cheap enough, there is probably a lot of things to do from a wikipedia dump!).
One advantage of using online wikipedia instead of a dump is that I have a pipeline on Github Actions where I just enter a composer name and it automagically scrapes the web and adds the composer to the database (takes exactly one minute from the click of the button!).
- Using chatgpt-mini was the only cheap option, worked well (although I have a feeling it's dumbing down these days) and made it virtually free.
- Just extracting the webpage text from HTML, with `BeautifulSoup(html).text` slashes the number of tokens (but can be risky when dealing with complex tables)
- At some point I needed to scrape ~10,000 pages that have the same format and it was much more efficient speed-wise and price-wise to provide ChatGPT with the HTML once and say "write some python code that extracts data", then apply that code to the 10,000 pages. I'm thinking a very smart GPT-based web parser could do that, with dynamically generated scraping methods.
- Finally because this article mentions tables, Pandas has a very nice feature `from_html("http:/the-website.com")` that will detect and parse all tables on a page. But the article does a good job pointing at websites where the method would fail because the tables don't use `<table/>`
http://zulko.github.io/blog/2014/04/27/viennese-mazes-what-t...
In-browser GIF captioning with 3D CSS animations
We are looking for a computational software engineer to join one of the largest automated platforms for synthetic biology globally.
The Foundry is a unique facility at the University of Edinburgh specialized in large-scale genetic engineering projects for academic and industrial research. We are automating the assembly of genetic constructs up to chromosome size, with an ambition to deliver custom DNA seven days a week with minimal human intervention from order to shipping.
You will use your computational and organizational skills to help us develop the services that orchestrate our platform, making it smarter, faster and more reliable. This is a great opportunity to contribute to exciting research projects (e.g. in gene and cell therapy, metabolic engineering) while developing expertise in Laboratory Information Management Systems, software architecture for automation, computer-aided DNA design and manufacturing, and web development.
Your work will be mainly open-source and have visibility in the Synthetic Biology and Laboratory Automation communities, enabling biological projects at an unprecedented scale!
Duration: fixed term until November 2020 in the first instance. Full job description and application (closing May 7th 2019): https://www.vacancies.ed.ac.uk/pls/corehrrecruit/erq_jobspec...
EGF website: https://genomefoundry.org
EGF Software Projects: https://edinburgh-genome-foundry.github.io
We are looking for a computational software engineer or computational biologist to join one of the largest automated platforms for synthetic biology globally.
The Foundry is a unique facility at the University of Edinburgh specialized in large-scale genetic engineering projects for academic and industrial research. We are automating the assembly of genetic constructs up to chromosome size, with an ambition to deliver custom DNA seven days a week with minimal human intervention from order to shipping.
You will help us develop the services that orchestrate our platform, making it smarter, faster and more reliable. This is a great opportunity to contribute to exciting research projects (e.g. in gene and cell therapy, metabolic engineering) while developing expertise in Laboratory Information Management Systems, software architecture for automation, computer-aided DNA design and manufacturing, and web development.
Your work will be mainly open-source and have visibility in the Synthetic Biology and Laboratory Automation communities, enabling biological projects at an unprecedented scale!
Duration: Until Nov. 2020 in the first instance.
Full job description and application: https://www.vacancies.ed.ac.uk/pls/corehrrecruit/erq_jobspec...
EGF website: https://genomefoundry.org
EGF Software Projects: https://edinburgh-genome-foundry.github.io
We are looking for a computational software engineer to join one of the largest automated platforms for synthetic biology globally.
The Foundry is a unique facility at the University of Edinburgh specialized in large-scale genetic engineering projects for academic and industrial research. We are automating the assembly of genetic constructs up to chromosome size, with an ambition to deliver custom DNA seven days a week with minimal human intervention from order to shipping.
You will use your computational and organizational skills to help us develop the services that orchestrate our platform, making it smarter, faster and more reliable. This is a great opportunity to contribute to exciting research projects (e.g. in gene and cell therapy, metabolic engineering) while developing expertise in Laboratory Information Management Systems, software architecture for automation, computer-aided DNA design and manufacturing, and web development.
Your work will be mainly open-source and have visibility in the Synthetic Biology and Laboratory Automation communities, enabling biological projects at an unprecedented scale!
Duration: fixed term for 2 years in the first instance. Full job description and application: https://www.vacancies.ed.ac.uk/pls/corehrrecruit/erq_jobspec...
EGF website: https://genomefoundry.org
EGF Software Projects: https://edinburgh-genome-foundry.github.io
I defined a Vue component "next-step(after=5)" which triggers a next slide after 5 seconds, and an "audio(source, timeSegment)" component which just plays an audio. Then your slideshow looks like that:
slide(steps=2)
next-step(:after="2" v-if="step === 2")
audio("hello.mp3")
h1 Slide Title
Maybe not as good as a built-in solution, but good enough and very easy to tweak for everyone's needs.