I started programming at 7, learning BASIC on my mom's classroom computer. Aside from a brief stint as a designer in college and a few dark years caused by Perl, I've been programming ever since. Also my the way I've picked up ample devops and UX knowledge.
I've been working with Rails for 3 years, with a focus on applying UX concepts to API design. I'm looking for a startup that can use my skills and help me develop new ones like native app dev or more thorough functional testing.
I actually regret not switching to Spark sooner, since it has support for more email providers than Mailbox ever had. I do wish it would take some cues from Inbox and add the Action support, though.
I've not used AniDB much, but I once half-finished an API wrapper for Node.js so I guess I'm about as qualified as we're gonna get.
In my experience, AniDB is effectively unmaintained code. They have developers, the developers just don't know the codebase well and they don't mess with old stuff. I've heard this is because it's a behemoth Perl script, but I don't know for sure.
But to cover your main point of "an API checking file hashes/fingerprints against episodes to add to your list", I just wanna say that this is kind of a silly system: you can easily extract that data from a filename.
For example, the desktop app Taiga has an open-source parser which extracts lots of data effectively (https://github.com/erengy/anitomy) and I myself wrote a simple regex-based one for my own client. Both are capable of extracting at least the episode number, subber, and series title.
So why would Hummingbird want to store hundreds of thousands of MD5 checksums when there's better options?
Just want to quickly add the Taiga will support Hummingbird fairly soon. Within the next week or so.
We also have incredible desktop apps like HAPU that detect what you're watching (including from sources like Hulu and Crunchyroll) and updates your library. No fingerprinting or hashes necessary.
Mainly because the checksum is a very good source of truth. Not every file you get is named correctly, or the same as originally intended.
Regardless of the checking method, will there be an API to add episodes to a personal list, regardless of check sum or filname checking?
Next feature: notification of new episodes, particular by collecting group?
These are pretty much the 2 killer features I personally use AniDB for. The back end code for me is less important, because everything I need it to do, is being done. :)
I think the fact that normal TV/Movie sites lack information on Anime led to the schism more than anything. The same things the Anime community has developed could be equally applicable to normal TV, especially in the age of DVRs and streaming: Anime fans were watching things asynchronously long before anyone else
Hummingbird already offers an API through Mashape, which is infinitely more thorough than any competitor's.
Additionally, MAL has lots of minor bugs, and how can you trust a site that hasn't been maintained in 5 years to store your password correctly? 2009 was a scary place.
This is pure speculation, but I wouldn't be surprised if MAL is storing passwords as MD5+salt. They do just email it to you in plaintext when you register.
And recovery is a 6 digit pin, which is totally plenty of entropy.
I can confirm that at least as of 2012 or so they were storing passwords as a salted md5 hash. I did point out to a staff member that this was not a good idea and was brushed off, so I assume this hasn't changed since then.
You register and login over HTTP. I would bet they just store it in plaintext. But does it really matter with the first piece of information, how they store your password?
Forget about the stories. I have quite some experience with both C and C++, started with C. There's horror in both of them, if you do it wrong enough. Oh yes there's more horror in C++, there are more ways to do it wrong. But in the end it comes down to the same: learning curve. If you know it well enough there's no horror anymore, just joy.
Here's a little secret, guys:
It's not the language that is bad. Although a lot of things can go out of hands and most of the added features seem extremely "tacked on", at the end of the day, it's us, the programmers, that write the bad code. C++'s main problem is allowing people to write stupid code... but then again, stupid programmers are stupid programmers, no matter the language... plus, every mainstream language has a lot of stupid programmers using it :)
Still, if you look at the Chromium code, or the Doom 3 BFG Edition code, it's really neat and readable.
If you need C++ for a living then you have no other option.
If you want to enjoy programming then I recommend to stay away from C++. I have written a lot of software in C and C++ in my programming career but C++ is not fun anymore. There are so many (even free) implementations of better languages. For instance C#, Python, Go.
If you want to learn a next generation language right now then you should look at Rust. It seriously has the ability to replace C++ in the long term. C++ will be remembered as the third dino besides Fortran and Cobol.
I hope that this will at least light a fire under the asses of Rails devs everywhere, and get them to adopt HTTPS. Nothing is safe against Firesheep without HTTPS. All of these issues would be solved with HTTPS.
Also, doesn't cryptographically signing (or fully encrypting, in Rails 4) the cookie just add more time to processing than using a database? I always assumed cryptography is slower than IO
Cryptography is a CPU-bound operation that often has specialized hardware support. Here's a rule of thumb: in modern computing, IO incurs a greater cost than pretty much anything you can do locally on-CPU. IO is incredibly expensive: cryptography, not so much. If you pipeline your crypto operations and disk fetches, you won't increase response latency at all.
Ruby has a reputation for slowness ([citation needed]?) so is the cryptographic stuff implemented in the language itself or via C-or-equivalent foreign library? I could understand the "too slow, must avoid" kneejerk reaction if it's all in Ruby, even if the reputation is no longer deserved. Human nature.
Running over HTTPS is not enough, stripping SSL when you can MITM or alter traffic is incredible easy and adds no real complexity. You must both force https and have HSTS enabled at a minimum [1]. Some javascript to ensure that the page being displayed is running over https for first-time users is also a good bet (but can be circumvented).
Remote: Temporarily, not long-term
Willing to relocate: Yes
Technologies: Ruby/Rails, HTML/CSS/SCSS/etc., ES6, Docker, EmberJS (intermediate), ReactJS (intermediate), Elixir (beginner), Swift (beginner)
Resume: http://careers.stackoverflow.com/nuck
Email: me@plejeck.com
---
I started programming at 7, learning BASIC on my mom's classroom computer. Aside from a brief stint as a designer in college and a few dark years caused by Perl, I've been programming ever since. Also my the way I've picked up ample devops and UX knowledge.
I help maintain a few gems right now (Hooloo https://github.com/NuckChorris/hooloo , doorkeeper-grants_assertion https://github.com/doorkeeper-gem/doorkeeper-grants_assertio... , sidekiq-debounce https://github.com/NuckChorris/sidekiq-debounce), with a few more in the process of being extracted from the existing codebase of hummingbird.me (namely, libraries for interfacing with MyAnimeList and AnimeNewsNetwork, as well as JSONAPI::Resources integrations with Chewy and Pundit).
I've been working with Rails for 3 years, with a focus on applying UX concepts to API design. I'm looking for a startup that can use my skills and help me develop new ones like native app dev or more thorough functional testing.