<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: itm</title><link>https://news.ycombinator.com/user?id=itm</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 03:40:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=itm" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by itm in "Blackcandy: Self hosted music streaming server"]]></title><description><![CDATA[
<p>Well you can have some comparison  here: <a href="https://github.com/basings/selfhosted-music-overview">https://github.com/basings/selfhosted-music-overview</a><p>From what I know lms has more artist relationships (composers, conductors, etc.), but it lacks last.fm integration and jukebox mode.</p>
]]></description><pubDate>Fri, 27 Dec 2024 11:36:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=42521434</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=42521434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42521434</guid></item><item><title><![CDATA[New comment by itm in "Blackcandy: Self hosted music streaming server"]]></title><description><![CDATA[
<p><a href="https://github.com/epoupon/lms">https://github.com/epoupon/lms</a> is another (Open)Subsonic compatible server that supports directory browsing commands.
But actually few clients use them.</p>
]]></description><pubDate>Thu, 26 Dec 2024 11:17:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=42514549</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=42514549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42514549</guid></item><item><title><![CDATA[New comment by itm in "One Gate, Multiple Locks"]]></title><description><![CDATA[
<p>The obvious drawback is that the global security level is the security level of the weakest lock.</p>
]]></description><pubDate>Fri, 08 May 2020 16:31:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=23116564</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=23116564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23116564</guid></item><item><title><![CDATA[New comment by itm in "Ask HN: What is the hottest OSS software I should contribute to"]]></title><description><![CDATA[
<p>I guess your best bet to keep motivation on the long term is to contribute to projects your are using daily.</p>
]]></description><pubDate>Sun, 05 Apr 2020 10:15:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=22784850</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=22784850</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22784850</guid></item><item><title><![CDATA[New comment by itm in "Ask HN: How to become good at naming things in code?"]]></title><description><![CDATA[
<p>I do agree with this.
For example, if you can't easily name a function, then it is likely it does too many things and should be split or something.</p>
]]></description><pubDate>Sun, 05 Apr 2020 09:09:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=22784631</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=22784631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22784631</guid></item><item><title><![CDATA[New comment by itm in "Ask HN: How to become good at naming things in code?"]]></title><description><![CDATA[
<p>(I hope you actually don't store passwords in clear text in your database :) )</p>
]]></description><pubDate>Sun, 05 Apr 2020 09:07:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=22784623</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=22784623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22784623</guid></item><item><title><![CDATA[New comment by itm in "Show HN: Light and Powerful Web-Framework for C++"]]></title><description><![CDATA[
<p>Could you please tell how it compares to Wt? (<a href="https://www.webtoolkit.eu/wt" rel="nofollow">https://www.webtoolkit.eu/wt</a>)</p>
]]></description><pubDate>Tue, 28 Jan 2020 18:57:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=22172810</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=22172810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22172810</guid></item><item><title><![CDATA[New comment by itm in "Ask HN: What do you self-host?"]]></title><description><![CDATA[
<p>This is a good question.
On mobile, I just use phone buttons to control volume.
On desktop, I just use the media keys since I don't listen to something else.
But since you are not the first to ask, I can add a volume slider on large devices.</p>
]]></description><pubDate>Sun, 13 Oct 2019 12:48:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=21240091</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=21240091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21240091</guid></item><item><title><![CDATA[New comment by itm in "Ask HN: What do you self-host?"]]></title><description><![CDATA[
<p>I eat my own food:<p><a href="https://github.com/epoupon/lms" rel="nofollow">https://github.com/epoupon/lms</a> for music<p><a href="https://github.com/epoupon/fileshelter" rel="nofollow">https://github.com/epoupon/fileshelter</a> to share files<p>Eveything is packaged on debian buster (amd64 and armhf) and run behind a reverse proxy.</p>
]]></description><pubDate>Sun, 13 Oct 2019 05:29:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=21238544</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=21238544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21238544</guid></item><item><title><![CDATA[New comment by itm in "Show HN: LMS – Lightweight Music server written in C++"]]></title><description><![CDATA[
<p>Yes, actually MusicBrainz and AcousticBrainz are part of MetaBrainz (see <a href="https://metabrainz.org/projects" rel="nofollow">https://metabrainz.org/projects</a>)
There is even a ListenBrainz project :)</p>
]]></description><pubDate>Wed, 14 Aug 2019 18:04:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=20698229</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20698229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20698229</guid></item><item><title><![CDATA[New comment by itm in "Show HN: LMS – Lightweight Music server written in C++"]]></title><description><![CDATA[
<p>My bad I think I misunderstood your question about musicbrainzId.
It is used internally :
- as a key for albums and artists to properly handle duplicated names.
- to retreive audio data analysis from AcousticBrainz<p>If you have musicbrainz identifiers in your file, it is assumed the other tags (artist, album, etc.) are correct and are directly used.</p>
]]></description><pubDate>Wed, 14 Aug 2019 07:26:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=20693387</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20693387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20693387</guid></item><item><title><![CDATA[New comment by itm in "Show HN: LMS – Lightweight Music server written in C++"]]></title><description><![CDATA[
<p>Thanks for you feedback!<p>About the software license, the web framework used (wt) is using the GPL license. So unfortunately I have to stick with it since I include/link with it. It is likely not a problem for SaaS though.<p>- ncmpcpp-like frontend: what do you have in mind actually? I am not sure since the goal here is to play the music on the device from which you access to the server.<p>- directory-based navigation: well I think that is a matter of taste. Personally I find the navigation directory based very restrictive. It does not scale well on a large collection and after all, it is just a fixed view of what you can offer using tag based browsing.
Most people use a genre/artist/album layout, but using tags you could easily achieve the same, and go even further and do whatever you want: genre/decade/artist/album, mood/album, genre/mood/artist, etc.
Honestly, I would rather encourage people to properly tag their files rather than spending time on implementing a clunky directory based navigation.<p>- Any info on the recommendation engine? How does it work?
Low-level Data is fetched from AcousticBrainz. See an exemple here for a random song: <a href="https://acousticbrainz.org/e73f3d92-4e9f-4db4-943a-41978d9dbd72/low-level/view?n=0" rel="nofollow">https://acousticbrainz.org/e73f3d92-4e9f-4db4-943a-41978d9db...</a>
Some features are extracted for each track (the exact list is here: <a href="https://github.com/epoupon/lms/blob/develop/src/database/SimilaritySettings.cpp#L37" rel="nofollow">https://github.com/epoupon/lms/blob/develop/src/database/Sim...</a>) and all these features are used together to classify the tracks. You can find details here: <a href="https://en.wikipedia.org/wiki/Self-organizing_map" rel="nofollow">https://en.wikipedia.org/wiki/Self-organizing_map</a> .
Once it is done, you get a map with all your tracks in it, and using the underlying SOM you can determine the neighbourhood of a given track.
The recommendation engine uses this map. For example, if you want albums that are similar to a particular one, you look for the tracks of the album in the map and you retreive the albums of the tracks that are close to them.<p>- Does musicbrainzId support include id3 tagging? id3 is a tag format used mainly in MP3. LMS reads all the tags using taglib. Therefore it can extract the tags (id3 or whatever) it needs internally (musicbrainz ids, artist, albumartist, date, etc.) as well as custom tags the administrator want too (
albummood, mood, albumgenre, grouping, etc.)
Hope that helps!</p>
]]></description><pubDate>Tue, 13 Aug 2019 07:41:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=20683604</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20683604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20683604</guid></item><item><title><![CDATA[New comment by itm in "Show HN: LMS – Lightweight Music server written in C++"]]></title><description><![CDATA[
<p>Hey, thanks for your feedback!<p>That's a good question, I have to admit there are a lot of similar softwares available these days.<p>I noticed that I tend to always listen to the same music, and sadly I even forget the music I have.
That's why I tried to put as many links as I can in the interface to easily jump from a title/release/artist/albumartist/genre/whatevercustomtag to another one. In particular, it should handle (custom) tags with multiple values, and it can filter over some of them on all views.<p>I also tried to make a recommendation engine that makes use of a SOM (<a href="https://en.wikipedia.org/wiki/Self-organizing_map" rel="nofollow">https://en.wikipedia.org/wiki/Self-organizing_map</a>). For that it fetches data from AcousticBrainz (<a href="https://acousticbrainz.org/" rel="nofollow">https://acousticbrainz.org/</a>) and makes clusters of songs that have similar audio characteristics. I have to say it's not perfect (it's quite good to cluster metal tracks though), but I would like to go deeper into this subject.<p>Apart from that, it is really lightweight and that was not really the case of the avalaible softwares when I started it.</p>
]]></description><pubDate>Mon, 12 Aug 2019 21:17:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=20680104</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20680104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20680104</guid></item><item><title><![CDATA[New comment by itm in "Show HN: LMS – Lightweight Music server written in C++"]]></title><description><![CDATA[
<p>Hello,<p>Please feel free to provide any feedback on this project.<p>I tried my best to make a README as complete as possible, but any remark/suggestion is welcome (English is not my native language).</p>
]]></description><pubDate>Mon, 12 Aug 2019 18:46:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=20678544</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20678544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20678544</guid></item><item><title><![CDATA[Show HN: LMS – Lightweight Music server written in C++]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/epoupon/lms">https://github.com/epoupon/lms</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=20678518">https://news.ycombinator.com/item?id=20678518</a></p>
<p>Points: 7</p>
<p># Comments: 8</p>
]]></description><pubDate>Mon, 12 Aug 2019 18:45:01 +0000</pubDate><link>https://github.com/epoupon/lms</link><dc:creator>itm</dc:creator><comments>https://news.ycombinator.com/item?id=20678518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20678518</guid></item></channel></rss>