Skip to main content

Python is Cool. Python is Great.

I've immersed myself in programming with the easiest language to learn, and I'm currently trying to make my own command line utility for training the agents in The Companions Project. Sure, I may know jack squat about how to implement machine learning on the scale I wish to happen, but I do know one vital aspect of it: Python.

Python compared to Java is the equivalent of Chinese checkers to chess. Chinese checkers is incredibly easy to learn but understandably difficult to master. Chess has a higher barrier to entry, but once you're over the wall, one can has some very complex possibilities to learn. While I now see programming in Python is incredibly simpler to begin, my Java-minded self took a quick look at the syntax and only bothered to look at code snippets to scare me into believing that Python is the language of the devil with forced indentation and syntax like this:


class HelloWorld:
    def hello(self, name=None):
        if name is None:
            print('Your name is now Daniel')
            name = self.get_default_name()
        response = 'Hello {name}'.format(name=name)'
        print(response)
    
    def get_default_name(self):
        return 'Daniel Brooks


(Yes, I know this is code is verbose and I could have just wrote name='Daniel Brooks' , but I wrote that for sake of argument.)
I always took a step back from Python every time I saw a code snippet (particularly the ones orders of magnitude larger than this), but now that I recognize Python is the enterprise standard for machine learning, I have the strong desire to learn the language and bend it to my will. My hesitance has turned to curiosity, and I am desperately playing catch-up with all the computer science students that learn this first year. Although, I'm still in high school, so I shouldn't be worrying about that. I'm just excited  I'm already proficient in two widely used programming languages. (Yes, I can say I'm proficient in Python because I think two two months is enough to learn the beautiful language designed by Guido.)

Just so we're clear, I'm not learning C or its derivatives until at least senior year of high school. I'm honestly not sure if I'll actually need to get truly in-depth to C(++), so, I'll save learning bits of C(++) for when I need it, like when writing code for Android's NDK for machine learning on Android devices. Hopefully, a stable TensorFlow Java module is released and I can avoid that, but I'll be slowly inching towards a scalable backend with App Engine on the Google Cloud Platform.

Comments

Popular posts from this blog

Summer Break 2017, Day 2 of 83: All Hail the Schedule

I think the plan's working; I'm already motivated to accomplish everything I've planned in The Schedule . Thanks to Google Calendar, I have the flexibility to change what I do on a daily basis. (I know, it's like I'm a spokesperson for Google right now, but you haven't seen half of it.) With Calendar's goals feature, I specify frequency and position of goals I want to accomplish, and machine learning ensures the times work out for me. Sure, it's a bit finicky right now, but at least I didn't have to make a hundred something event times for goals that don't have entirely consistent definite start and end time. MOOCs and More Because of my existing knowledge and experience with Udacity , I've decided to use their online courses to enrich my currently unstructured learning. Here's everything scheduled to be completed during the summer: Introduction to Machine Learning (the big one, the real thing I want to accomplish) Introd...

My First AP Test

In around 10–15 minutes, I will begin the AP Physics 1 exam. It's questionable whether I'll obtain a score of five, but I know I can easily obtain a four. Does MIT or Caltech or Stanford or whoever care if I obtain a five? Well, I know MIT doesn't even care if I take the test as they only accept credit for a five on the AP Physics C exam. As for the others, I probably should've done some research. That doesn't matter now. I just looked over my mock test with another highly intelligent student, and we both know we can easily obtain a four. I know how torque works; I know how movement in two dimensions works; heck, I even remember​ how to build a DC circuit. Kirchoff has nothing on me. I know that the junction rule states that a circuit's input current must equal it's output. I understand that resistors have the same current in a series but the same voltage in parallel. I am going to perform very well. (As long as I don't bomb the free-response quest...

Summer Break 2017, Day 5: How Hard is it to Upload a Photo to Firebase?

God help you if you ever decide to implement camera functionality in Android. I didn't have much planned today, but thank goodness I didn't. The Setup Here's the dilemma: I wanted to make a very simple app that will let me take a photo of text and have it read out to me. Using the Google Cloud Vision API ,  I can essentially scan documents and listen to their contents instead of having to use my eyes and scan the thing. It will be great for accessibility and so on, but the thing is I can't have the Cloud Vision API scan documents that I haven't taken. I want to do processing in the cloud to model common app architecture and to reduce strain on the client app. Here's the service flow: Client app takes photo Client app uploads photo to Cloud Storage for Firebase Cloud Functions scans the document for text Cloud Functions updates Firebase Database with scanned text Client app intercepts database update Client app speaks text from database The Co...