Flashcards are great. Making them is not.

I am currently going through and making flashcards for some of the common… everything, really. Operators, escape sequences, data types, keywords, all of it. I figured it would help me out, and it would give me something to work on during lunch breaks (I get an hour, but need all of 15 minutes to eat. The rest of the time, I’ve little to do. I’d chat with my coworkers, but they are usually occupied with the latest Jerry Springer episode or similar.)

So I’m making flashcards to work with during lunch, hopefully to really solidify my grasp. Sure, the flashcards won’t exactly be able to hold absolutely everything I need and all of the myriad ways that the [everything] can be used, but they will still provide a solid base.

The study journal is still going strong, as well. Once I get fairly decent with the flashcards, I’ll probably start taking the study journal to work. Right now, what I really need to do with the study journal is organize everything in it and rewrite it. Before I do that, however, I want to finish the current book I’m working with.

Well, this is enough of a break for the time being. Back to working on the flashcards!

Posted in General, Programming | Tagged | Leave a comment

Programming Study Journal

I suppose calling it a “study journal” is just a fancy way of saying “taking notes,” but for some reason, I’ve always preferred to call it a study journal.

That being said, I really should have done this when I first started. Writing about what you just studied is a powerful reinforcement that can really solidify what you just went over, while offering a quick way to review without going back over the entire section again. Granted, not having accurate information in the journal can really screw that up, but that is a part of the learning process, I suppose.

Another little bonus, or what I consider to be a bonus (I wouldn’t be surprised if most people felt it was an annoyance) is that, as I progress with the studies and learn more information about earlier topics, the notes end up fragmented, which lowers their general value. What I find useful about this is that this fragmentation offers a person the chance to go back over their notes, read through what they had been writing, and write it out again in a more organized manner.

The second writing can help refresh what was learned earlier, while further cementing it in a person’s mind.

I suppose writing everything out and talking about what was learned isn’t for everyone, but I have found it to be absolutely invaluable in the long-run, and really should be kicking myself harder over taking so long to start keeping the journal again.

Posted in Programming | Tagged | Leave a comment

Nothing happening on-screen.

I realize that I haven’t posted here in roughly one month. This does not mean that I’ve stopped, I’ve simply been trying different ways of teaching myself.

I have been working with Project Euler, as well as trying to keep a sort of study journal as I am studying. The overwhelming bulk of what I have been doing has been basic, to say the least, but should provide a fairly solid platform for me to eventually improve myself with. Because everything has been so basic, however, I’ve opted to not post this work.

I have no intentions of abandoning this blog, but for the time being, I do not feel that I have a strong-enough base to make it worthwhile. In time, I’ll start working with it again, but there is really no point in posting the basic things that I am working on.

I’ll be back once I’ve reached a point where posting makes sense!

Posted in General | Leave a comment

Project Euler, Problem 3 (Updated Dec. 8)

So I’ve been working with Project Euler the last few days, and I’ve run into a bit of a wall. I’ve been working on the third problem, and I am having quite a bit of difficulty in finding a good, working solution for it.

I’ve managed to do so (somewhat) by using a brute-force method, simply by going through each possible number and checking it against every other possible number, but I cannot believe that this was the way that had been intended. I am currently looking for a more elegant solution that is not so dependent upon simply brute-force.

If I am unable to find a better way, I suppose I will have to concede the battle and do with what I have (at least, until I have improved).

Update, 8 December. 2010 ::

So it turns out the the brute force method I was going to use will take approximately 4 days to fully compute. According to the information on Project Euler, all problems should not take this long to computer.

I guess that means that I’ve got to step back to the drawing board. I’ll probably hit up Google and see what they have on this, if only to give myself a starting place.

(Actually, I know a great starting place: go back to college and actually study Math. I didn’t do very well in Math while in high school and college Since, at the time, I wasn’t planning on a math-oriented job, I didn’t concern myself with studying it quite so well.)

Posted in Programming | Tagged | Leave a comment

Project Euler, problem 1 – Sum of Numbers

With the first problem from Project Euler, there was nothing overly large to be caught up by, but it does offer a brief glimpse into looking at how quickly the program can run.

The entire code comes down to four lines:

x = (1..1000)
sum = 0
x.each { |i| sum += i if i % 3 == 0 || i % 5 == 0 && i != 1000 }
puts sum

Because there are more numbers that, when using 3, will have a remainder of 0, keeping the conditional to check the 3 first reduces the number of times the program needs to check both conditionals. There are a total of 200 numbers (if we count 1000) that give a modulus of 0 when using 5, but there are 333 when using 3, some of which overlap with the 5.

Because of the i != 1000 check, placing the check on the 3 before the 5 reduces the number of checks the program has to do by roughly 266.

To be fair, in a program of this size, the difference is meaningless, but in a larger program, or having to iterate through millions of numbers, the difference could be substantial.

Anyway, on to problem 2.

Posted in Programming | Tagged | Leave a comment

Holidays and Plans

Now that the holiday is over, I am back to my normal computer again. While traveling for the holiday did prevent me from doing the work that I had wanted to do, it did not prevent me from trying to think up new programs that I could practice with.

Unfortunately, it seems that much of what I would like to do requires significantly more than I am currently yet capable of.

During my time away, I’ve spent much of it looking online for sites that offer suggestions and ideas for programs that a beginner would be able to write and practice with. The two favorite that I have found so far are Code Kata and Project Euler. In addition, I’ll also be looking through the past quiz problems put out on the Ruby-Talk mailing list, and as I improve, I’ll begin working on those, as well.

For the time being, though, I will be working on the programs at Project Euler. From what I have been looking at on Code Kata, the programs seem to be a bit above my current level, but I hope to begin working on them before too long.

So that is my plan: since I seem to have difficulty thinking of good programs for a beginner to work on, I’ll be working through Project Euler’s problems. Once I am able to do so, I will add Code Kata’s problems and the quizzes from the Ruby-Talk mailing list.

Posted in Programming | Tagged , | Leave a comment

Playing in the Down-time

Well, without Internet, I was able to mess around with a few things, but considering the book I have on Ruby is utterly atrocious, I was not able to play around as much as I had wanted. I was, however, able to get several ideas for what to do in the future.

Continue reading

Posted in General, Programming | Tagged | Leave a comment