Showing posts with label noob. Show all posts
Showing posts with label noob. Show all posts

Saturday, August 7, 2010

Rolling Title.

Picking up speed here. I've been negligent in my Java learning because I have to do it when I'm home, and let's face it, after 12 hours on the road I want to get home, play with my kid, and pass out.

Ah, but this is where the Android phone is a handy tool. I can code any time, anywhere. Using the web browser and TxtPad Lite I'm good to go. I write and review code on TxtPad, and upload it via my web host's control panel.

There is a down-side though. Yesterday I was at Seven-11 buying milk at 10pm (necessary to get my daughter to go to bed), and figured out why some php I was working on wasn't playing nice with MySql as I was standing there with the freezer door open. So instead of checking the expiration date, jogging to the counter to pay and rushing home to get my daughter her bottle of milk(she drinks enough man, trust me, the kid isn't starving. This is more a matter of Mom being tired and wanting to put her to sleep), I grab the gallon of milk with my right hand and the Android from my pocket with my left. Pull up the local file of the code, drop the milk onto a box of Slim Jims, and start coding away.

After ten minutes and feeling some odd looks (and swapping the now warm milk jug for a cold one), I jumped in my car and by the time I got home it'd taken as much time as if I'd jogged there and back.

"Did you stop for a drink?"
"No."
"What took you so long then?"
"I figured out some bad code and had to correct it."
"In 7-Eleven?"
"Yes."
"Are you $%#*ing serious?"

Monday, August 2, 2010

You .:. Step Forward

BlueJ . . . I'm still messing around with . . .

But the point here is to do 5 programs before starting on Knuth's _big_ book. Well, I figured if I'm going to put the time into making some programs at least one of them should do something that will make my life better(isn't that the point?).

So, I've gotten myself all riled up on the idea of building a parts inventory database for my service company(dental equipment service, by the way, if you're curious).

And so, a new obsession was born("The word geek is a slang term, noting individuals as "One who is perceived to be overly obsessed with one or more things including those of intellectuality, electronics, etc."): and, having a new obsession - this time not about researching the whole history of Mastodon without buying a single album of theirs because I liked a track of theirs on the Brutal Legend soundtrack - that can actually make me more productive in the real world, I've pretty much dived in head first.

Now, knowing that I had this grand idea to create a fully editable and always available parts inventory, and being as excited about this new project as anyone with a geek-disposition would be, I pursued this project by researching every available programming language out there. Now, I was most impressed with the potential of Python and Perl, but I had to be realistic - after a lot of searching it's pretty obvious that php was made for web development, and it easily works with mySql. If you're just starting out like me, go with what will be easiest to learn. Then, when you know what it is to be a coder, you can really evaluate Python and Perl in real terms.

So, I've been playing around with SQL the last week. Cool stuff.

BlueJ . . . what the heck is that?

I've started down the second road as laid out by Sun Microsystems, and that is using BlueJ, which is a neat program that keeps you from typing into the console . . . instead you create and experiment with programs using a graphical interface.

I'm reading "Objects First with Java: A Practical Introduction Using Java" along with BlueJ to have a structured learning plan that's doing the trick . . .

I actually really like BlueJ so far, I can see where they're going with these lessons, and I get why they're using a GUI (graphical user interface, for those readers coming from the same place I am), giving the student a visual reference for getting a better grasp of classes and instances, very important concepts in Java.

All these objects and instances are subject to a hierarchy, and after the first two lessons, I can definitely say I have an understanding of how these objects relate to one another. I love it, and I'm glad my friend Ryan referred me to Sun/Oracles's "New to Java Programming Center." As well as a simple way to comprehend Java's objects, classes, and instances, it is also a great introduction to understanding the types of data that can be used in methods which allow these objects to interact with each other. The programming language has to know what type of data you're inputting . . . integers (whole numbers), strings (text), boolean (true or false), etc.

I really recommend skipping Greenfoot if you're interested in programming. My suggestion is to get yourself a copy of Objects First with Java. The great thing about using the book as a guide is that outside of the standard lessons, you are also presented with challenges to figure out some things for yourself once you've learned enough. This is my favorite part: where the lessons themselves take up 30 min of my time or so, the challenges have had me experimenting for hours. I think this a great format on the author's part. If you really have a passion to learn programming, you do enough to get your footing and then you're encouraged to play around and do your own thing!

Friday, July 23, 2010

Ohhhh!!!! DENIED!!!

Donald Knuth (or the Don* of this blog's title), says flat-out in the introduction to "The Art of Computer Programming" that you should have already written and tested 4 programs before you start the book. So, I guess I'll have to do just that.

If I have to pick a language to program in (and yes, I know that the Don* refers to a made-up code in his book, but I've got to pick up something real to do the 4 prescribed "write-n-test" tasks with), then it's got to be Java. I know of it. I worked with it often when I worked with a website design company. I have an Android smartphone, and I'd like to develop apps for that platfrom sometime down the road. So, Java it is.

I've been dicking around with Greenfoot (which is recommended by Sun Microsystems as the jumping off point for people with no experience in learning programming to mess around with to _start_ learning about programming), but here's the thing . . . I'm not into whole "wombat" thing. I think I prefer the "hello world" route.

Anyway, Sun also says that Greenfoot is a good beginning for people _who don't have an interest in programming_. Well, now, that's not me. And I'm not gonna watch those damned wombats running circuits again. So, let's jump right into BlueJ, shall we?

Don* Grade Geek? What the hell does that mean?

Well, it's better than Knuth Grade Geek, isn't it?

I want to be a major geek. Like if-I-choose-the-dark-side-you-better-call-Luke geek. I'm more or less a mechanic in my daylight life, but at night I eat and breathe "geek." I love video games, I read comic books, and when I can't relax I open up a book on the history of the steam engine, or just as likely I'll be watching Diggnation.

So, I fit something like the standard m.o.. But I've been messing around with programming on-and-off (mostly off) since high school, and now I'm 26 and I'm still reading technology blogs and thinking how cool guys like Kevin Rose and Matt Dorey are, when I don't really grasp a thing about programming.

So, I aspire to be a Don* Grade Geek.

"Don*" means "Donald Knuth," as in the guy who wrote "The Art of Computer Programming." That's the 4 volume(and running) book of which Bill Gates said "You should definitely send me a résumé if you can read the whole thing."

The plan is to get through the whole book, with a little help from my friends, of course. And yours, perhaps. So, let's get started.