From cdabe7a75ea14f14ca8d4cd3bf9ac36cb1817531 Mon Sep 17 00:00:00 2001 From: neodarz Date: Fri, 28 Apr 2017 19:05:18 +0200 Subject: Delete some usless file --- build/blog/2015-06-23-all-problems-solved.html | 56 -------------------------- 1 file changed, 56 deletions(-) delete mode 100644 build/blog/2015-06-23-all-problems-solved.html (limited to 'build/blog/2015-06-23-all-problems-solved.html') diff --git a/build/blog/2015-06-23-all-problems-solved.html b/build/blog/2015-06-23-all-problems-solved.html deleted file mode 100644 index 003b2655..00000000 --- a/build/blog/2015-06-23-all-problems-solved.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - -All problems solved!? - - - - - - - - -
This blog has been archived.
Visit my home page at zhimingwang.org.
- -
-
-

All problems solved!?

- -
-

The project I've been working on intermittently over the past month, pyonedrive, a OneDrive API v1.0 API/CLI client, is now quite satisfactory in terms of its feature set1, so today I'm thinking about what I should work on next. Of course there's a lot more I can do, but what is done already encapsulates 95%+ of my daily usage; moreover, as everyone knows, refining an existing project is not as exciting as starting a new one and making something happen that is previously tedious or impossible.

-

To my surprise, I can't think of anything. I now realized that I don't have many peculiar computing needs. I needed a storyboard generator which I couldn't find anywhere, so I wrote one, and got an elegant FFprobe wrapper for free. I hated the crappy CLI shipped with python-onedrive2 that constantly fails and dumps, so I rolled my own around the new API. In the process of coding up these two things, I learned quite a bit of Python — the kind of things I would never learn by reading tutorials or references alone. Other than these two, I need to interact with a few Web services and scrape a few Web sites, which are easily taken care of in bash/zsh/python (node might better serve some, but they ain't broke, so why rewrite). I also need some other CLI tools but those have been solved by existing projects, probably started by people with similar needs. Some of them need some clean-up and feature boost, e.g., you-get, but I'm not inclined to refactor or submit substantial PRs to other people's projects, so I usually just write my own wrappers to bypass their limitations.3 What else? Basically nothing.

-

So I'm in a strange situation that I feel like writing software for fun and profit, but don't have anything exciting to lay my hands upon (other than improving existing things). Of course I could learn my next language, but language learning without real world usage is likely to be futile. For instance, I would like to learn some Go or Rust, but why do I need a compiled, C/C++ replacement these days, when scripting takes care of all my personal needs? Not clear. Maybe it's a good time to concentrate on the real important things in my career.

-
-

Update: Whilst writing this post, I came up with a project after all. I always had the idea of keeping an encrypted journal — real encryption, not the fake "password protection" of DayOne.4 The journal should be decrypted — probably only into memory — upon entry (after securely typing in password), and each text/image object should be encrypted separately to ease syncing (so using an encrypted sparseimage won't work).

-

In principle an Emacs package should be able to do this, but going forward Elisp is a pretty horrible choice of language for anything substantial (think of, for example, threading, which there is none). Therefore, I'm inclined to write this in ObjC/Swift with Cocoa. This will be my first attempt at Cocoa programming, and my first serious involvement with Xcode (other than CLT, of course) after quite a few years5. Actually I've always been looking for an excuse to learn some Swift.

-

Oops, am I falling into prematurely announcing my plans? Hopefully not.

-
-
-
    -
  1. In fact it already exceeded my original expectations — pyonedrive started out as a bare bones batch uploader.↩︎

  2. -
  3. I never bothered to look at the API.↩︎

  4. -
  5. E.g., for you-get, I wrote a wrapper with concurrency support and much more surrounding you-get's --url option. (But honestly, for whatever reason, links provided by flvcd.com for Chinese video streaming sites are much better than those parsed by you-get in terms of download speed, so these days I almost use flvcd.com's BigRats exclusively, except when it similarly can't pick up a reasonable speed, in which case I would grind with my you-get wrapper, which was designed exactly for grinding.)↩︎

  6. -
  7. And DayOne's Markdown engine sucks, among other limitations, like the ridiculous one-image-per-entry.↩︎

  8. -
  9. I used to use Xcode as a C++ IDE before I was introduced to the brave new world of command line wizardry.↩︎

  10. -
-
-
-
- - - -- cgit v1.2.1