Skip to main content

Posts

Showing posts from 2017

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

Summer Break 2017, Day 4 of 83: Short notes

What did I accomplish today? I finished my lesson on naive Bayes, learned about linear dependence, and began learning about graph-based algorithms. Because of my unfortunate procrastination and a request from a family member to do some unexpected work, don't have too much time today to document my experiences. I'll likely produce a follow-up or two on Saturday to compensate. Other news Today, the third developer preview for Android O came out. I've been reluctant to join the Android Beta Program, though. My Nexus 6P already dies around 40%, and I don't want to tempt the gods of battery life to increase that number. Sure, Android Nougat already introduced improvements to Doze, and Android O will put background execution limits for services, but I know the real problem is likely the hardware. Because my phone is from Best Buy, and my benefactor didn't get extended warranty, I'm essentially screwed until I get a new phone. (Hopefully, that new phone is a Pixe

Summer Break 2017, Day 3 of 83: Naive Bayes?

Did Thomas Bayes ever think a small part to proving God's existence would be used in machines to classify data? I don't know, and most of us don't care. I'm waiting to use this and other algorithms in production to something I can showcase. Progress I am almost done with the second lesson of Udacity's introduction to machine learning course. The lesson, titled "Naive Bayes" reveals exactly the topic of discussion. Continuing with my goal, I've taken detailed notes about an example relating to the probability of having cancer based on a test. Because of my excitement, I've created a Python virtual environment for machine learning-related packages including TensorFlow, Scikit-learn, and numpy. I've already played around with inputting different values into a Bayes classifier. In terms of scheduling, today was actually a bland day with only four events (besides this) scheduled. Tomorrow has eight activities to occupy my day including l

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

Summer Break 2017, Day 1 of 83

What is this? Imagine you could harness the full productive capacity of summer vacation without having to succumb to sleeping in while mindlessly looking over documentation or forgetting to finish a summer assignment until a week before school begins. Imagine how many hours you lose by simply not having a plan? (It's in the range of 581–787.) I'm imagining summer break as school/work on my terms. Of course, that means I'm "off" on holidays, but I'm keeping weekends open for work. Weekends are fair game because I wanted to increase the "number of days in summer break" for marketing, and I realize if I properly schedule events on weekends, I can finally have projects I can start and finish in a week.  Of course, I didn't begin summer break on the first day I wasn't required to attend school because I really wanted to begin on day one.  Beginning on day one makes me punctual (if you don't count the fact a day zero would truly impress

Last Week, Today

The seniors didn't have to return to the school as of last week, but the rest of us had finals to take or exempt. My school's final exams began last Friday because Memorial Day had taken the place where exams usually start. Scheduling Speaking of exams starting, the final exam schedule for my school district had a very memorable formula: 1st and 8th, 2nd and 7th, 3rd and 6th, 4th and 5th. For my high school, at least, the schedule is screwed up beyond belief. It goes like this: 1, 5; 2, 3; 7, 4; and 8, 6. That's not even remotely intuitive. I can't even make up a song for that sequence of numbers! I won't complain that much, though; all days with final exams were early releases (1:00 PM). Since my district lets students in secondary education choose to exempt their exams if their grade is high enough and if their absence count was low enough, everyone here knows that the last week is essentially a week of blow-off classes, but it's even more extreme.

Countdown to I/O

This is going to be the second year I've witnessed I/O live(streamed), from school, nonetheless. While I'm hoping Google announces some bombshell that is going to give them some massive monopoly, I, containing bouts of cynicism inside, expect a bit less. Firebase, Firebase When Google announced Firebase last year, I shook and shivered with excitement. I thought, "An integrated mobile and web development backend I could use to make anything? Sign me up." Of course, Firebase got better with new features like Cloud Functions, but I don't think Google is done with it - they're not even close. While I know just as much as anyone not at Google about the announcements to take place in less than five to six hours, I'm sure Google is going to announce more integration with their Cloud Platform. Cloud Functions was the beginning of Firebase adding functionality to a "consumerized" cloud, if you will. The rest of Google Cloud Platform will be for anyon

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

Adventures with a Google Python Client API

I've been screwing around with Google's Sheets API client library. I've finally produced something barely accomplishing: a Python script that reads the values from a spreadsheet I'm using as the temporary machine learning training and testing data source for The Companions Project . The sheet that will house companion training data Success in the PyCharm console Sure, I don't know any practical information on how to implement machine learning, but I'll get there. I at least know the basic process: get data, format data/create labels, train model, test model, and repeat training and testing until model is sufficient for job. In other news, I contacted my likely computer science teacher for next year, Mr. Burton, about the club I'll have to make. Obviously, he didn't respond as it's the weekend, but I'm awaiting his response. Today, I've finally figured out why The Companions Project's deployment to Google App Engin

What's a TSI Test?

I took the TSI test on Wednesday, but I wasn't the first one in the lab to finish. I blame my proctor's slowness at informing me on some prerequisites that Administration didn't inform me about and my own apathy to a test that didn't seem to put up much of a fight. Three other people beat me to the punch, but I still managed to finish before the end of third period. Since this test doesn't involve a non-disclosure agreement that people really don't care about anyway , I'll talk about the contents of the test. There's nothing too interesting about the test. I likely could have gotten a perfect score if I tried, and that's not just me being cocky. There was no advanced math on the test (nothing higher than algebra), but the reading sections are slightly more comprehensive than the STAAR test's. I literally mean slightly more comprehensive; the STAAR test is more fiction-oriented while the TSI's reading (I think) only consists of nonfiction pas

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:          

Building Projects

Yes, it's been over a week since I last publicly mentioned anything about my life; I'm acknowledging that and I'll tell Google to remind me to share an informative event or idea every day. Moving on to more productive events, in the past two nights, I've developed and debugged an Android app I named "Countdown" to constantly remind myself of my impending goals. It's not enough to get a scheduled reminder from Google Now; I need a home screen widget to constantly look at and reflect upon. Sure, once the Google Assistant fleshes itself out in a bit (and I do have more to say about that), maybe it could find better methods of persuading me to effectively carrying out my goals. However, as of right now, it's much easier to make a home screen widget for Android, a platform I've obsessed with for the past 10 months. The Countdowns app consists of a home screen widget and some simple configuration UI boilerplate I assembled with the standard Android

Good Morning

It's a bright new day in 2017, and I've finally decided to host some public record of my life to preserve what little scraps of me survive after my death (that is if my consciousness isn't uploaded to data center by then). Slight morbidity aside, my ambitions for world domination are intensifying daily as I sit in my chair, mumbling to myself about ideas only a few in a hundred mile radius would even care about or understand. Current State of Affairs Without exposing any bank account-vital security question information, I'll discuss the most easily recognizable parts of my life: I live in Converse, TX , a small town of around 20,000 whose only job is to contribute to the San Antonio Metropolitan Statistical Area; basically, my municipality exists to act as a statistic. I attend Samuel Clemens High School as a sophomore who can't engage in many if any extracurricular events because of the following reason. During evenings, I attend my father's (master&