This month I strongly considered taking a full-time position with Keane IT Services (which was recently acquired by NTT Data). Unfortunately, it turned out that role wasn’t a good fit for where I’m at professionally and the responsibilities I have for my family (but it looks like another opportunity I received might be a better fit). As part of the position, I would have needed to beef up my Python skills since one of their client’s Remote Monitoring systems uses it heavily. Not being sure of which version of Python they use, I followed the advice on the official Python site and started with the latest and greatest – version 3.2 – which represents the future of the language.
While learning, I also wanted to make a short course for my wife, because if I could teach her the basics then it would be the perfect proof that I had a handle on the core of the language. Together we successfully walked through the basics of mathematics, string operations, lists, returning values, running a program and packaging a module. I had done some things in Python before but they were mostly around debugging or updating a small section of someone else’s code (i.e. tweaked a Message consumer here, structured a SOAP call there).
Learning from existing code is definitely always the quickest way to learn for me though. To this end, Dive Into Python 3 is hands down one of the best resources other than the Python documentation or official tutorial itself, since it provides code samples. In honesty what helped me most though, was probably the free course offered by Google, which I essentially simplified and repackaged when teaching my wife at home.
Read the rest of this entry »
The Server Side Proxy… oh how I despise thee.
It’s a technique which we wouldn’t have to utilize at all, were it not for Browser security restrictions (which are admittedly in place for a good reason, to save us from ourselves).
The Same-origin policy, also known as same-domain limitation.
After IE4 and a number of other browsers had vulnerabilities revealed where Cross-Site Scripting (XSS) attacks were exploited to gain access to user data, jeopardize accessibility of, or otherwise vandalize popular Web Services and Web Applications, the Browser vendors got together and decided to lock down their browsers into a “sandbox”.
What is a sandbox you ask? In non-developer speak its just like you can find in public parks, a set of boundaries around a soft and malleable plot of land where you can play safely and fall down as much as you want without hurting yourself (or others). Even if you did decide to go on an all-out rampage, you could only at most hurt other people inside the sandbox. In geek speak, its a security mechanism for separating running programs whereby code is isolated to its own space in memory and/or its own path on the network. This effectively means your client-side code can’t make a request to any URL above its own path, let alone to an external Web Service or application.
BC$ = Behavior, Content, Money
The goal of the BC$ project is to raise awareness and make changes with respect to the three pillars of information freedom - Behavior (pursuit of interests and passions), Content (sharing/exchanging ideas in various formats), Money (fairness and accessibility) - bringing to light the fact that:
1. We regularly hand over our browser histories, search histories and daily online activities to companies that want our money, or, to benefit from our use of their services with lucrative ad deals or sales of personal information.
2. We create and/or consume interesting content on their services, but we aren't adequately rewarded for our creative efforts or loyalty.
3. We pay money to be connected online (and possibly also over mobile), yet we lose both time and money by allowing companies to market to us with unsolicited advertisements, irrelevant product offers and unfairly structured service pricing plans.