Untitled Writing

A handful of months prior I remember making eye contact with him.  I looked away.  I feared he had recognized me.  I panicked at the thought of him walking over to me.  He would be standing next to me, “Is that you?”  What would I say?  It had been a little more than a decade since we last saw each other.  Luckily, at that time, he kept walking away into the crowd.  I sat looking down at the screen letting the crowd cover hide me away with its wall of anonymity.

Today, that wall of people was nowhere near us.  I was sitting on a bench, under the shade, next to a building on a deserted campus.  He was walking on the path, heading away from work and towards happier hours.  I wasn’t prepared.

“Hey man, long time no see.”

I wasn’t prepared.

A Problem, The Internet, I Don’t Like

Great news friends, I have a problem.  I don’t like the internet.

What I want to do, for the next couple of blogs, is to take an introspective exploration on what I like and what I dislike about the internet.  Hopefully, this exercise will help me, help you, possibly brainstorm creative new ideas and projects to make the internet better.

When I turn on my computer, I am always connected to the internet.  I am grateful for the always-connected technology.  Because it was not very long ago when I had to use a dial up connection to log into the internet.  I still remember sitting at our family desktop, loading up a CD-ROM with a FreeInternet-ISP provider that let me connect to the internet via dial-up–thinking of which makes me nostalgically reminisce of the noise from the modem connecting 56K-bits of information through our landline.

Aside from that, what is so great about being online?

I have to check my personal email, then my work email; a chore.

I have to open up Facebook; I don’t even know why I am there but just from using Facebook since 2006 it’s obviously an addiction.

Then there’s YouTube.  I have also been using YouTube since high school.  At the time, YouTube was our portal for watching pirated stand-up comedy specials, new music videos, and stupid things.  Nowadays, YouTube feels like a glorified Home Shopping Network.  Instead of the once seasoned salesperson, I have Lewis, who started out as a normal dude but now is a seasoned veteran salesperson.  In ways, YouTube is where a lot of us watch videos thinking we’re watching videos for entertainment, or for news, but in actuality, it is a way for YouTube to sell someone thirty seconds to convince us to buy something from them.  Of course, a lot of us don’t actually respond to the advertising, and it wasn’t a big deal at first, but it’s become a big deal for me since I have advertisements in my head.  It’s like when you’re listening to music and suddenly you have to deal with an advertisement, throwing off your entire mindset.

Speaking of music, my favorite service that is made possible by the internet is Apple Music.

use Apple Music every single day, I even use it at night for an album of white noise or something soothing to help me fall asleep.  Apple Music has what I want, gives it to me without advertising, and every Friday I look forward to opening up the application to find new music.  I love that model.  It’s not overwhelming.  It’s not forceful.  I pay fifteen dollars a month for Apple Music’s family plan.  It’s the right price, I am happy to pay the bill.

A lot of this post may have come off as a bit snobbish.  It’s for a good cause.  I want to make the internet better, don’t you?

Thanks for your time.

 

About Practice, Man

If you’re just starting out, if you’re teaching yourself or you’re a first-semester student taking a computer science course in college,  when it comes to learning a new language, whether it’s Java, Python, C++, or anything else, there’s just one simple but painful truth that we cannot avoid: Practice.

Why am I blogging about practice?  Because it seems like for more than a couple of years, I have been searching for a short cut towards learning to program.  From taking free classes online, to download programming textbooks, to Lynda.com courses, I was always looking for an easy way in.

The thing is, all those routes are actually great roads towards learning the language.  But, you cannot complete them passively.  You have to dedicate a couple of hours each day to read the lessons, watch the videos, do the work, and then you need another block of time to practice what you had just learned.  Why?  Because without the practice you are not going to retain the information that may one day mean the difference between a successful block of code or a falling flat on your face.

Seriously, turn your phone off, go to your dedicated coding space, close the door, get comfortable, put on some music, then get to work.  The process is repetitive, that’s actually a good thing.

xjnpl9xFor example, do you think Steph Curry became the great shooter he is today just from watching his dad shoot threes?  Do you think he became great from just reading a couple of books on the methodology of shooting a basketball from long distance?  Do you think he became great without going to the gym, without working on the craft, without making mistakes, without learning from those same mistakes, without getting hit, without getting injured, without getting disrespected, without doubting his own abilities to be great?

Of course not.  The same goes for you.  Your journey is not going to be any different.

Yup, we’re talking about practice.  Now, go!  Practice man!

New Regimen, New Stage, New Level

Tonight, I sat down to start my Java regimen.  I opened up my book to where I had left off the night before, and I started reading the code in the book and writing it up on Eclipse.  For the past few weeks, this simple regimen has been effective.  However, as I’ve learned from my time in the gym, our muscles get used to regimens.  To help keep myself engaged and to avoid that rote mechanical feeling, I need to change things up. So, I did.  Here is what I did.

To start, here is the example code from the book:

Screen Shot 2017-08-11 at 10.17.42 PM

Naturally, the first step is for you to read the code.  But, to read the code you have to constantly ask, what is going on here?

On line 1, the code is importing the Scanner class, this signals to us that the User will provide some information.  Lines 11 and 12 show us that the program is going to use two integer variables: number, and maxValue.  Reading on, we see the scanner object, keyboard, is created on line 18 before prompting the user to enter a value to be stored in the maxValue variable.  The program is going to set up a table that is going to show, on one side, a number, and then right across, after a couple of tabs, its perfect-square.

From lines 27 to 31, we see the for-loop.  Here the first variable, number, is used as the loop control variable and is initialized to 1.  Right after, is the condition for the loop: the loop is going to cycle through the values, from 1 to the value less than or equal to the maxValue the user will provide. Finally, the program will increment the number variable.  Basically, this for loop is going to help create the perfect-squares table by showing a number and then calculating and displaying its perfect square all the while repeating until the loop reaches the maxValue at which point the loop and the program ends.

Not too bad; it’s an easy code to read.

Now that I know what the program is doing, I ask myself, what would be one simple specification that a client would possibly provide me when asking me to create such a program?

I came up with this: Screen Shot 2017-08-11 at 10.35.36 PM

That works.

What did I just do?  What is so great?

Well, I think what I did was first obviously read the code, but then, more significantly, I broke down the program to identify its parts. In doing so, I made a simple algorithm that is at the heart of the program.

At first, this all seems like a lot of work, but it’s work that my brain muscles need to get used to.

Passively writing and rewriting code is a good gateway exercise, to help develop the habit of sitting down and coding.  In my years of studying literature, that first step is actually part of three stages to reading and writing.  This first stage is called the textual stage where you’re learning to read, write, and decode texts.

Now, as this blog post exemplifies, I’m ready for the next stage, and my it’s actually my favorite stage: The Analytical.

giphy

 

Hi there, thank you for reading my blog post.  If you liked what you read, please give this post some love by clicking on the WordPress Like button.  And, if you have any comments, questions, and or concerns about anything, I invite you to post a reply in the comment section below.

The Do > The Done

I like to think that I am more honest with myself today than I was ten years ago.  Then again, how honest could a nineteen-year-old, with no real world experiences, be with himself?  Now, twenty-nine and not getting any younger, I can look at a situation and weigh what I can and can’t do, or how much time will or won’t I have to invest.  Compared to all the other life skills, it’s not that profound but it’s important.

I’m being honest with myself tonight and admitting that the pace at which I am working through the Java problems from last semester is too slow.  I need to cut out all the time wasted on the internet, collect those hours and then invest it all on mastering Java.  Because by this time next year, I don’t want to feel as though I am on a treadmill.  I want to feel as though I climbed to the top of a mountain.  It’s not done overnight but done through small steps, started with little sacrifices, and powered through with a vigorous determination to make it.

Where am I now?  I am on Chapter 4: Loops and Files, on sample code 5 of 25.  It’s 9:00 p.m. EST, and I am coding to code for the next three hours.

I don’t know how much I will get done but the point is to do, not do think about the done.

Update:  Two and a half hours later, I realize I may have to change my methods of practice.

What I have been doing, and it has been an effective way for learning to program, is to take one of the sample codes provided in Tony Gaddis’ Starting Out With Java, and repeat writing the code ten times.  It has been an effective means for memorizing the little things about syntax, spacing, and writing clean code.  If you’re just starting out, instead of memorizing the jargon, I highly recommend you repetitively code the examples you find in your textbook.

What I may have to start considering is to code five programs, then repeat them in sequence for a minimum of five times.  This way I cover more example programs and get to practice and learn through repetition.

This Is My Desktop

This is a picture of my Desktop.  It’s a stack of textbooks on programming, algorithms, discrete mathematics, and four blue labeled folders which hold even more books.

As a kid, my favorite place to be was the library.  This was before college, before high school, just around the time I started Junior High School.  I would count up $1.25 from a jar full of loose change, get on the Q54 bus from the corner of Jamaica Avenue and Van Wyck, ask for a transfer from the bus driver, then ride to Merrick and Jamaica where the Queens Central Library sat across from the bus depot.  Inside, the first place I went to was over to the Science and Mathematics section.  What was I doing there?  I was picking out the newest textbooks: Chemistry, Biology, University Physics, Calculus.  I would stuff my book-bag–over the years, I had ripped a half a dozen of these book bags from stuffing them full of textbooks from the library–then take them back home.

At home, I would stack them, high one on top of the other, then maybe read the introductions of each of the textbooks.  By then, my eyes would have been completely tired, and I would stack them up again on my desk, then crash into my bed.  The next morning, back to reality, catching up on homework and or preparing for an exam, and those stacks of textbooks would stay where they were until days past their due dates.  I remember once selling my junior high school lunch vouchers to have enough to pay the library fines I had racked up from collecting these giant textbooks.

When I think back to those habits, I wish I had someone to teach me how to study.  Or, someone to help me understand how you had to go about reading a textbook.  So, a lot later down the years, after I had messed up as an engineering student, completely had no chance of ever becoming a doctor, years after when I was at my lowest, I understood that one of the roads up was to study English Literature.  Why did I think that?  Because I saw myself as an eternal student who was missing a couple of critical tools: critical thinking and some basic writing skills.

Anyway, fast forward to now, after all the years of reading textbooks, novels,  theoretical philosophical arguments, and of course tons of articles from the sports section, I realize I still repeating a bad habit: I hoard books out of a genuine desire to learn, but I end up not learning anything from them, because there aren’t enough hours in the day to read everything.

I need to be honest with myself and focus on just what I need.

So what does my Desktop look like now?

Screen Shot 2017-08-09 at 9.40.59 PM

Unity Game Engine, Writing==Developing, Final Coming Up, Planet Earth Loop

I’m installing Unity, the game engine.  Last summer, I left a project with an educational game development group where I was entrusted with the task to develop an original, nonlinear narrative.

You see, prior to computer science, my life long dream was, and still is, to write.  I was entrusted with the task of writing a game, something I had never done before.  I ended up writing an outline, after outline.  Each week I would meet with the team and present my new ideas.  These sessions slowly disheartened me because I wouldn’t leave the meetings with boundaries or direction on what was good or what was bad.  Instead, I was asked to think more outside of the box.  While the team ultimately was not able to produce a finished product, what I realized through the experience was the importance of retraining and finding myself in the future of computer science.

Now, a year after, with a solid two semesters of computer science, I am installing Unity on my Macbook Air because I want to try developing games again.  This time around, I understand how object oriented design works, I am familiar with all the complex jargon commonly heard in the tutorials.  So, like picking up a book I had given up on because it was too hard, I’m hoping this time around it will be much easier.

I plan to build these early copy-cat games for the web, so hopefully, my blogs will soon have embedded games.

My dream has and still is, to write.  Nowadays, that writing has become developing.  They’re the same thing, I tell myself.  Just as Hemingway woke up each morning to write the next paragraph of a project, I wake up excited to write the next block of code for a program.

In the long run, having studied Literature for four-years, developing an attention span that can work on a project hour after hour, mastering methods of changing one’s perspective to look through another lens, thinking outside of the box, all of the little skills like that will help me in my coming career as a software developer.

Thoughts on School.  A week before my Discrete Math final, I am glad summer courses are easy.  But I know very well that my Discrete Structures course is going to balance the easy out and be super difficult.  Either way, after my final exam next Tuesday, I have to take the initiative and practice, like hardcore, all the example problems in Rosen’s Discrete Mathematics.

I also need to get myself a copy of Cracking The Coding Interview, as I’ve read and re-read on different forums that it’s best to study Discrete Mathematics, Structures with questions that are asked during coding interviews.  Afterall, one day I do want to land a job, at a company, make a comfortable living, etc.

Other Thoughts:  Some folks like to listen to music while they code.  Then there’s me.  I like to turn on my TV, load up Netflix, then watch BBC’s Planet Earth on mute.  Sir Attenborough is great, but I just want to code on my computer then when I need to recharge, I just look up and watch the weird, beautiful, crazy things that make up life outside of modern humanity.