All Posts

Logging Information on Browser Crashes

Every now and then your web application does something so wild and unpredictable that it crashes the browser that you’re running it on. In order to create a better product for our users, we would need to log pertinent information every time our app crashes. Unfortunately there is no way to send a crash log before or during the crash due to the unpredictable nature of the crash and the browser’s web environment no longer working. The best thing to do is to send the logs after the crash. This post will go through a technique to detect when the user’s previous session has crashed so that we can perform the relevant logging actions.

written in browsers, javascript, logging Read on →

Rendering List of Elements in React With JSX

Understanding how JSX is processed can be slightly tricky to understand. Knowing when its appropriate to use JavaScript code and when to use HTML in your JSX can be very nuanced when writing React code. Understanding how the JSX will compile is critical in writing basic React that will render in predictable ways every time. This guide will go over the slightly tricky scenario of getting a list to render and how it can help us understand more about React and JSX.

written in guide, javascript, jsx, react Read on →

A Review of Hired

After gaining back my technical skills and feeling confident in interviewing again I decided to become useful and jump into the endless sea of available technical jobs. Of course I applied to the typical big engineering companies and some other smaller ones but sometimes you just need to know what else is out there. I think Hired fills this void perfectly.

written in review Read on →

Codewars, Leetcode, Hackerrank. Online Judges Reviews

Sometimes the projects you work on just aren’t stimulating enough. Sometimes you need to fill your brain with as many programming problems as possible. Usually tackling a small sized project only requires a small set of challenges to solve while the rest of the time is spent tying the project together. When you need as many challenges to tackle in as short a time as possible you need online judges. This article is a review on the online judges, Codewars, LeetCode, and HackerRank.

written in algorithms, programming, review Read on →

Things I Learned From Failing Technical Interviews

I just had a long month of technical phone interviews from numerous companies that I got from the technical job hunting service Hired. Its funny, you don’t truly learn until you’ve actually made mistakes in a scenario that actually matters. With that being said, I think I learned a ton of lessons from getting rejected from many technical interviews and I want to share my insights with you!

written in career, mathmatics Read on →

JavaScript Inheritance

As you may already know, Javascript has an interesting inheritance pattern called prototypal inheritance. You too can start using prototyping powers of Javascript with this one weird trick found by an Orange County mom. James Gosling creator of Java hates it!

written in guide, javascript Read on →

How Much Stuff Can You Fit in Memory?

So you’re given a limit on the amount of random access memory your program can use, how much stuff (ints, chars, booleans, bytes) can you cache in there before having to store it in physical media?

written in guide, java Read on →

6.82 Visualizer Postmortem

website
source code

6.82 Visualizer is a gold and experience data visualizer (grapher) for the game Dota 2. There was a controversial update to the game where the game would give the losing team drastic advantages so that they would be able to catch up to the leader. The changes are difficult to imagine due to the amount of variables so this program was created to show the data on how much the game had changed.

written in angular, javascript, postmortem, project Read on →

Confess.me Postmortem

website
source code

Confess.me is an anonymous real-time secret posting website. Other supportive members can send comforting messages of support to the anonymous secret sharer. The secret sharer can thank these anonymous eyes and ears for their support in turn. All of this is done in real time letting users have an outlet for those things that they hide to themselves.

written in javascript, mongoose, node, postmortem, project Read on →

A Basic Rundown of How the Internet Works

So how does the internet work? How does your desktop, phone, laptop, Xbox, television, all get access to YouTube or Facebook? It’s actually kind of miraculous that something that was once used as a long distance communication protocol to share research amongst universities is now being used as what I think is the hottest commodity of the modern world. What’s even more miraculous is that the internet is just a bunch of machines playing the largest game of telephone at an incredibly blistering rate.

written in guide Read on →

What Is This?

The this keyword in JavaScript is probably one of the most confusing and misunderstood fundamental concepts of the language. The use of this allows for repeatable creation of objects and flexibility in method sharing, but its often the source of many problems through misuse and misunderstanding. It’s honestly not something that’s too terribly intuitive or something that’s understood even after reading several articles and putting in the actual effort to learn it. The process of completely learning about this and its uses to the language is a long journey of reading and experimenting. Here’s another effort in explaining this. As a preface, you will be introduced to calls and bindsas well as this so get ready.

written in guide, javascript Read on →

Organizing Object Oriented Javascript

Object oriented Javascript isn’t really a new concept. For years people have been trying to make JavaScript more familiar towards object oriented programmers by perverting its naturally prototypical architecture towards something more classical. There are many guides on how to create classes with private and public members and inheritance but there aren’t as many guides on how to organize these into an actual usable and familiar project structure. I think the primary problem in why developers have so many varying ways of organizing their Javascript code is in that the language was never really meant to be built to such huge degrees. Large scale Javascript projects are popping up with the rise in popularity of NodeJS and large-scale front end frameworks that try to organize the usual mess that comes from hacking together a ‘native’ application experience on the web. The need for organized module JS is becoming increasingly important which is why I think I’ve found a pretty decent solution from the wide amount of options out there.

written in guide, javascript Read on →

Executing Highlighted Code in Eclipse Debugger

Just a short one for my sake since I keep forgetting.
Highlight a segment of Java code while on a breakpoint and press ctrl+u to execute, or ctrl+shift+d to execute and display the result. Helpful for when you want to check if a certain conditional that’s coming up in the next lines will return what you believe for it to return.

Having this is super handy and something I miss when jumping from Chrome’s javascript debugger that allows you to execute any arbitrary code in the console.

written in debugging, guide, java

Bejeweled Bot

source code
source game

Bejeweled Bot is a bot that automatically plays Bejeweled Blitz as fast as possible. Once executed, the bot will orient itself with the origin of the game board, determine the current gems on the grid, parse the possible matches, then move the appropriate gems in the game to create matches. I forked the repository from kklemm91 and improved on code organization, naming, and execution efficiency.

written in bots, java, postmortem, project Read on →

Text Twist Bot

source code
source game

Text Twist Bot is a bot made to play the anagram solving game Text Twist. Once ran, the bot will auto detect the location of the window, parse the current letters on the board, and automatically input all anagrams that can be found from those six letters. Of course solving anagrams is not new in the field of programming but whatever, revel in its glory!

written in bots, java, postmortem, project Read on →

Balancing Confidence, Arrogance, Ignorance, and Humility

Something I’ve picked up in my first professional job is that nobody appreciates humility. While being humble is a virtue, it’s not one that’s usually appreciated in the workplace. No workplace has an award ready for the most respectful employee. No one is going to be noticed if they complete a difficult task in a short amount of time and stay reserved about it. Humility is not a quality that is desired in greenhorn employees of any field. Despite their inexperience, they need to be confident in anything they do and say while being able to back it up. Of course I say this as if I’m the leading expert in standing tall and speaking up in new positions or situations but no I’m pretty much a hypocrite.

written in career Read on →

Regular Expressions

regular expression crossword

Regular expressions are hard. There’s a lot to them that vary between different regular expression engines. They’re often considered to be an afterthought when it comes to a programmer’s tools due to the relative infrequency at which they’re used. Whenever they are actually needed, the programmer most likely only reads the minimum amount required that will fulfill the parsing problem at hand. Regular expressions are super cryptic to read and even more so when writing them in Java. While I don’t necessarily enjoy working with regular expressions, I highly respect those who are comfortable enough to take on any sort of parsing problem. This post is an attempt for me to solidify some of the basic and advanced things I’ve been picking up with regular expressions recently.

written in javascript, programming Read on →

Problems: Binary Tree Designs

sample binary tree structures based off threez nodes

So I’ve been brushing up and working with binary trees recently and I was pleasantly reminded how binary trees can flex and change while still maintaining the same data. It was fun testing self balancing trees when they would keep changing up on me. I got a little annoyed and my mind started to wander and wondered just how many different kinds of trees can a set of numbers create?

Problem: Given the amount of nodes in a set, how many different binary tree structures can be made from it?

written in java, problems Read on →

Unit Testing Random Behavior With Mock Objects

What happens when you’re trying to write some unit tests and suddenly you need to test a method with non-deterministic properties. In other words how do you test a method whose expected behavior is random behavior? The answer is with mock objects. I’ve seen a bunch of suggestions to use a mock randomizer but I haven’t seen anyone actually explain it further than that. Hopefully this will help someone out

written in guide, java, testing Read on →

Problems: Halloween Edition

halloween map of your neighborhood!

Here’s a map of your neighborhood. Pink represents the candy value higher the better, Green and black nodes represent houses, blue is the distance between houses

Problem: You’re a kid, and tonight’s the greatest night a kid could have next to Christmas. Halloween night is coming soon and you’re prepping your bags for the trick or treating. The problem is, is that your parents are tired and are only willing to walk a certain number of feet before they call it a night. Given a map detailing the amount of feet between each house and the amount of candy given per house, how do you maximize the amount of candy gained before having to return back home?

written in algorithms, problems Read on →

Framework Frustration

Let me preface this by saying that I understand why frameworks exists. They solve repeatable problems in application development in a team environment by maintaining consistent development standards with tried and tested techniques that stood the test of time against thousands of projects and developer input that’s supposed to ultimately save the developer time. That’s great, that’s all really great. But, if it takes the user longer to develop the application with the framework than without it, then you have a framework deal breaker.

written in frameworks, java, javascript, programming Read on →

Javascript, Pass by Value or Pass by Reference?

This is something you don’t have to question until you need to pass the contents of an object around or pass the same exact reference around. For me this knowledge became important during the development of Angular and Node applications where objects and primitives are passed around like a hot potato.

written in javascript, programming Read on →

Blog Inauguration

Hi, my name’s Jason and all these other programming blogs told me that I should start writing. I’ve been reading alot about how programmers that write assist in the thinking and solidifying process. It allows you to process what you’ve just learned and requires you to actually regurgitate it into words that are actually comprehensible. This process will increase understanding by exploring holes of unknown as I reason through it. This is my attempt at being a better person and hopefully a chance to help someone.

written in about me Read on →