Posts

Showing posts from July, 2017

Xcrypt is Nearly Done

Again, since nothing's new at AdAdapted, I'll share some of my spare-time programming ventures. Xcrypt, my encryption software, is nearly finished (again). I'm hoping to push out the new version this weekend, and it has a load of new features that weren't in the original, my favorite of which being support for multi-core CPUs. Xcrypt can now utilize more cores and it allows the user to specify how many cores it can use. The interface for Xcrypt is also vastly improved, with better organization, presentation, and the ability to track any number of processes at a given time. In Xcrypt, every potentially time-intensive operation is timed and the time taken to do it is reported at the end of the process' lifetime. In the previous iteration, if a process started, it was the only one that could be recorded. Now, times can be reported for any number of processes as they're completed. Xcrypt also handles its encryptions much more differently. Less burden is put on t

Fun With Waves

Since I'm still working on the iOS app at AdAdapted, not much has changed on that front. In other news, though, I have started playing around with audio programming in my spare time. It's a lot of fun, if not frustrating at times. I've gotten it down to where I can program entire songs with relative ease and let my data-writing algorithms handle any music I throw at it. I've gotten the audio pretty clean, but there are still some artifacts that I don't like. Because I'm writing the sin waves that represent the musical notes programatically, they're written immediately at maximum volume, which produces are small popping sound because of the rapid change in air pressure. Now, I've written some algorithms that clean this up by introducing fades, but it's not perfect. If I'm mastering multiple tracks, some pops still remain, but I can't tell what's allowing them to stay. They should be gone, but they're just not. Most curious. It's

Passed the Google Analytics Exam!

For my internship, I needed to earn a certification and about six weeks ago, I chose to earn the Google Analytics exam. Today, I passed the exam! I've spent the past six weeks lazily studying for it, but this week I really pumped out the last handful of videos in the Google Analytics academy. I finished the exam a few minutes ago, and now I have the certification! Success!

Catch-up (Pt. 4 of 4)

For iOS development, it used to be you had to learn Objective-C. If you've never coded in the more traditional C languages, Obj-C looks like an absolutely horrendous syntactical mess. It's littered with characters that have absolutely no intuitive justification, and the fact that it's a hybrid language doesn't help the messiness. Obj-C, like C++, is a PPL that was modified over time to include aspects of OOP. I've never liked languages like this, as they tend to resemble a garbled, messy mixture of two fundamentally different things, somehow co-existing. But, maybe I'm a little biased, having learned object-oriented programming by coding in purely object-oriented languages (my favorite's C#, in case you were wondering). I digress, you no longer have to learn Obj-C to develop for iOS/macOS. Now there's a magical language developed by Apple called Swift, that doesn't look extremely messy and includes some pretty neat features. To me, Swift looks like R

Catch-up (Pt. 3 of 4): An Aside on Developing for Apple

I know this post was supposed to be about the tools I need to learn for iOS development, but I'm going to rant a little instead. I've developed for iOS before, but in a slightly indirect way. When you say that you've developed for iOS before to an experienced developer, the first thing that comes to their mind is Xcode. However, I developed in Unity. Unity then compiles the project into an Xcode project, and then I just have to build my project through there. None of the actual development process needed to be done in Xcode. Just from that experience, I didn't like Xcode, and I certainly didn't like developing for Apple. First of all, you must  have a computer running MacOS to use Xcode, and Apple only  allows project built with Xcode to be run on their devices. So, there's money-grab #1. On top of that, to publish to the App Store, you have to purchase a license that you have to renew every year. The cost of the license? $100. It may not seem like a lot to an

Catch-up (Pt. 2 of 4): iOS App

My videos got put on a little bit of a hold because Mike, the co-founder, wants me to focus more on making an example project with iOS to identify possible issues. As it stands, they're having a lot more of a problem handling iOS issues than they are Android, so I'll be working on making another example project. It's going to look more or less like the last one (with an Apple re-skin, of course), except it's going to integrate their iOS-specific SDK. For that, though, I have to learn a lot of new tools. More on that in the next post.

Catch-up (Pt. 1 of 4): Videos Got Approval

Sorry for the lack of posts lately, but I've been totally swamped. This past week I had little to no free time between both my jobs and needing to do basic things like eat and sleep (even if I didn't get to do them as much as I would've liked). As such, I'll be playing a little catch-up with the next four posts. I'm splitting it into four in an attempt to make my posts a little shorter and more easily digestible, since I tend to be fairly verbose. The focus of this post is that fact that my videos got approved! Chris looked them over and suggested a couple small changes that I made, so now I'm ready to go on my videos! The scripts are written, approved, and I'm primed to go. Unfortunately, the videos are on hold right now...

Off Topic Post: Xcrypt

This post is going to be a little off-topic, as it's about the encryption software, Xcrypt, I wrote a few months ago. I've been spending a lot of time on it, so I felt it deserved some time here since, while this blog is dedicated to my time at AdAdapted, it's also, in a way, dedicated to my technological ventures. So, story time! This story starts with a cruel twist of irony. Once I finished Xcrypt, I was excited. I wanted to use it all the time. "I can secure all the source code on my flash drive!" Naïve-Me said. So, Naïve-Me went ahead with encrypting the source code of the projects he had on his flash drive and, of course, overwriting the originals. It was beautiful at first. I felt secure. "Surely," Naïve-Me said, "if I lose my flash drive, my source will be secure." But there was a problem with Xcrypt. Not with the code, certainly. I spent countless hours ironing out any bugs. No, the problem was with the design. It was needlessly com

Videos Approved (Mostly)

Over the weekend, I worked on the first two tutorial videos for integrating the AdAdapted SDK into an Android project. I wanted to take a minute to talk about why the process of figuring out how I was going to go about making the videos was frustrating: [StartRant] First, the audio editing software I use has terrible noise suppression. There was a point where I used it before and I remember it working fairly well, but I could not for the life of me figure out how to get it to work like that again. After playing around with their Noise Gate plugin, I decided that it was awful and I couldn't do it that way. However, a while ago, I installed OBS (Open Broadcaster Software) just for fun to play around with the tools. I discovered that they have excellent noise suppression that you can enable. The quality of my voice in the recordings is phenomenal. There's absolutely no background sound (even when I speak), no buzzing, no static, no artifacts, and it's very crisp (yay good

Integration Complete, Videos Next

I just recently completely finished the integration of Addit, and it's a pretty cool tool. Items can be added to my app externally and all looks good, so now I can move onto the tutorial videos. Hopefully I'll be able to move forward on them. I'll be making about two as a kind of demo of what to expect of them, and then I'll sit down with some other members of the company and they'll decide if they'll be useful. If the videos are a no-go, I suppose I'll turn my eyes toward working on an FAQ to help developers with the process and their problems. Ideally, though, I would like to accomplish that goal with videos, since I personally find videos pretty helpful in learning anything software-related. I know that when I learn a new toolset, the first thing I look for are tutorial videos.

Integrating Addit

Image
The AdAdapted SDK is fully integrated into my example app and, save a small rendering issue, everything is working as intended! They've made a pretty cool product in that the ad is actually natively integrated, so I can use it to do actions within my app. With other ad services that I've used, the most data you get returned is whether the user finished watching the ad or not, but with the AdAdapted SDK, it advertises, say, a brand of baked beans, and all I have to do in my grocery list app is press this ad's banner in my app, and it adds the baked beans to my grocery list. The code for it was really easy to write in there, but I'll still be making those tutorial videos for developers who are visual learners. Additionally, I did run into a few hiccups, so I'll be making sure the followers of the tutorial steer clear of those. Now, I'm moving on to integrate Addit. It's another pretty cool technology by AdAdapted that allows ads serviced from OUTSIDE my