RSSAmplifier

Blog

Eric Moritz

/RSS feed ↗95 posts

Latest posts

Hydra lite

For the past year or so I have been working with JSON-LD and Hydra. I have been an internal zealot for using JSON-LD and Hydra for building hypermedia services but I have been met with indifference for "simpler" formats such as HAL. I think this preference for HAL is due to the cognitive baggage of RDF that comes with JSON-LD. For any developer being introduced to JSON-LD+Hydra, Linked Data and…

Easy ETL with RDF and Python

So I have been tasked with optimizing our deployment pipeline. It is pretty obvious to us where the bottlenecks are but trying to be a data driven developer I needed to collect stats on the current system to know for certain where the bottlenecks are in feature deployment. The only problem is the stages of a feature are tracked in multiple systems. Features are specified in Jira, implementations…

Websocket Demo Results V2

History Roughly about a month ago I wondered if Erlang's promise of massive concurrency was actually true. Rather than take everyone's word for it, inspired by Richard Jones' C1M experiment I decided to whip together a benchmark of my own. This benchmark pit a Cowboy implemented WebSocket echo server against five echo servers implemented in other languages. The platforms I chose were known for…

Learning Python Logging

The Python logging module is often a source of confusion with developers. Often, logging is the final thought in a project. When we are finishing up a project, the last thing we want to do is sift through the logging documentation to figure logging out. It is a perpetual cycle that results in some very bad code. I am going to assume that you have some familiarity with the Python logging module and…

Books every self-taught computer scientist should read

There are three books that I believe that every self-taught computer scientist should read. These are books that I often recommend to smart junior developers that learned their knowledge by doing instead of schooling. These are books that will close the gap for people that fall into the category of "or equivalent experience" on a job posting. K&R The first book is the venerable C Programming…

Why REST?

Preface I have to say before you read this that I only have a theoritical understanding of how a web service benefits for being RESTful. Most of the topics I have explored are actually explained in Roy Fieldings section on REST In the future, I would like to explore and test the assumptions I have made and come up with evidence of thier truthiness. Why REST? RESTful web services have been talked…

Announcing django-viewtools

Hi, I'm announcing a project I have called django-viewtools django-viewtools provides a management command to help in debugging and profiling views Overview django-viewtools provides a number of management commands for debugging views. There are a number of flags that can be used when calling the view -d, --debug: This sets settings.DEBUG to True before calling the view. This allows you to…

Python Encodings and Unicode

I am sure there has been a number of explanations on Unicode and Python but I'm going to do a little write up for my own sake. Byte Streams VS Unicode Objects Let's start by defining what a string in Python is. When you use the string type what you're actually doing is storing a string of bytes. [ a ][ b ][ c ] = "abc" [ 97 ][ 98 ][ 99 ] = "abc" With this example, the string "abc" is a string of…

PDB and django.test.client

So you have a site in production and someone called you up that there is a bug on the site. Your template designer is trying to make a change to a template and the change is isn't showing up on the site. You make the change on you development server and the change takes effect. What is going wrong? You can do a number of things: You can call your template designer an idiot and figure it's a…

Find the number of days until next day of week

I've had to figure this out before and I forgot it. Here it is preserved def daysuntilnextdow ( start , next ): """Determine how many days until the next Day of week start: The day of the week to start from next: The day of the week to go to returns a number of days until the next day of week Note, start is inclusive, so if next is the same day, you will receive 0 Example: >> start = 0 # Sunday >>…

Understanding PSQL's MVCC

Understanding PSQL's MVCC PostgresSQL implements something called MVCC . Which alleviates the need for a Read-Lock in many cases. However when Glenn Franxman and I were trying to figure out how this works we were having trouble understanding it completely. If you ask about MVCC in the #postgres irc channel on Freenode, they will direct you to the following three links…

Fun with APIs

So, you're looking for a job you say... Need to brush up on your knowledge set... I've got the tool for you! career_chooser.py import urllib import re import sys import cgi API_KEY = "USE YOUR OWN" def get_result ( query ): url = "http://api.indeed.com/apisearch?q= \" %s \" &l=&start=0&limit=1&sort=&filter=on&latlong=off&key= %s &format=xml" % ( query , API_KEY ) result_count_re = re . compile (…

Template Tag Caveat

In the Django template system. There is a small caveat that you need to recognize when developing your own template tags. When Django parses the Node tree it creates a template.Node instance for each template tag in the template. The node tree is just like our beloved HTML DOM. So for instance take the following <ul> <li> 1 </li> <li> 2 </li> <li> 3 </li> <li> 4 </li> <li> 5 </li> </ul> That turns…

iphone-3g

What can I say about the iphone 3g that hasn't been said. All I can say is I want one and I want to develop on it. The one thing that sold me was the true GPS support. This thing is going to herald in the geotagging revolution that has been conspiring in dark rooms for a couple years now. Just like podcasting which hadn't taken off until iPods took over, the iphone is going to do the same for…

appengine vs twitter part 2

I've created a project in launchpad for Meow . You can now submit bug reports and feature requests into launchpad. If your a Django or Appengine hacker and want to help me out, simply branch the Meow code with bazaar and you can "bzr send" me patches. I'll be happy to merge them if they're handy. There is now a code link on the bottom of every Meow page to get you to the launchpad page. Meow has…

appengine vs twitter

So Glenn Franxman was opining this afternoon about how twitter is going to reach a point where they're going to grow to big and need to make money somehow. He said that they're either going to have to throw ads everywhere or hope to be aquired. He thinks that they're like every startup in web 2.0 where they're hoping to be aquired by Google. I said to him, "Why would Google aquire them? I could…

Experimenting

I ran across Smisk two days ago and though. "Hmm, someone should write a wsgi adaptor for that". Maybe an hour after I had that thought, I started working on one. It was pretty easy. Smisk 's classes seem to be inspired by WSGI , all the wsgi environment variables had a Smisk equivilent. So the adaptor was basically putting tab A in Slot B and Tab B is slot A, etc. If you noticed in my del.icio.us…

is opensource really all that great for companies

So I released my feedclowd code as open source and I needed to pick license. The requirements I wanted in a license were this, you may use the source code but if you modify that source code you must make your source code available. In my ignorance, that's what I thought the GPL provided. Well after some discussion with numerous people, that's not the case. What the GPL provides is that if someone…

feedclowd is now opensource

I've finally made the application that drives www.feedclowd.com to be open source. Here's the official announcement

feedclowd now in beta

I just released my project as a public beta, feedclowd It's a life aggregator were you can take all your feeds from all your social sites and combine them into one simple feed.

Your own appengine, maybe not yet

Well, I started looking at both Parallel Python and CouchDB. CouchDB still seems to be a viable replacement for the BigTable backend to datastore. A GQL parser will have to be written to interface with Couch's views, but that's probably easy enough. After looking at PP (Parallel Python) a little more. It's definitely not the correct solution. PP only works with a limitted python scope. You…

Your own appengine

My main gripe with appengine is that while you're sticking your app on a lot of iron, it's pretty much stuck there forever because of the infrastructure. Your app is not portable. You can't just take it off of Google's iron and host it yourself. So, when I was listening to part 3 of the google app engine intro, I heard him describe BigTable as a "a distributed, fault-tolerant and schema-free", I…

My site is now on slicehost

I just migrated my blog to slicehost because I finally got fed up with site5's janky django setup. I noticed that I broke my link to the django aggregrator when I moved my blog off wordpress and onto Django. I tried to log into site5 to fix it and I got that damn "-bash: fork: Resource temporarily unavailable" error that prevents me from doing anything in my shell. I pulled my stuff off and stuck…

Google Apps Engine without Django colored glasses

So after a day of mulling over GAE, I've come up with one conclusion. For one-off apps, this is brilliant. What Ruby and Rails did in it's heyday, this is going to do. No need to figure out how to set up a web server or configure a database. Just write some python and blamo an application. This also blows Facebook applications out of the water. With GAE, you get a full web framework, written on…

Google Apps Engine, wait what?!?

So I saw a post to this last night and I thought, "Oh it's like Amazon's EC2 I won't ever need that". Much to my surprise this morning, it's something I could really need. It's a sandboxed distributed web framework. No need for load balancing, hardware, whatever. The first thing I saw was it uses WSGI, my first thought, "Sweet Django can run on this." Which is true... sort-of. There are few…

python interface to the mozilla DOM

Glenn Franxman and I were brain storming on how to do unittesting with a real browser DOM with working javascript. Basically everything accessible to the browser could be accessible to python I ran across this post: http://ejohn.org/blog/bringing-the-browser-to-the-server/ where he uses Rhino and a custom window library to mimic the interface of the window:…

Open Search

With the invention of the opensearch specification, it has become super easy to create search plugins for Firefox 2.0+ and IE7. Here's an example: <?xml version="1.0"?> <OpenSearchDescription xmlns= "http://a9.com/-/spec/opensearch/1.1/" > <ShortName></ShortName> <Description></Description> <Image height= "16" width= "16" type= "image/x-icon" ></Image> <Url type= "text/html" method= "get"…

PreResolution follow up

I've almost made it 4 days without a cigarette. I'm pretty much off the nicotine gum, though I'm still carrying around a few pieces of gum in case of emergency. I am currently reading "Flatland" by E. A. Abbott, it's an interesting book. I haven't started exercising or the weekly meditation yet because my body is still recovering from the shock of not smoking anymore. I anticipate starting that…

Donating Bandwidth to Neighbors

My neighbors across the street don't have Internet access so I volunteered my WPA password to them so that they can use my Internet. Today I decided to install a custom WRT54G firmware called CoovaAP to turn my router into an open hotspot like you would see in hotels for my other neighbors to use. It was very easy to install and configure. It uses CoovaChilli to create a captive portal to allow my…

New Years preresolutions

Ok, I'm not going call these resolutions, they just happen to be commitments I'm making on the first of the year :) There are three of them, each corresponding to mind, body, and soul. Mind Read one book from the Project Gutenberg a month. Body This one is two phased. First I'm quitting smoking, I've already started on the gum. That's just a means to make the second one easier. The second one is…

Registration now open

I managed to get django-registration installed now. So you all can now create users. I'll get comments installed as soon as I get a chance. I wanted to get the registration working first before allowing comment.

eric.themoritzfamily.com is now more Djangolicious

Now Running on Django Thanks to this post , I was able to get Django running on Site5 Just two days Thanks to djangoprojects.com's blog application I was able to port my wordpress content to django and create some templates in just two days. How do you like the new look? django-diario The next day I found django-diario which is a simple blog application that seems to be actively developed. I plan…

10+2*5 bash script

I've been meaning to post this script for a while. It's a little bash script that I wrote to switch xmms playlists using Merlin Mann's 10+2*5 procrastination hack . It's could well be the greatest bit of code I've ever written. I've been using it for weeks now, it works for me. It may work for you or it may not. It's real simple, you can probably figure out how to fix it if it doesn't work for…

Xubuntu Day 3

So it's been three days since I started using XFCE flavored Ubuntu. It's been a pretty lovely existence, but I have a few tips that's I've come across Notification Daemon Stock Xubuntu doesn't come with a notification daemon that works with XFCE installed. So those little popups that rise out of the task bar in Gnome don't rise anymore and I end up missing things like new IMs, new mail…

Watch out Eric's gone Xubuntu

So I was installing Ubuntu onto my wife's puny laptop (400 mhz, 512 ram) and I thought I'd try something different and install Kubuntu because she complained that she didn't like Linux because it doesn't look like XP. I forgot how under powered her laptop was, Ubuntu ran fine on it before she accidentally reformatted the drive by putting some forgotten Fedora Core CD in it and kept clicking "OK",…

The KISS approch to GTD project planning

I've never really got how projects work in GTD. I understand how "Next Actions Lists" worked, but never understood how multi-action projects worked in with that. This is what I came up with it. I'm not sure if this is how it's done in GTD or not. Let's start with how a project is defined in GTD. A project is a goal that has multiple actions associated to it in order to reach completion. From what…

Satechi's Bluetooth A2DP/Handsfree FM Carkit

I recently acquired a Satechi's A2DP/Handsfree FM Carkit . What it does is provide both a A2DP Bluetooth profile and a Handsfree profile and transmits the bluetooth audio to your radio via FM. This was the holy grail I've been looking for, streaming shoutcast to my car stereo. I don't have 3G in Ft Myers, but in Miami this weekend I had all that 3G goodness to my disposal. I installed TCPMP on my…

How Beryl/XGL and Deskbar simplified my life

|Screenshot of my simple gnome| Screenshot of my current desktop Yesterday I was playing with Gnome's basic layout and I decided because Deskbar was so good at locating what I wanted that it was quicker to use Deskbar than the standard Gnome application list. I decided to take things farther and remove some key GUI standards from my screen because I found that using alternative methods of…

Open Source Dental Software!

I went to the dentist the other day and I noticed the app running on their computer had the title, "Open Dental". I thought, as I sat in the dental chair. Is he using an open source dental app? Sure enough, he was. read more | digg story

coastalbeat.com woot woot!

So the past three days have been a blur. I got into work on Wednesday with forty-eight hours of work and twenty-four hours to do it. I was not letting the new site launch without the social app I've been writting for the past week or two. After staying up twenty four hours I finally finished the app and the site went live to the public. Check it out: http://www.coastalbeat.com/ I am very proud of…

RSS increases boredom.

Remember back in the day when you could waste hours clicking on the net finding information. It was fun, you felt like you were "surfing" the net.  I just finished reading my feeds on bloglines, going through the links on digg.com, I even checked out slashdot to see artcles that I read yesturday. Then I thought, now what. I don't know what to do next. With RSS, everything gets aggregated into…

Test Tube Meat Nears Dinner Table

If they can produce meat in vitro? For vegitarians like myself that don't eat meat because animals have to die, would I eat it? I don't know. It's an interesting quandery. I don't eat meat because mainly because of the Buddhist belief that if we have had an infinate number of rebirths then every being has once been our mother and that they are still our mothers. Chewing on the flesh of my mother…

URGE and iTunes

I got a chance to take a look at Vista Beta 2. While I'm not normally a guy that likes MS products. At first glance, Vista looks good. I could never forget what my wife said when I showed it to here, "That looks like Linux". What? Anyhow, this post is not about Vista, but a service that comes bundled with Vista called, URGE. URGE is Microsoft's and MTV's joint venture into the online music sales…

A cool google map/wiki mash up

I found this the other day, it's pretty cool. You can create a personal map by clicking on the map and type in a description. read more | digg story

Say F.U. to linux passwords

I bought a 128 meg usb drive from radio shack because it was on clearance and fit on my keychain. I was trying to find reasons to use it and I found, pam_usb. PAM_USB allows you to store a dsa key on your usb drive that, when plugged in (it doesn't have to be mounted, just plugged in). Despite a scary description on the page, it was pretty easy to install. read more | digg story

Hong Kong's Symphony of Light (with video)

Honk Kong lights up the skyline every night with this spectacular show of syncronized lasers, leds and fireworks. Makes Epcot look lame. read more | digg story

Budgeting

When I was younger budgeting was easier. The reason it was easier because I didn't use a bank account and I would simply put money in designated envelopes. Life was simple. Now that I'm a responsible adult, I have a bank account and I rarely have cash in my hands. The envelope idea doesn't work. Last night on my drive home from work I was day dreaming about how I could budget like I used to in…

Oh yeah. GMINI 402 baby.

My wife got me a GMINI 402 for Christmas. I wanted to wait a few weeks before actually writing about my experience with it. My first expression when I opened the box was that it was smaller than I thought it would be. It is a very nice size. The case of the device is metal which makes it feel really solid. Audio What is there to say, it's a mp3 player. It plays mp3s. I like the ability to create…

New Position at Naples Daily News

One of the most respected and award-winning newspaper Web teams in the world has moved to Florida and is looking for an experienced server-side Web developer. NDN Productions -- the online and new media publishing division of the Naples Daily News -- is looking for a full-time Python programmer to develop Internet-based applications that cross from computers to mobile phones to iPods to Sony PSPs.…

Hey! You got some emo in my hair-band.

I saw this band on MTV the other day, Coheed and Cambria . I'm really digging their sound. It's like Rush if they decided to dive into 80's hair metal. Many describe them as Emo Progressive rock. The lead singer looks/sounds like the illegitimate son of the mother of the guy from Counting Crows and the singer from Rush. Check them out.