Live data from Hacker News

Ask HN: What projects are you working on now?

news.ycombinator.com

601–610 of 1001 posts

Re: Ask HN: What projects are you working on now?

#601
I'm working on a CLI to download and index from any API like Spotify, Gmail, etc. It puts all of your data in a single database that you can query. There currently aren't many integrations but it's really easy to make plugins to share new data sources, queries, etc. Feel free to make a PR!

Code: https://github.com/aspen-cloud/aspen-cli

Re: Ask HN: What projects are you working on now?

#602
Mick Tagger – a macOS app making it easier to organize your Spotify and iTunes Music playlists – https://bit.ly/micktagger

I'm currently working on an "evergreen playlist" feature, where the app would automatically remove tracks you skip often in those playlists. Thus keeping your playlists fresh / evergreen.

I'm going to start with something simple (e.g. removing based on some rules I decide initially - percentage played over multiple listens), but I'm planning on adding an ML algorithm that can figure out when to remove a song based on multiple criteria (e.g. stuff like how often you skipped songs that day, what genre they were etc.)

If anybody is looking for a nicer way to manage their playlists, give it a try and reach out – https://twitter.com/micktaggerapp

Re: Ask HN: What projects are you working on now?

#603
I am working on a recycling bin/garbage bin location website. It's purpose is to find the nearest bin for you to throw away trash that you may have in your hand. It currently has 700,000+ bins from OSM data and users can add as well.I want to add some features like getting walking directions to the nearest bins and probably having to create am account to add a bin to handle the case of slamming. Here is the site https://recyclair.eu.org

Re: Ask HN: What projects are you working on now?

#604
I'm making an algebraic filter that looks a lot like grep. Doing it in c++.

the python one lets you go through a log file and filter the lines out based on statements like...

You can currently use it to say "give me all lines that contain "substrA" and "substrB" but not "substrC" or "substrD"."

This current python implementation can only do AND for requirements, and OR for negative requirements.

But, I realized that I wanted to do a filter that could handle things like "give me all the lines that contain ... ("substrA" or "substrB") AND ("substrC" or "substrD")" and that was when I realized that it needs to be an algebraic system.

Re: Ask HN: What projects are you working on now?

#605
I’m working on making Postgres a real-time database (like Firebase): https://github.com/supabase/realtime

At its core it’s an elixir server which listens to Postgres’s built-in replication functionality, converts the byte stream to JSON, then blasts it out over websockets.

It’s working in production at a few companies now. My next goal is to build connectors to other systems like Kafka, SQS etc

Re: Ask HN: What projects are you working on now?

#606
Film restoration, though it doesn't technically fall under "restoration".

I run a site [0] that has a lot of old and indie films. Some of these are really great, but terrible quality, because they are very old with very few copies in existence.

Proper restoration is a crazy time consuming process, and often requires you have access to some of the analog sources, and the machines to read them.

But... What if instead of a full restoration, you focus instead on just making it watchable? Allow some quality loss to trick the human eye into seeing what is important?

The best result so far is on The Great Train Robbery [1], and I have a brief breakdown of the process over here [2]. (I also put together a soundtrack for it, using a MIDI synth).

However... Currently the process is _slow_.

Restoring a full-length feature film, like I'm trying with the Blancheville Monster, will take months, despite it running in parallel to cover as many frames as the CPU/RAM combo can handle. (The Great Train Robbery took about 2 weeks).

Anything I can do to speed up the process is helpful. Unfortunately, the most time-consuming step (up to 20 seconds a frame, but usually around 1-2sec), is also the most important and I don't think I can optimise it. (The simplify step that uses k-means clustering).

The process is also not perfect yet. There is still too much quality loss. It's watchable, easily, but could still be better.

[0] https://sixteenmm.org

[1] https://sixteenmm.org/s/thegreattrainrobbery_2020

[2] https://sixteenmm.org/blog/20200318-Filmscope%20Progress

Re: Ask HN: What projects are you working on now?

#607
I'm working on a static site generator (Raise) that's taking a bunch of lessons from one of my previous projects, a testing library called Distilled[0].

The development philosophy with Distilled was to have a very, very small but flexible API, and to basically try to get out of your way. Distilled takes the view that some parts of testing are a lot easier than people think, so it explicitly doesn't do those things. It doesn't give you a test harness out of the box, it doesn't give you a `beforeEach`, stuff like that. It gives you a very solid, very predictable base that you can very quickly morph in different directions. I've been using Distilled for ~2 years at this point, and it's been a mild revolution in how I approach testing.

So the philosophy with Raise is very similar. With Raise, there are no built-in transpilers or templating engines, there is no CLI. I expect you to do whatever text transformation you need yourself, either manually or through a 3rd-party library. What Raise does do is make it very easy to recursively pipe directories through transform functions, and very easy to build complicated transforms.

So if you want to compile a bunch of markdown files:

  await Raise({
    input: './source',
    output: './public',
    transform: {
      '**/*.md': async (info) => ({
        [`${info.filename}.html`]: marked(await info.contents())
      })
    }
  });
And you can also do fun things like recursively return transforms, which makes Raise really easy to extend and adapt to different projects. So for example, if your sitemap was being managed by a CSV file or something:

  await Raise({
    input: './source',
    output: './public',
    transform: {

      /* structure: "page_name", "page_location" */
      'pages.csv': async (info) => {
         let pages = parse(await info.contents('utf8'));
         return pages.reduce((result, page) => {
           result[page[1]] = async (info) => ({
              [page[0]]: marked(await info.contents())
           })
         }, {});
       }
    }
  });
There are a few other cool tricks you can pull with it, but they're hard to explain in small code samples. But you're not getting any transforms for free, and I'm not trying to intuit anything about the structure of your site. There's no magical behavior. But what you get in return for that is an API that is extremely consistent, extremely predictable, very easy to learn, and very easy to adapt to novel situations.

Still a work in progress, but I should be done with the last few chores for the alpha within the next few days, at which point I'm going to start testing it out by converting some of my own sites to use this as the builder.

[0]: https://distilledjs.com/

Re: Ask HN: What projects are you working on now?

#608

I'm putting some more time into PortableApps.com. I know it'll help people use their laptops for both work and personal stuff while keeping them separate. And I built a portable package of Folding@home which they're reviewing for release to hopefully get more folks helping attack COVID-19.

An amazing service, thank you.

Re: Ask HN: What projects are you working on now?

#610
I am still working on my business which was started during the GFC back in 2008.

My business isn't important, but what is important is what you do over the next coming months.

During the GFC, I was a contract programmer and was let go in November. In Australia I figured nobody was going to hire in December, January is basically a write off, and could possibly find work in February.

Now I had 3 months up my sleeve. I could either lay down the foundations to my side project, or slack off, play video games, and watch videos all day.

So I worked hard on my side project which was making no money, and eventually it grew legs a year later when I was in a position to work on it full time, and have been ever since.

Now, what are you going to do with your current spare time? Nothing you do will make money instantly, but you could be planting those seeds, and maybe your tree might grow into something big.

Post reply on HN