Python Operator Overloading

I was reading up on Django F() and Q(). I didn't know Python had operator overloading. They call it magic methods.

Magic Methods on Rafe Kettler

There's a pretty good tutorial at Treehouse.

But... a few memories of arguments about operator overloading surfaced, so I had to think about why Java rejected adding the feature to Java.

Are Doctests in Django 1.8 Failing to Run?

I don't know what's up, but I ran some old examples, and it looks like doctests aren't running when I do the " test" (or the one with a settings file).

Encrypted Data

--- This message has been encrypted using eComm Mozilla Firefox Extension
--- You need to have this extension installed in your browser to decrypt it


--- End of Encrypted Message


Manos procural iniquity scum detrital. Daces hopping snowcap. Recency
mystics, solvers miscuing. Rassling, rousseau, ruers kinglier musers

CORS, Angular JS, and, together, didn't let me login twice.

Things were going well with a re-architecting and re-factoring of a service to use Angular's awesome $request, and Django REST Frameworks' awesome ModelViewSet generics. As usual, when things are chugging along, you come across a weird bug that just sucks you in for a while. The bug I hit today involved CORS, AngularJS, and Parse (we're using Parse for part of our backend).

The symptom was that, if I logged in once, then logged out, I could not log in again. I could reach the server, but it wouldn't let me do the exact same thing I'd done just 30 seconds before.

Should Javascript Code Blocks be Delimited with Parentheses?

This is some some random thought I had.

I'm annoyed that I often need to terminate with this "})".

It would be easier, in some editors, to terminte with "))", because the editor will show you the matching parentheses.

Let's see:

function z(x)(return x+x;)
applying(a, function(x)(return x+x;));
var z = generate_function(function(x)(return x+y;), y);
if (x==y) (return x+y;) else (return false;)
for(var i=0;i<x.length;i++) (document.write(i))

Maybe it would work.

Deducting Auto Repairs

I take the standard mileage deduction when I can, and it's good, but it turns out I did the wrong thing. I have an old car, and it started to require repairs a few years ago. The total cost of repairs is in the mid hundreds of dollars per year, more or less. One year it was over a thousand. In any event, it's a fairly expensive car to own now... though fuel and insurance are still the greatest expenses.

Adding Custom Fields to a Database Table

I was watching and OpenERP/Odoo video, and the demo showed custom fields being added.

My first thought was, "uh, I hope it's not implemented as a generalized database system written using a database as its platform."

I guess I could go read the code.

Then I started to think about using a NoSQL database to achieve that flexibility. NoSQL is schemaless, so being able to add fields is simple and not ugly. The tradeoff is that it's not relational - a huge tradeoff.

Hating on HATEOAS a little bit, thinking about it a lot

I've been thinking about how to enable HATEOAS on this web app, and it is a mind-bender. Django isn't quite up to it - but it does have a key feature of named links and URL generation that seems like a requirement for HATEOAS. To do HATEOAS, links need to be elevated to a higher status in the system.

For one, on the web, links are very different from the way software internals are organized. In software, and also in URLs, we have hierarchies: paths to files, paths to APIs, hierarchies of objects, and nested data structures.

Framework Debate

Why Django Sucks is a really good thread.

I generally don't *like* big frameworks, but that's more my aesthetic and cranky side's opinion. My practical side often prevails. I've never really regretted using big frameworks (or big libraries) for real projects. Getting a bunch of features, fully integrated, saves a lot of time.

Logging Shell Commands to Syslog

This is an article on security, but I started to record all my commands to syslog so I can track what I'm doing, when, and for how long, more or less. Then I record this on my calendar to see if I'm staying focused on work, or getting distracted. It's a nice blog post.

Bash History to Syslog

Edit: so I implemented it on my computer, but changed it slightly:

# log all my commands
function log2syslog
     declare command
     command=$(fc -ln -0)

Audio Augmented Reality

Everyone already augments their reality with their phones, headphones and internet applications. Everywhere you walk, you see people peering into their phones. It's the new television. (Television was this thing people were addicted to from around 1945 to 2005.) Just as television augmented the reality of the home and living room, mobile internet is augmenting the reality of outdoor urban space.*

Suddenly, a LINK's REL is important.

I'm one of those HTML losers who doesn't use the REL attribute unless is is LINK REL="stylesheet" HREF="...", or if it's provided in some template and I just paste it. (You can also use it for linking RSS and Atom feeds, but I rely on the software to do that for me.)

Not Hating on HATEOAS

There's been some loving and some hating on HATEOAS (which I don't know how to pronounce), but I'm starting to get it. See: REST Cookbook, Timeless, and PayPal's API.

The core idea is, in addition to the data, you send over some information about the possible URLs you can use as a next step.

Argh, distracted again

I don't know why this happens, but I started off Monday morning pretty good and strong, and then by noon was getting distracted.

The main change in my routine was that I didn't get up early enough to play some Ingress or take a walk. The short walk seems to help me concentrate for longer periods of time.

Syndicate content