django Injections, SQL and otherwise - Basic Security Part 4 NB: This is the fourth post in a series [https://www.coffeeonthekeyboard.com/best-basic-security-practices-especially-with-django-697/] of posts on web application security. SQL Injection SQL injection is a vector that lets a user insert their own SQL into a statement sent to your database server. The typical example is: 1. "SELECT
csrf CSRF: Cross-Site Request Forgeries - Basic Security Part 3 NB: This is the third post in a series [https://www.coffeeonthekeyboard.com/best-basic-security-practices-especially-with-django-697/] of posts on web application security. The quintessential example of a CSRF (sometimes pronounced “sea-surf”) is a bank that naively does transfers over a GET request without any other security: http://badbank.com/transfer?from=act1&
django XSS: Cross-Site Scripting - Basic Security Part 2 NB: This is the second post in a series [https://www.coffeeonthekeyboard.com/best-basic-security-practices-especially-with-django-697/] of posts on web application security. XSS covers a number of various attacks, but the common thread is that someone gets to execute code in the context of your web page and domain. Doing that, they
django Password Storage - Basic Security Part 1 NB-1: This is the first post in a series [https://www.coffeeonthekeyboard.com/best-basic-security-practices-especially-with-django-697/] of posts on web application security. NB-2: Fred [http://fredericiana.com/] wrote a great post on password storage [https://blog.mozilla.org/webdev/2012/06/08/lets-talk-about-password-storage/]. You should read it. I’m assuming we’re
django Best Basic Security Practices (Especially with Django) Or: Locking Your Doors This goes along with a talk I gave at Django-NYC [http://www.djangonyc.org/events/70626822/] in July 2012, but is meant to stand on its own. It is the first in a series of posts, because I realized it was too big for one. Security
django Putting My Slides Where My Mouth Is I’m giving a talk tonight [http://www.djangonyc.org/events/70626822/] at GetGlue [http://getglue.com/] on web app security, particularly with Django. Over the next several days—starting tonight—parts of that talk will be posted here as blog posts (I’ve realized there’s too much material
High MySQL CPU Load Today? Quick Fix If you started seeing a load spike in MySQLd (or apparently Java) processes this morning, it may be the fault of yesterday’s leap second. Apparently due to tides slowing the rotation of the earth [https://twitter.com/neiltyson/status/219042429653889026], there was an extra second added to 30 June
meetup Calling all Mozilla Community Members in New York! Are you a Mozillian? Are you an add-on author or web developer or an avid Firefox user? Do you think of yourself as part of the Mozilla Community, and are you in or around New York City? Then I’m talking to you! We have a Meetup group [http://www.
Code Where are James' Slides? I give a lot—well, I give some—talks, but I never give the slides out. And, as far as I can remember, no one has ever asked for them. I know people, people who speak a lot more than me [http://stevesouders.com/], who put all their slide decks
Code Why Django Sucks, Except When It Doesn't Ken Reitz [https://twitter.com/kennethreitz] is a smart man. Very smart. Smarter than me. He’s responsible for some of the best [https://github.com/kennethreitz/flask-sslify], most widely-used [https://crate.io/packages/requests/] Python libraries out there. So when he talks, I listen. And recently, he talked about
That's What He... is Sorry For Two recent blog posts have called me on my bullshit and I owe everyone an apology. First, Jessamyn Smith wrote about Fighting Sexist Jokes the Geeky Way [http://geekchick77.dreamwidth.org/472.html], and then Katie Cunningham—whom, though we’ve never met in person, I consider a friend from
Developing a Culture of Testing I say this all the time, but Mozilla’s webdev group has grown a lot [http://blog.mozilla.com/webdev/2011/08/08/pragmatic-growth-from-2-to-40-in-4-years/] over the past few years, and I don’t just mean in size. We’ve become better engineers, a better team, too. One key aspect of
Better A week or so ago, I needed to say that I wasn’t OK [https://www.coffeeonthekeyboard.com/not-ok-627/]. Thanks to everyone who offered support and kind words, and especially my cousin Jono who drank beer and talked about Star Wars and other things that don’t matter at all.
Not OK I’m not doing OK right now. Why is that so hard to admit? It’s nothing big, it’s just a hundred small things and they all happened at the same time and it feels like I can’t win right now. It feels like if 12 hours could
mozilla Performance is a Feature What do I mean when I say “performance is a feature?” For a long time, I got this wrong. When I explained myself, I’d say that performance was as important as any other feature and worth spending as much time on as any other feature, and you shouldn’t
apple Thank You, Steve Thank you, Steve [http://www.apple.com/stevejobs/]. I didn’t really realize until today exactly what I owe to Steve Jobs’ vision and dedication. So much of my life and career has been influenced and guided by an interest in screwing about with computers that goes back to the
developers So You Want Me to Hire You I vacillated quite a bit on the title of this post. It is, after all, not me that is hiring you. Nor do I have the power to hire folks at will: it’s a team decision. But I also don’t want to claim to speak for anyone else,
continuous deployment Acronyms you should know: MTTD and MTTR If you’re a SUMO [https://support.mozilla.com/] contributor, there are two acronyms you will start to hear more often from us developers: MTTD andMTTR. They mean “mean time to detect” and “mean time to resolve,” respectively, and they refer to how long it takes to detect an issue
Say hi to Scottbot UPDATE: Scottbot has been removed from GitHub and will not be coming back. Find out why [https://www.coffeeonthekeyboard.com/thats-what-he-is-sorry-for-651/]. After talking about it with Fred [http://fredericiana.com/] for a couple of weeks, I sat down this morning and started scottbot, an IRC bot that will learn how
damnproud Pride and Joy: Firefox 4 is Out! Since it was officially released around 7 hours ago, Firefox 4 [http://www.mozilla.com/] has been downloaded nearly 2.4 million times [http://glow.mozilla.org/]. I feel many things today. I’m deeply proud and humbled to be a part of the Mozilla community and contribute in my
api The Thing About Twitter The thing that bothers me most about Twitter’s API announcement [http://groups.google.com/group/twitter-api-announce/browse_thread/thread/c82cd59c7a87216a?pli=1] is that very few of the most useful features of Twitter were actually their ideas. * Hashtags. * Retweets. * Location. * Search. * Lists. * Conversation view. * Inline images and links. * Short
continuous deployment A brief SumoDev update A little while ago [https://www.coffeeonthekeyboard.com/sumo-in-q2-563/], I said that I thought we got a B in Q1, but we could move up to an A with a little more work. (This is my favorite grading system: everyone starts at 0 and works up.) Well, we landed two
mozilla Weekly Update for 11/3/11 Been a busy week! * Helped run down an issue with our ads on Reddit. * Updated django-multidb-router [https://github.com/jbalogh/django-multidb-router]. - Learned a little about ContextDecorator [http://docs.python.org/dev/whatsnew/3.2.html#contextlib]and how to do that in Python 2.6. * Shipped SUMO 2.6.
mozilla Weekly Update 04/03/2011 OK, in line with my 2011 goals [https://www.coffeeonthekeyboard.com/2011-goals-520/] and because I’m sick of not remembering what I did last week, I’m restarting the weekly update posts. I hope you like hearing about the minutia of my job! (Just kidding. I write these for me.
django O Hai Django AdminPlus Last night, as happens sometimes, I was wishing it was possible to add some of our custom admin views to the Django admin’s index page. It’s kind of a pain to have to type the URL every time, especially when talking to other people: “It’s in the