Thursday, May 31, 2012

Retweeting is Fun...

Project Update


That's right have retweeeting working as it's supposed to.  Took far longer than it should have.  Since the python-twitter library doesn't come with a method to execute a retweet, I had to add one to it.  I think that makes at least 4 changes I've had to make... some of which I know have patches in the bug tracker for the project.  Really wasn't very hard to add retweets though.  It's made a lot easier by not having to create a large POST string.  You just need to supply the status id of the status you wish to retweet

Setting all that up didn't take much time at all.  What did jam me up for over an hour was the fact that after adding the code to retweet, the whole application stopped working.  Naturally I removed all my changes thinking that I must have gotten something really wrong, but that didn't help.  I than proceeded to learn more about how the python-twitter library actually makes it's HTTP connections.  Everything is pretty standard python-urllib stuff.

Didn't have any luck determining the error by adding print statements to various parts of the twitter.py file.  Than I came across the aptly named debugHTTP option for getting and posting information to Twitter.  Totally a palm to face moment...

After setting the option and doing a request Twitter returned an error about not being authorized.  Strange since I changed the permissions for the app the other day to be read/write and everything worked fine.  Not knowing what else to do I generated some new access keys and adjusted my app for them.  Everything worked fine after that.

Frustration mixed with triumph is a heady cocktail ;-).

Chain Update


Not really sure if I should state this out loud for fear of it catching up to me, but the last two nights I've been up to 3:00am and waking up between 7:15-7:20am.  I've felt pretty good each morning, which seems quite strange in some ways.  I've stayed up to 12:00am and felt a lot worse before.

I did take a quick nap at about 7:45pm for about 25 minutes, and I suppose that helped a lot.  Didn't feel very refreshed after the nap though.  I imagine all these late nights will eventually catch up to me, but in the mean time it's great to get so much done.  Or at least learning a lot in the process of trying to get things gone, heh.

Wednesday, May 30, 2012

Posting is fun...

Project Update


My fun little web app can now post status updates to Twitter.  Kind of cool to know that something you wrote can talk to the world not just listen.  Had to adjust the application permissions in Twitter before read/write would work.  Took a lot longer to get everything the way I wanted though. 

Had a small issue, once I got posts to update Twitter, with the stream refresh pulling the tweet I just posted.  Of course I made a tactical mistake in trying to fix the issue with a JavaScript check for the tweet already being in the stream.  Much simpler to just add the tweet id to the since_id in the backend.  Now the new tweet is automatically the last post processed.

Chain Update


Things are still crazy, another project I've been working on to help a friend is turning out to be a little more complicated than I'd originally thought.  Not a big deal, but I foresee a lot of late nights until early next week ;-).

I feel really good though.  Hard to put a value on the feeling of accomplishment to see a project incrementally moving forward every day.


Party On!

Tuesday, May 29, 2012

Yay, for Success...

Project Update


Finally have the tweet response modal windows and links working the way I'd like.  Went round and round on why the jQuery code I'm using to populate the modals wasn't working with new statuses.  I figured it was something I wasn't understanding with the jQuery, the DOM, and Ajax.

After trying everything I could think of, and reading up on a lot of other jQuery methods, I finally came across the .on magicalness.  The method replaces the delegate and live methods... I never used them in the past, so that wasn't a problem for me.  Though delegate has immediately come in handy for a project I'm working on in the day job which is stuck with jquery-1.4.4.  All I can say is that reading is good, heeh.

I also want to go back and use .on to clean up a project I created for my last job.  I went for brute force development to get it out there quickly and totally didn't follow the DRY development principles.  I always meant to go back and clean it up, but I changed jobs before that phase of the project.

Chain Update


Feels like things are getting more hectic today.  Really need to wrap up a project for the day job, and June 8th is rapidly approaching.  The work on the house doesn't help matters either.  Hard to concentrate with three people hammering the shit out of the walls and floor all morning.

On the home stretch though.


Party On!

Monday, May 28, 2012

Problems...

Project Update


Jammed up with an issue regarding adding new tweets to the stream.  I think it's something with the DOM not being refreshed when the click bind code doesn't work.  Basically the retweet, reply, and favorite for new posts don't display correctly.

Chain Update


Wanted to get the stream display working right before the start of this week so I stayed up until 4:00am last night.  After all that I still wasn't able to get things working the way I want.  Did learn a lot more details about how some jQuery functions work.  Feels like I'm not understanding something... of course if I did understand the problem, it wouldn't be a problem.

Hopefully I can get this resolved before the end of the Memorial Day weekend... ie on Monday ;-).


Party On!

Sunday, May 27, 2012

Fun with Ajax...

Project Update


Put in quite a bit of time on the project yesterday.  Had a couple of hours while Mandy got a massage... it's nice to have a massager in the neighborhood.  Have a little bit of breakage related to the reply and retweet code.  When a new tweet is added to the page, the response modal windows don't display correctly.  I figured it was something to do with the JavaScript code that populates the different parts of the modal window, and after some investigation read up on jQuery Ajax Events.

Ajax Events are pretty cool, and allow you to listen for an event and then take action on error, success, etc.  I think this will actually help me in a project I've been somewhat stumped on for the day job.  I'll have to do some experimentation on Tuesday.

Chain Update


The working on the road experience has so far been as good as last time.  We're planning on heading back this evening, and I'm not sure how tired I'll be.  Might have to take a quick nap when we get back to the mountains.  Having Monday off for Memorial Day, I might have quite a bit of time to put in on the project... or at least that's what I'm hoping.  I'd like to get everything with the display and stream update finished before Monday.  That should leave all next week to work on the home page and then maybe setup some test events.

We'll have to wait and see...


Party On!

Saturday, May 26, 2012

On the Road Again...

Project Update


Almost have everything working with the tweet display that needs to be working.  Made some slight adjustments to the display last night, and have the reply, retweet, and favorite links displaying.  Just need to actually make them do something instead of open up modal windows or toggle.  Learning the jQuery toggle function last night was fun.  I can totally see where that will come in handy, heh.

I'm hoping that getting everything to display correctly will be the thing that takes the most time ;-).


Chain Update


Worked on the project quite a lot yesterday.  Mandy wasn't feeling well once we got to the lake and went to bed early.  I stayed up and plugged away for a couple few hours.  Totally starting to feel that I can meet the initial deadline for this project.  Though it's not like anyone's going to die if I don't... that seems a little morbid.

Felt good last night to work in a different setting.  Gave me the idea of doing this more frequently...

Friday, May 25, 2012

Cruisen...

Project Update


Worked quite a bit yesterday on cleaning up more of the tweet display.  Gotta make the retweet, reply, and favorite links actually do something, heh.  Started some more work with Bootstrap modal windows, which are a pretty cool piece of technology in my opinion.

After making the tweets conform to the display guidelines, I had to go back and move a lot of the code into the model... should have been there in the first place.  I guess that's why refactoring is good ;-).  Anyway, auto updating of streams is working again.

A side affect of this is that I also had to move the code to adjust the times into the model.  It was far easier to whip up a few lines of code in Python to adjust the date than it was to do it in JavaScript.  I think I was hung up on that issue for at least two days... garr!

Chain Update


An interesting thing has started happening the last two nights.  I've been up late working on the project, but since I had a nap after work I haven't been very tired.  When 2:00am rolls around and good morning tweets from Europe start showing up, I feel pretty good.  Then when I jump into bed, I can't sleep for 45 minutes to an hour.

Things are coming together so well with the project that it's hard to let it go.  Guess that's a good problem to have.


Party On!

Thursday, May 24, 2012

Rip Your Face Off Awesome...

Project Update


Figured out a need to change direction last night when working on using Bootstrap pills for displaying little user preference attributes.  Was having a hard time making the pills do what I wanted... probably because they were never intended to do that.  I then watched a video on setting up pills, or something else related to Bootstrap, and they showed the Bootstrap components page.  It was in the first three minutes I think.  I stopped the video and checked out the page, and proceeded to familiarize myself with more of what Bootstrap has to offer.

It quickly became apparent that Labels were the component I was looking for.  I then did some searching for a guide on Bootstrap drag and drop functionality.  Didn't find much on that, but came across jQuery UI.  I've bumped into jQuery UI from time to time while working with jQuery, but haven't actually taken a look at it until now... boy should I have.

jQuery UI makes drap and drop, transition animation, and a plethora of other user interfaces elements dead simple.  It is really a joy to use in my very humble opinion.  I also have to say that jQuery and jQuery UI have some of the best documentation ever.  Either that, or maybe a lot of this stuff is just starting to make really clear sense ;-).

Chain Update


Worked pretty late into the night last night... quite later than I intended in fact.  Was really excited and felt I was making great headway, so I just kept plugging away.  It wasn't so bad because we took about a two hour nap around 5:00pm or so.  In high school and the college years, I used to almost always take a nap after work... I'm a pretty big fan of the siesta, heh.

The late afternoon nap seems to fuel a late night really well for me.  I might try to get back into that habit again.  Seems like I stopped having a nap after work after getting married.  More important things to do when you get to come home to someone you love.


Party On!

Wednesday, May 23, 2012

Finally looking good...

Project Upate


Finally have the tweet display matching the Twitter Display Guidelines.  It took a lot longer than I thought it would... I chalk it up more to the fact that I haven't done exact web page formatting before.  In the past the site's I've done have all been made up, and there wasn't a need to be to precise or to match a standard.

Anyway, learned more about CSS, Bootstrap, and sprites to make things work.  I'm sure somewhere down the road all these new things will come in handy.  Now I just need to make the images into links that actually do something.  I foresee this process to be less time consuming than making things look nice ;-).

It is important for things to look nice though...

Chain Update


Something of a late night last night.  I was determined to get the formatting done before calling it quits.  Luckily I think I only went about thirty minutes over the allotted two hours, heh.  From what I've read I think that after thirty days this whole two hours a day thing will be a solid habit.

Inspiration


Found this Zen Habits post to be pretty inspirational today.  I think being grateful for what you have is a very good thing to put into practice.

Tuesday, May 22, 2012

Spritey Sprites...

Project Update


Finally got the time to display correctly, or at least the way I'd like, heh.  Found some great JavaScript to adjust the time based on the Twitter user's utc_offset setting.  Great that Twitter stores that information... makes it so that I don't.

After getting the time working, I started working on displaying the tweet response icons reply, retweet, and favorite.  Twitter supplies a nice everything_sprite PNG file to make it easier.  Though having worked with sprites, I did some googling and found a great article on css-tricks.com.  Have the little images looking pretty much the way I'd like, but need to add a form for retweeting and replying.

Also, still need to do some work on the overall tweet display alignment and format.  Getting there though, getting there...

Chain Update


Yesterday marked the week number two.  Finally seem to making some headway again.  I guess I should expect some days to not be as productive as others.  Also realized that this weekend is Memorial Day, and we'll be going to the lake for the weekend... should be a good time.  I'll have to go back into travel mode.

Monday, May 21, 2012

Slow going...

Project Update


Still working on getting tweet times to display in a meaningful way.  I think I've found some JavaScript code here and there on how to make it happen.  Really want to get this aspect of the project done... garr. 

Chain Update


Feels like I haven't gotten anything done the past three days.  I guess mostly because I'm still working on the same task that I prioritized last Thursday.  Would like to move a task to "Done" after each day... guess I just need to get used to the idea of some things taking longer than others, heh.

Maybe it's all the construction going on around here... it's throwing off my chi, karma, or whatever.

Sunday, May 20, 2012

Time Is On My Side?...

Project Update


Still working on matching tweet timestamps to the user's local timezone.  I initially was working on an over complicated method of determining timezone with JavaScript.  I think I found the correct UTC offset, but then realized that the information is already stored in the user's Twitter account.  Working on parsing that into a readable time.

Also, worked on using the Bootstrap pill classes to use that for displaying user preferences.  I'd like to have a little red X displayed when the mouse hovers over an attribute, then when the X is clicked it will remove that attribute.  Need to learn more about mouse overs... seems like it'd be simpler... it's not 1995, heh.

Chain Update


Spent a lot of time spinning my wheels yesterday.  Probably mostly due to the mix and match sixer I picked up yesterday.  Today should be better, but I guess I feel more distracted with no footy to watch while working. 

I think Always Sunny in Philadelphia is too funny to have in the background ;-).


Party On!

Saturday, May 19, 2012

Good Times!!!

Project Update

Not a lot to report today.  Got tied up with determining the timezone of client's last night.  I think I've found a way to do what I want, but we'll see.

Had some time to work on the project this afternoon and realized that the Champions League final was going on at the time.  Since Fox Soccer TV website didn't show it until 5:00 I decided to wait to work on tweet formatting until I had a chance to watch the game.

Chain Update


Today might be the hardest to work on the project.  Worked some this afternoon as I mentioned, but just want to take it easy this evening.  We'll see how it goes.

Football Update


I have to say that this year's season is the most dramatic since I became a fan.  It's been four years, and I certainly haven't seen anything like this before.  The Arsenal's crazy season was one thing, but to see the Premiere League won by Man City on the final day in the final few minutes was extraordinary.  It was absolutely awesome to see the Arsenal clinch 3rd on the last day.

After all that I feel very bad for the Bayern fans to have the game close the way it did.  I had a feeling that Chelsea would win it, I have to admit, but the entire game I was pulling for Bayern.  I have mixed feelings because Chelsea's win blasts Tottenham out of the Champions League next year... haaaaaa ;-)!

I still would have liked to see Bayern win in Munich... would have been an awesome party!  Probably pretty awesome to be in London tonight though, heh.


Party On!

Friday, May 18, 2012

Displaying Tweets...

Project Update


Worked on having status updates meet the Twitter Display Guidelines.  Have almost everything ship shape.  Ran into a small snag when the python-twitter library didn't support the display_url attribute for the urls entity... that was a quick fix to add. 

A larger fix required basically copying the Url class and creating a Media class that can handle media entities.  I think it's pretty close, but I'm not 100% sure it returns a dictionary object if there isn't a media entity for a tweet.  Not a big deal with a quick if statement to make sure the status object has a media attribute.

Chain Update


I'm really starting to realize how fun it is to develop web applications.  I could totally do this for 8-17 hours a day ;-).  Even though my commitment for this project is 2 hours a day, I've found myself on more than one occasion working on it for 3-3.5 hours a day.  The whole chain method has somewhat surprisingly been a great motivator.



Party On!

Thursday, May 17, 2012

More Stream Fun...

Project Update


Finally got the ability to view a stream and see new updates as they come in.  I used some simple JavaScript counter code I found on w3schools, great site by the way I've used it often to lookup HTML elements to make sure I know what they're doing. 

Coincidently the counter code, actually something similar, has come in very handy for the day job.  Trying to automatically log time when someone opens a ticket through the web interface.  Have the counter working, but need to find a way to send it to the server when the user navigates away from the page... hopefully that'll come together today.

Also, I used multiprocessing for fetching the stream updates... totally not 100% sure I know what I'm doing, but it seems to work.  I'm sure at some point I'll look back and be a little embarrassed about how crude the code is.  That will totally be fun though.

Chain Update


Feels good to see all the 'Xs' on the one page year calendar I printed off the Internets.  After reading the Habit book, I feel that the process of adding an X for each day that I work on the project really enforces a habit by providing the reward at the end.  It's kind of hard not to think about what will come of all the work after an entire year ;-).

One day at a time, heh.


Party On!

Wednesday, May 16, 2012

Rowing in the Stream...

Project Update


Back to working with Twitter streams yesterday.  I added a function to the python-twitter library for accessing the statuses/home_timeline stream.  As the Twitter documentation states this stream is the stream user's see when they log into Twitter.  I'm not sure I'll use this stream in the end product, but it's a good stream to test the automatic update code... which I have yet to write ;-).

Not entirely sure why the python-twitter library doesn't include a method for getting the home_timeline.  The stream is clearly stated in the REST API documentation and when looking for it in the Google code page, I found two bugs posted, with patches, about the stream.  One fork of the library python-twitter-api included a method for the stream, but on it's page the README states that the author no longer has time to maintain it.  It's probably not worth switching Twitter Python libraries for something that won't be maintained long term... also not sure it's wise to change the library myself, heh.


Chain Update


Had some time after work today to devote to the project and got quite a bit done.  Seems like this week has been a lot less chaotic then last week.  I guess when you have family from out of state visiting it throws off your whole schedule... who knew?  Getting to bed before 2:00am is nice, it definitely feels better waking up in the morning.

Who knows, I might even find more than two hours a day to work on the project.


Party On!

Tuesday, May 15, 2012

Yay, for the Arsenal...

Arsenal


Finally watched the Arsenal match from Sunday... last match of the year and what a sack full of drama it was.  Some good hustle from Yossi got us one to the good.  So good to see someone get a goal just from pure work... even though it was a howler of an error from the goalie.  The Arsenal defense didn't cover themselves with glory by any means.  The first goal was a totally down to shabby defending... so much of that this season.  The second West Brom goal should absolutely have been called offsides.

Good to see Santos score one.  He's definitely an attacking player... too bad his defense isn't as good as his attack.  The final goal from another goalie mistake by Kos was freakin awesome!  Almost makes me want to get a Kos jersey for next season... almost ;-).


Project Update


Worked more with Bootstrap yesterday.  Using Modal windows for preferences and such seems like the way to go.  I'll probably just leave things pretty stock for the initial release.  I'm not too great with making things look pretty, and maybe if the project gathers a following someone will volunteer to help out with that aspect of things.  Though just using Bootstrap makes things look a lot better... the LJ article was right about that, heh.

I'll be back working with the meat of the project and Twitter again today.  It is fun and interesting to work on the visual style stuff though.


Chain Update


Glad to have had the chance to work on the project before watching the Arsenal last night.  Had a bottle of red wine and one of Peach.  I think the homemade peach wine I created last summer has some stank on it.  I was feeling pretty drunk after the game.  Then played some Left 4 Dead 2 with the bro... good day overall ;-).


Party On!

Monday, May 14, 2012

Week Two...

Project Update

Did some more work on processing Twitter streams.  The funny thing is that I didn't want to do too much with Twitter because probably 85% of the people I follow are fans of the Arsenal in one way or another, and since I haven't seen the last match of the season yet, I didn't want to inadvertently find out the score.

So for the next hour I started reading up on, and doing some quick experiments, with the Bootstrap design framework from Twitter.  Bootstrap seems a really cool technology for making your site look better.  I read an article in the latest Linux Journal about design frameworks, and though it didn't go into great detail on Bootstrap (that's in next month's issue), it really piqued my interest.

I haven't really progressed beyond the "hello world" stage, but I did create a four column page from a tutorial on webdesign.tutsplus.com.  Should be enough to get me started.

Chain Update


I was glad to have the time to work on the project for two hours yesterday evening.  Wanted to watch the Arsenal, but went to bed my midnight instead.  Feel good today, and will hopefully have time for project work and the Arsenal this evening.

Thus begins week two...


Party On!

Sunday, May 13, 2012

Sunday Bloody Sunday...

Project Update

Models, models, models... created a model and views with CRUD operations for another basic object in the project.  POST and GET checking is genius... I guess the more you learn about the way HTTP works the more efficient your code can be, heh.

Also, last night I read up on processing a Twitter stream.  The different max_id and since_id values really seem useful.  I started having thoughts about how to make this whole project come together, and at some point I realized I'd have to process status updates for a given period of time.  Had no clue on how to do that until reading this nice overview.  Need to figure some of this stuff out quickly... June 8th feels like it's coming awfully fast ;-).


Chain Update


It's been a long weekend, and I'm just about to start on my chain project work.  I'm also waiting for the cordless drill we have to recharge so that I can finish removing the kitchen cabinets.  The new cabinets get here on Tuesday, and we should have everything removed and taken away... or at least that's the plan.  After that it'll be another day or two before the new counter top comes in.  So probably no kitchen for me this week.  It's going to be interesting.


Party on!

Saturday, May 12, 2012

On the Road...

Project Update

Worked on editing a model last night.  A cool think about storing data in MongoDB is that you can store a list of things identified by one key.  Same as other key value systems like CouchDB.  A hiccup I had while trying to update a list is translating the list back from values sent via HTML POST to a string.  In my case, which may not be the best way to handle it, I used some jQuery scripting to get the values of the input fields and append them to the form via a hidden field.  Then posting the form.

This method should work well enough I think to get the job done... at least until I can learn a better way.  I'm sure someone has come up with something cleaner.  It would probably be easier if I was using a nice ORM library and a proper RDBMS, but after thinking about the number of items I'll be storing, it still seems overkill.  Plus hopefully when this project goes live, the maintenance and administration overhead won't be too time consuming.

Chain Update

Ended up working as late as most of the other nights last week. Though I did get to sleep in until about 10:00am this morning... I could have slept for another hour or two, heh.  Working only from a laptop isn't bad at all.  Getting used to the smaller screen takes a little time though.  Also, I've been thinking about getting my own Chromebook for more portability.  The work laptop I've been using is a bit of a monster... there are definitely larger ones out there though.

I might just have to get used to less sleep.  We'll see how next week goes.

Party on!

Friday, May 11, 2012

Users Etc...

Project Update


Finished modeling user objects as much as possible.  Also, have some very rough views to manage simple CRUD operations for users.  It will definitely be interesting to figure out how to make everything look pretty after the basic functionality is created.

Did some interesting things with request.method in some views.  Pretty basic once you think about it, but I've never adjusted the operation of a view based on the HTTP method before.  It's quite nice to have one view to display a form, and handle the form's input once it's been posted back to the server... genius, heh!

Some of the really interesting functionality will be upcoming, and I'm really looking forward to it.  I think one of the highlights of my day is working on this project.

Good Times!

Chain Update

Had another late night last night.  I had planned on only working on the project for 2 hours a day, but the last couple of days it's been between 2.5-3 hours.  I tend to get caught up on a part of code if it is almost working, but not quite or some little detail isn't quite complete.  I need to be careful to not let things like that suck too much time... it would probably be better to leave it at some point and come back ;-).

Today's chain work might be a little interesting.  We're traveling to the lake tonight to hang out with the in-laws for Mother's Day.  I plan on taking the work laptop with me and doing the late night thing if needed.

I think I need to have a backup "study plan" if I'm caught in a situation without Internet, or don't have the opportunity to work on a computer.  I'll probably look into collecting a library of reading material that could benefit the project.  I could then post a "book report" about what I read and how I plan to apply it.

Inspiration

Received a great email from Samovar this afternoon.  I think one of the most inspiring videos I've ever watched is Kevin Rose' interview with Jesse Jacobs for his Foundation site.  Not sure why, but after watching it, I got into tea.  I also read each of the books mentioned in the video.  They were all well worth it ;-).

From the Samovar post today, looks like some more good reading in the future.

Thursday, May 10, 2012

Project Update

Have views and a simple model method to allow user's to authorize the app through the OAUTH mechanism.  I used the oauth-python-twitter2 library and following their example setup authorization using the PIN-based method.  I had originally intended to use the 3-legged method, but from reading more about the PIN-based method that seemed better long term... there is a mobile version planned ;-).  Also, it's a lot less work to follow an example.

I feel good about the progress so far.  There are still some user preference items to code in, but that should be quite simple.  Then it'll be on to the main features.

After looking at some unfamiliar technologies to create this project, I decided to use some old stand-byes.  For my last job I created a web application for moving a form through a workflow allowing various levels of approval and modification at each step.  That project used Python, Pyramid, and CouchDB with authentication and user demographic data stored in an OpenLDAP server.

Similarly this new project is being written so far with the following technologies:
Along with Python libraries supporting them, and their dependencies, these are the major building blocks so far.  It'll be interesting to me to see what other pieces will be needed before the end.

Chain Update

Another day and another X in the chain.  Due to the movie last night and a busy day with in the Day Job, I didn't get a chance to work on the project until midnight.  It was very productive however, I think coffee with dinner helped fuel the late night work.  I'm thinking long term that staying up so late isn't the best way to go about this.  I feel more tired then normal, but it's not too bad.

While an active member of the Ubuntu community I would stay up till 2:00am multiple nights a week.  I enjoy the day job I had at the time as much as the current day job, however.

I think I just need to find my rhythm, and create a new habit of working on these projects.

Project Update

Was able to get some rough views coded for the login process and the start of the 3-legged Authorization yesterday.  Now I need to figure out how to get an access_token from Twitter for each user.  There's some pretty good tutorials on the Internets, but I was too tired last night to really absorb their wisdom, heh.

Did some more learning with MongoDB as well.  Figured out how to update records using the mongo command line interface.  Pretty easy once you get the format down, and their tutorial is great.  I think MongoDB will be do nicely for this project, it's very simple and has a lot of great features.

Chain Update

Good to see two Xs on the calendar I printed out.  I wasn't able to do the one hour in the morning and one hour in the evening plan yesterday.  Have to dedicate some time to the family since my mother is in town for the week.  It's all good though.

This weekend will be very interesting... going to the lake and have to drop my mother by the airport on Sunday.  Then rip out the kitchen cabinets when we get back.  Fun Times!

Inspiration

I found this post on Zen Habits pretty inspirational this afternoon.  To be honest I've found a lot of his posts inspiration.  They serve as a good reminder for me to be grateful for what I have and live in the now.  I think I have a tendency to look to the future too much, and I struggle to find a good balance with planning for the future and living in the now.

Also, we went to see "The Avengers" movie this evening... great summer action flick it really looked good in 3D.  It's inspiring to think about the humble comic book beginnings of the story, and how much work and awesomeness went into creating the movie this many years later.

Party on,
Adam

Tuesday, May 8, 2012

Learning about Users

Project Update

So last night for day one I wanted to figure out how to manage users/integrate users with Twitter.  My first thought was that the user authenticates through the application to Twitter... this for obvious password reasons is not the case.  When creating an application using the Twitter API there are various OAUTH tokens and keys generated to authenticate your application.

In the larger context this means that I need to manage user accounts in my application and use the 3-legged Authorization method for users to integrate the application with their Twitter account.  I had a thought to just use Twitter to hold all the user information... the application could even be configured using a tweet with a special hashtag.  So the new user experience will be that they'll have to sign up for my app, then grant the app permission to integrate with their Twitter account.  I'm thinking of creating a "read-only" version of the site... should be doable ;-).

Now that I have to store user information, I get to decide what mechanism to use.  I could go with a common RDBMS, but I think that might be overkill for the amount of information I'll need to store for each user.  I've used CouchDB for projects in the past, and I really enjoyed working with it.  The setup and management is very good... the couchdb package for Ubuntu includes the nice web interface.

I've read about issues with scaling CouchDB in the past, and I'd also like to use this opportunity to learn another storage option, so I think I'll try using MongoDB for this project.  There are good Python bindings, and so far in my testing CRUD operations are quite simple, and it was very quick to get up and running.

Chain Update

Day 1 went pretty well for my chain experiment.  I worked on the project for about 30 minutes early in the evening, then spent a couple of hours with my wife, and came back to the project for around an hour and a half or so later in the evening.  I did stay up pretty late, so maybe I'll experiment with working on the project for an hour early in the morning and an hour before bed... we'll see.

For todays time I'd like to flesh out the 3-legged Authorization process in code.  The site will look like trash rubbed in dog poo for now, but I hope to come back and add some cool design and polish after the basic functionality is there.



Monday, May 7, 2012

Start of the Chain

Discovered a new idea, well new to me, for getting things done.  The genius of it is that for some it seems to have worked.  I don't plan writing three books in a year, but I do have a web project that I have been somewhat struggling to dedicate time to.  The project involves Twitter and sports.  I hope to blog about it, and other projects, every day for a year.  That'll be my "chain" activity.

I think I'll call this day one.  The plan is to work on the project for at least two hours a day... I think this may be hard.  We have a couple of trips planned, but if one person can do it than another person can too.  Either way maybe it will be worth some laughs...


Party on,
Adam