Blog‎ > ‎

.NET, Peewee ORM, Machine Learning, GPG ECC, Neural Networks, Crypto101, OpenBazaar

posted Nov 8, 2014, 9:05 AM by Sami Lehtinen   [ updated Nov 8, 2014, 10:17 AM ]
  • One of the reasons why I hate .NET. Installing .NET on Windows Servers, requires that you'll be running a IIS Web Server on that server. Afaik, that's not a grat way to reduce attack sufrace on servers. All servers are then running publicly reachable vailable web servers with default settings. All this, because .NET installation requires it. - Arf!
  • I guessed someone will do it. I was talking about pure Python version, but here's the Spritz cipher in pure JavaScript @ GitHub spritzjs
  • Selecting non-referenced entries, using Peewee ORM
    It seems that I'm having a hard time doing one kind of data lookups with Peewee ORM.
    Table A contains "id", Table B contains foreignkey fields fk1,fk2...
    How do I find all A's which aren't referenced by B. And what's the most efficient way of doing it? Of course I can pull list of all keys in B and then select from A which not ["in" / "<<"] that set. But that's hardly the smartest way of doing it. It gets horrible, if I got 100k keys. First I'll have to dig up list of 500k keys and then compare those to 100k keys etc. Worst part of this is that I'm actually building a object list, which naturally can't be optimized anymore by the SQL query engine.
    Or maybe I should run 5 separate queries collecting fk1,fk2 and so on and then query where not in set of five lists or make separate or statement for each list. I haven't tried that yet. It would still allow the mess to be optimized by the SQL query engine, because I haven't executed any of those statements separately.
    I've tried many things and joins doesn't seem to work well in cases where there's no foreign key reference. But is there a perfect solution for what I'm asking? Maybe I'm just not figuring out the right mind set, or I'm approaching this case from some kind of weird or restricted angle?
    Yes, and yes. If I would be using pure SQL I could do this easily using left outer join. But in this case I'm not. I'm using Peewee ORM, which sets it's own limitations on joining.
  • Created Google+ Peewee ORM Users Community
  • Interesting article about Machine Learning, Pattern Recognition and Deep Neural Networks
    As we know, results which we get from Big Data and Neural Networks are often true Black Box results. Nobody really knows, why we're getting what we're getting.
  • Read Hacker's guide to Neural Networks
  • Studied Crypto101.io document. I'm glad, it didn't contain anything I that would be new to me. Yes, I don't remember / know all the exact minor details, like exact differences between different pseudorandom generator implementations. But in general, it didn't bring anything new to the table. 
  • Finally GnuPG 2.1 has been released with Elliptic Curve Cryptography (ECC) support! But there aren't any other OpenPGP compatible implementations with ECC features yet out. So ECC keys will have very limited use for a while. When that's delivered with standard ubuntu repositories, I'll generate my new ECC keys using Brainpool P-512 (brainpoolP512r1).
  • OpenBazaar is a distributed online trading platform which also makes it a censorship-resistant marketplace. No fees and everything goes. This is the future as long as I can see. If you see my older posts, I've been wondering why The Pirate Bay (TPB) continues to operate a website. Wouldn't it have been much better to create fully distributed, encrypted, peer to peer network. Where you simply can't track who's sharing and downloading what. Just as Freenet does. But especially designed for peer to peer distribution & potential trading. It could have contained features for digital trading and reputation systems etc. But this is it, basically the same concept, but not tied only to file trading. So in this sense, this is better more generalized solution.