What I'm Trying to Do

  • I'm learning mySQL, PHP, web servers and more. This blog will chronicle these efforts to become well versed in web programming, web services, and the technology that's driving web 2.0.

Subscribe to Casnocha Turns Geek

My Advisor's Blog:

Ben Casnocha: The Blog

My Gap Year Travel Blog:

The Joel Test for Software Dev

Just re-read the Joel Test from the book Joel on Software. Good thoughts here for questions to ask when starting / managing software project.

1.    Do you use source control? – free version control software is fine
2.    Can you make a build in one step? – not as applicable to web apps…but the point here is to be able to roll out iterations very quickly and push stuff live continuously. So, reduce contingences within the app (ie less major releases, more smaller ones).
3.    Do you have a bug database? – minimal useful bug database must include:
    a.    Complete steps to reproduce bug
    b.    Expected behavior
    c.    Buggy behavior
    d.    Who it's assigned to
    e.    Whether it has been fixed or not
4.    Do you fix bugs before writing new code? Priority should be to fix bugs before writing new code. More time that passes, costlier it is to fix.
5.    Do you have an up to date schedule? "It will be done when it's done" doesn't cut it. Need to have a schedule and it needs to be current. Date also forces you to choose what you're going to do, and resist scope creep.
6.    Do you have a spec? Everyone knows it's a good thing, but no one does it. Send coders to an intensive writing course. No code w/o spec.
7.    Do programmers have quiet working conditions? Lots of documentation around productivity gains when knowledge workers have space, quiet, and privacy.
8.    Do you use the best tools money can buy?
9.    Do you have testers? Dedicated testers are a great deal – don't waste money having $100/hr programmers doing work that can be done by $30/hr testers.
10.    Do new candidates write code during their interview?
11.    Do you do hallway usability testing? Grab person that passes you in hallway and force them to try to use the code you just wrote.

Google Code Blog: Write AJAX applications in the Java language with Google Web Toolkit

I think I understand this. I don't know Java, but I understand the premise here.

Link: Google Code Blog: Write AJAX applications in the Java language with Google Web Toolkit.

Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications easy. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML.

Oracle gets Groovy with open-source project | CNET News.com

Looks like Ruby on Rails has inspired a sister-name. This shows that scripting languages are becoming "in" especially when coupled with some kind of "infrastructure" which makes it easier to code in. Here, it looks like Groovy is the dynamic language within a Java framework. So is Java like the "rails" in "Ruby on Rails"?

Link: Oracle gets Groovy with open-source project | CNET News.com.

Oracle said it will participate in Grails, an open-source project that seeks to make Java programmers more productive through a close tie-in to the Groovy scripting language.

Grails is a project to create a development framework, a set of prewritten software components designed to speed Web-application creation using Groovy. The name Grails was inspired by Ruby on Rails, a productivity framework for another language called Ruby.


What? Ajax Isn't a Programming Language?

I'm so glad I'm researching this stuff. Now I know that ajax simply refers to a collection of technologies. Yum.

Link: adaptive path � ajax: a new approach to web applications.

Final Month of Project: Considerations During the Web-Software Development Process

I got my toes wet with PHP and mySQL, but instead of charging ahead and getting my hands and neck wet, I'm going to step back and spend the rest of the semester studying the different programming languages, databases, and considerations one must evaluate when embarking on a web software development project.

I would like answer the question, "I want to build a web software application. What do I need to consider before diving into it?"

1. programming language
Compare and contrast, outline the different options. PHP, Perl, Java, ASP, XML, Ruby....others?

2. database
MS vs. MySQL, Oracle, text file, others?

3. servers / hosting
Apache, UNIX

4. definitions -- understand the following:
APIs, object-oriented, service-oriented architecture, representational state transfer. Others probably

I will blog my progress. I know there is no one truth and there will be lots of differing opinions, and that will make it interesting.

When It's a Chore, It's Not Fun

I've been sporadically giving attention and energy to this project. At the outset my big picture goal was to better understand basic web technologies so I could converse more intelligently with programmers. In the past three months, I have studied mySQL and PHP in the abstract level and genereated very specific, working scripts that accomplished simple tasks. I learned coding vocabularly and syntax; the relationship btwn mysql, apache, and php; how to debug, at a simple level; and so forth.

This evening I opened up by two books, my working scripts, my phpMyAdmin, and started figuring out what to do next. It struck me that I wasn't feeling the flow, and haven't been the past few weeks. The prospect of developing more advanced scripts -- user logins, content management systems, rigorous data integrity tests -- just hasn't been getting me excited. So, I at one point had this goal of developing a 360 degree feedback system so friends could submit their forms online and I could collect and organize efficient....but it doens't seem worth it, because I'm not having a lot of fun. It IS fun to understand the basics, the barebones, and be able to talk intelligently and even look at PHP code, now, and understand its backbone, but it's NOT fun to spend several hours typing in a foreign language, debugging, etc.

I want to spend the final two months efficiently and ensure that I'm really dialed in to something that's at once useful and enjoyable. I think this means moving on to another piece of the web 2.0 pie and understanding it at a high level and trying to better understand how all these pieces come together. I don't want to spend the next couple months and develop really snazzy PHP scripts.

User submitting form -- halfway there

still having problems with the form pulling the data from mysql. have a movie.php that i want user to be able to submit info through. i am able to insert rows via phpmyadmin, but not from the user end. that's next thing to figure out.
Screwdup_movie_entry

Companion code with book

Note to self: Next time when I buy a programming book look on the companion web site to download the free code samples that come with the book. This should be helpful....

Debugger integrated w/ script editor

All the debuggers listed at pages like this either cost something or Windows only. i'm looking for a good debugger for Mac OS X that can work with my script editor and/or web server and spit out my PHP bugs on the browser, not just in my Console log. Suggestions are kindly welcomed.

Working with phpMyAdmin, doing SQL queries

I added some tables into my movie database using phpmyadmin and it's much easier than raw code. The book suggests after this chapter that you use phpmyadmin, anyway, so that's good. BUT - they continue to give the SQL syntax as if everything was going to be hardcoded in the PHP script. What you put into phpmyadmin is different than what you put in the PHP script even if it's the same query, right? That's screwing me. Next up is working with some aesthetic elements to put tables around my data, and soon I'll dive into user-submitted form stuff. Console is showing my errors, which is helpful, but I still -- someday -- would like them to show up on the browser-generated page, like it does in the examples in my books. Flipping back to Console is a bit of a pain.