Monday, August 15, 2011

Python3 Web Development Beginner's Guide

A call went out to the PyAtl mailing list asking for reviewers for Packt Publishing's newest Python3 Web Dev book.  Being that I work in the Web and do Web Dev on the side, I volunteered to read the book and write a review. Luckily, I'm also a beginner to Python, but not Web Development.
The book started off well enough, I had high hopes that this would explain things in a clear, plain manner that was easy for anyone to understand.  Then the author started talking code. Organization was a big issue with this book. It was first evident when the author began talking about opening accompanying code for Chapter 2, there was no code that I was aware of, so I went to Packt's site and found the companion code. It wasn't until a few pages into Chapter 2 that a handy 'Did You Know' box appeared and let me know about the code that accompanies the book and where to go download it. This should have been in Chapter 1, or at least in the side bar of the page where the author begins talking about looking at said code. These sorts of missteps were prevalent throughout the book, at times making it hard to understand what exactly was going on. Speaking of organization, the code samples were just placed into the book without thought, I know this because some code starts at the last line on one page and runs into the next page. Some code, however begins on one page, is split up in the middle and then continues on the other page, with multiple lines highlighted and the author is explaining each line sometimes before, sometimes after the code excerpt. Some times you have to look at all the bold lines to decipher which line he's actually talking about. It's truly a mess, at times. to be honest.
Aside from editorial/design/layout issues, how was the actual material in the book? It was OK. The author uses CherryPy as his framework, which is a fine choice, however not something that I would use with Python3. If we're going to be using the bleeding edge Python implementation, we should probably use a framework that isn't years out of date. Also, I was expecting more coding on my part, however all of the code was provided, walked through in the disorganized fashion as stated earlier, and then forgotten about.  On occasion the author invites the reader to try and manipulate his code to include other functionality into the code, but it seems that he falls into the trap that most authors do, when trying to explain programming...they give a very vague exercise and expect the reader to understand small, underwritten ideals/functionality that they can't possibly know about in order to implement the exercise.
To be fair, I wasn't able to complete the book and all the exercises. I did give it a good try, however. I feel that I read and tried to complete all exercises that I came across in the book to the best of my ability. However, to be honest, I think there are better books out there if you're looking to use Python in web development. While it's not Python3, the Django framework book (free online) explains python better than even the python tuts have done. Which brings us to the Python docs, if you want to learn the language from the horse's mouth, so to speak.
I still can't understand why CherryPy was chosen to showcase python3 and web development. But maybe I just don't know enough about Python to fully understand why CherryPy was chosen.  All that I do know is that I recently ran across an article which was talking about the new wave of web development utilizing Python, and CherryPy wasn't on that list. With all of that being said, it seems that the book was more a how-to for CherryPy than a how-to for using Python3 for web development. I hate to say it, but I'm just not sure that this book could explain anything that the Django book, or the Python docs can't when it comes to web development with Python. Unless you want to learn CherryPy, in which case, this is the book for you!

Wednesday, July 13, 2011

Python

I'm kinda new to this whole Python thing. I've started learning it and hope to put it into practice when I start building my big, huge, omg-it-will-kill-me, web app. However, as it usually happens when you start off on a journey; The Universe consipired to help me succeed, or at least to give me some support and I was selected to review a pretty nifty book: Python 3 Web Development Beginner's Guide
I admit, I didn't know about this site before I saw the email on the PyATL mailing list, but after looking around it looks like I may have a new pusher...I absolutely adore books and learning new languages/technologies. This could be very bad for me.
I'll be posting a review here as soon as I have it, in the meantime, there is a sale going on over at Packt; http://www.packtpub.com/article/packts-best-selling-open-source-books-offer I was surprised that they had InkScape in there. I played around with InkScape for a while and thought it was pretty neat...it doesn't play very well with X11, though, so I had to go to Photoshop anyway :(. But the titles are pretty neat! You should check it out, if you're at all into those things.

Saturday, March 5, 2011

Where to start?

There are so many things that I want to work on lately.

I have found 'closure' which is a JS library from some of the more thoughtful minds at Google (seriously, this is some nice shit...if I could meet the people who made this I would hug them, and provide cookies).

I've been poking at Python, which is really neat, too. And I have been poking at some HTML5/Javascript things that I'd like to do. I started a health and fitness blog that I may or may not keep track of (I'm bad with keeping track of those things). And I need to register for classes next week...bleh. I'm not ready to go back to school, but 3 more semesters and I'll be done and ready to become poor to pay back the banks. Hooray for capitalism, it keeps us from being revolutionaries...

Sunday, February 6, 2011

I am the proud owner of a Cr-48 test unit. So, I decorated it.

Friday night was like any other, Shawn and I had gone out to eat that evening. We wandered around L5P and went to Target for some household sundries and then made our way back to the house for a quiet evening with the puppy.
When we walked up the steps there was a package laying in front of the door;
"Oh, looks like you got something there." Shawn said. I looked up and saw a plain brown box. I inspect the shipping label and sure enough it was addressed to me.
"Guess you ordered something?"
"Ummm I don't know what. I ordered a Dog Egg, but this is definitely NOT a dog egg." I attempted to pick it up one handed and realized that it was pretty effin' heavy.
"Yeah, that's not big enough to be a dog egg, and I'm fairly certain a dog egg wouldn't weigh that much, guess we'll find out what it is, then."

We got into the house and I stared at the box a while wondering WTF it was and why I had it. I looked over the shipping label once more and only noticed that it was from a shipping facility, and that, as Shawn pointed out, it was to [My Name] 'Individual'. That's when I wondered if we were about to open a box that contained the infamous hamster engine diagram box....

Shawn opened the box and I stepped away, knowing that if we saw the hamster diagram I was going to have one jealous boyfriend on my hands; and I was gonna *laugh*.
As soon as the flaps were opened, I started laughing and exclaimed "OH SHIT!" Shawn's reaction?
"WHAT THE FUCK!?"
I continued to laugh and Shawn exclaimed "I couldn't get one of these fuckers at WORK and you INSULT them and they SEND YOU ONE!?!?!"

'No Wizards' Cr-48
See, when the call first went out I submitted my request by explaining to the nice Google Engineers that they really do things half-assed a lot of the time, and I was a student of Software Engineering and had a HUGE hardon/passion (whatever) for Psychology, Usability and UX/UI design and really, I wanted to help them make a product that was as awesome as they have the potential to be. I believe I closed my request with "Come one, seriously...let me help you, you guys kinda need it, to be honest." (and yes, I used the descriptor 'half-assed').  I guess they thought they'd give me a chance.

So, today we went to Criminal Records and I got a 'No Wizards' sticker, specifically for the Cr-48. There are also 3 testtubes in the lower corner, and a beaker in the upper corner. These came from the sticker sheet that came with the unit, which also included a large 'graphic' sticker to cover the whole lid, but seriously...that looked like it was designed by a 12 year old who has a good grasp of Paint Shop Pro.

So far I really kinda like the machine, I didn't think I would after reading the initial reviews, but in my hands it's really pretty handy, I'm sort of excited to take it out into the real world and see how it handles me doing research and whatnot on it. It's definitely not a dev machine, except in a pinch (ssh'ing to my remote server, so just using the terminal app, basically), but as an Internet/research machine I think it'll fit in very nicely.