# Programming Ideas

## Auto pause / resume OBS recording

When the mouse doesn't move after 10 seconds and there has no one speaking, pause the recording

When the mouse moves again or if someone starts to speak, if OBS is paused, resume the recording.



status: done

details: but I'm not using it because we'd better use it to record video inside of a virtual system. so that it won't affect our daily work. (M1 MacBook do not support virtual systems.

## Voice to Midi Music

{% embed url="https://blog.tensorflow.org/2020/06/estimating-pitch-with-spice-and-tensorflow-hub.html" %}

{% embed url="https://tfhub.dev/google/lite-model/spice/1" %}

{% embed url="https://github.com/imaNNeoFighT/fl_chart" %}

{% embed url="https://github.com/FirebaseExtended/flutterfire#firebase_ml_vision" %}

status: pending

reason: if the target user is a musician, then a python implementation is enough (there already has one). if the target user is common people, then they don't need to do the 'to midi' conversion, they just want to share what they sing to their friends (there again, has one).

## BTC Trading Bot

status: pending

reason: need more passion

## Video Editor based on auto\_everything

We just do a transfer from command to GUI.

tech we use:

* directory selection: https://pub.flutter-io.cn/packages/file\_picker

## Touch Drawing

Free drawing on Linux

We could use Electron + Javascript to create a whiteboard app.

We will publish it to snap store.

status: failed

reason: someone made it. It's called `Xournal++`

## Python Phone Automator

Use grpc to bind python and android java, so we can automate our phone with python

status: **failed**

reason: I have no longer have the motivation. An app called `Automate` can do the same thing without Python.

[https://play.google.com/store/apps/details?id=com.llamalab.automate](https://play.google.com/store/apps/details?id=com.llamalab.automate)

## cross-platform sync

sync text, files between linux pc and android (security matters

status: **failed**

reason: somebody already made it, `KDE connect`

[https://kdeconnect.kde.org/](https://kdeconnect.kde.org/)

## freedom

Re-manage my whole speech(sayings, tweets) in text, picture, and links. Make a data structure for that, sort it by time. Then show it with a web-view.

status: **success**

reason: I made an app by using expo(react-native) with (p4a: python for android)

[https://github.com/yingshaoxo/freedom](https://github.com/yingshaoxo/freedom)

## ppm(python program manager)

Like npm, but it's for Python. We can write it by using Golang.

status: **failed**

reason: somebody already made it

{% embed url="https://github.com/python-poetry/poetry" %}

## No Chinese

If we found that the IP or the browser language is from China, we say "中国人禁止入内！"

很多在国外合法的东西，在中国就成了非法。所以为了保护中国人，我们必须在我们的应用上加上一句“中国人禁止入内！”

status: pending

reason: I don't have time for this.

[https://www.npmjs.com/package/imchinese](https://www.npmjs.com/package/imchinese)

## 审查终结者

文本混乱

分词，得到数组

把每个词颠倒，如果原文中不含这个颠倒词，就把原文中的词用颠倒词替换

status: pending

reason: I made it but have no guts to publish it. And also, the real thing that stops people from saying what they want to say is they fear the punishment from the police system.

[https://github.com/yingshaoxo/censorship-terminator](https://github.com/yingshaoxo/censorship-terminator)
