HN user

rdw20101009

3 karma
Posts0
Comments3
View on HN
No posts found.

framework: NONE, NONE, NONE web server: CherryPy database: SQLite for dev/test, PostgreSQL for prod, investigating NoSQL data access: SQLAlchemy database schema: SQLAlchemy-migrate OS: Ubuntu, but perhaps eventually NixOS DVCS: Mercurial via BitBucket dependency mgmt: APT, setuptools, perhaps Nix JavaScript: MooTools

I am a web application security engineer (among other things), so I screened and was forced to reject all frameworks because they don't adequately address security (not even webpy), and because they are too heavy.

Instead, I am building a very lightweight, simple, but integrated web content generation layer directly in Python using built-in string formatting. I construct a page using a trivial DOM-like object model that renders to a string web response (HTML, CSS, JS). I push Model data into the DOM-like View under the direction of a page Controller (MVC pattern). However, my View contains the logic to properly encode output contextually to avoid common security vulnerabilities in the web response. Likewise, I have exhaustive input validation to deal with the data in the web request.

I recently bought a 16GB Corsair Padlock2 secure memory stick, and the first unit was DOA. I did a RMA, and the replacement has been fine. I think that the first got damaged during shipping.

I had also bought a 4GB PNY memory stick a few months ago that would corrupt data. I detected it because I was PGP-encrypting the contents, but the signature would not verify upon copying to another machine. I tried several times, then reformatted several times, then tried a few more times before returning the stick for a replacement (in-store return this time).

I have had about a dozen sticks otherwise that seem to work perfectly, but I don't really trust them. I also use Dropbox (love, love, love it), several external USB drives, and a NAS for backups.

May I please suggest that your question fundamentally mistakes the journey. Programming is applied thinking--it is not about the tools. Maybe you already know how to think in ways useful to programming, or maybe you don't. Either way, nine months out of a lifetime is not much.

If you already know how to program, then nine months might be a decent timeframe for adding a new tool (or two) to your toolbelt. If you do not already know how to program, then nine months will be just enough to make you dangerous.