Reflection, Collaboration, and Humility

Today is exactly one week since I started an internship at a medium-sized software company. This isn’t the first time that I’ve developed professionally; however, my prior experiences were only in academic, OSS, and freelance settings. What follows is a reflection about what made my first week successful.

Image for post
Image for post
Photo by Venveo on Unsplash

Take Notes

The thought of taking notes brings to mind lectures, meetings, and research: A first day of work is not on the list of scenarios. Yet during a first day, one is bombarded with important information via orientations, tours, and company history. It’s really a combination of all the above, but with the added caveat that it takes place in a foreign setting. As a result, it’s easy to feel bogged down from information overload, and helpful facts may not be absorbed. …

Utilizing Choice in A Digital World

Image for post
Image for post
Photo by Aliis Sinisalu on Unsplash

As a millennial growing up in the world of the #hustle, the word leisure invokes imagery of old white men at a luxurious resort cheating at golf (instead of leading the country). Between a job, a side gig, education, managing multiple social media accounts, swiping on potential love interests and Netflix-ing — where is there time for leisure?

In “Digital Minimalism”, Cal Newport (x-xviii) makes the case that modern technologies are leading people to feel that they are losing their focus, time and overall autonomy. By continuously and often unintentionally monitoring our digital worlds we lose touch with our inner ones. …

Recognizing The System, Each Other and Ourselves

Image for post
Image for post
Photo by Roman Mager on Unsplash

Tuesday evening attorney Andrew Lelling announced charges in the “largest college admission scam ever prosecuted by the Department Of Justice” [1]. Their indictment includes 33 parents that paid large sums of money to a “college prep” organization, The Key, in order to ensure their child’s acceptance into top schools such as Yale and Stanford [1]. The organization run by William Rick Singer employed various tactics such as issuing bribes to athletic coaches and cheating on standardized tests [1].

Since Lelling’s announcement there have been comments on the situation as a clear betrayal of academic merit while others have demonstrated how the issue stems much further citing the strategic use of donations [2][3]. Seemingly, the affluent displace honest people by using their wealth to purchase academic seats and lucrative career positions. …

Design Expression vs Dogma

Image for post
Image for post
“two people drawing on whiteboard” by Kaleidico on Unsplash

The Ubiquity of OOP

Object Oriented Programming (OOP) is without question an important advancement in the design and development of software. In fact languages such as C++ and later Java were developed primarily around the OOP concept of a class[1–2].

For years, Java was the most widely taught language in introductory computer science and was only recently surpassed by Python [3]. However, OOP and in particular classes are nearly always taught regardless of the language— it’s rather that the multi-paradigm approach of Python can be used to simplify introductory concepts that can be implemented procedurally.

Thus, OOP is ubiquitous and often certain techniques or features such as class are associated to the very foundations of computer science. However by making such a strong association, we may inadvertently produce a dogmatic environment. Indeed, to many programmers who start with Java, it can almost seem like class and similar constructs are inherent to programming, when in fact they are not. …

Graphical Code Needs Visual Comparison Tools

Image for post
Image for post
“Gitlab application screengrab” by Pankaj Patel on Unsplash

Graphical coding techniques such as Model-driven development (MDD) and visual programming languages (VPL) seem to come and go throughout software development communities. Even in communities that largely remain in hand-written paradigms, tools and plugins that interact with source code and/or development environments continually improve. To demonstrate this point, projects utilizing web template languages often use simple editors and a combination of tools like ESLint, postcss and Webpack that analyze, modify and generate from source code. On the other side, Matlab/Simulink have refined graphical models for developing embedded control systems software.

Altogether, it appears that as generative and automated tools evolve, source code and its creation is continually influenced by integrated processes. But what are the consequences of further innovations in such tools? Do they promise milestones in software productivity? Are there inevitable walls and glass ceilings in which these tools are destined to run up against? …

How I Learned This In One Day

Image for post
Image for post
“empty chairs in theater” by Nathan Dumlao on Unsplash


I recently started up a new college software program in order to improve my resume and set of credentials. I already have a B.Sc. and have various computer science and engineering courses under my belt. As a result, I was able to start the program in year “2.33” (out of 3), essentially allowing me to grab a few advanced courses and an opportunity to intern as a co-op student.

It’s a pretty awesome deal, and I’m happy with how things are going.

That is except for an exemption for an introductory Java course that didn’t go through due to a painfully tiny detail. …

1 Model + 1 Controller + 1 Template=Multiple Objects

This article assumes basic familiarity with JavaFX. For those that are completely new to JavaFX there are helpful introductory documents provided by Oracle.

The goal of the article is to create an fxml template with an associated controller and model that can be instantiated multiple times.

Image for post
Image for post

All of the code for the entire project is found on Github:

This past week I was forced to plow through a typical (read mundane) computer science assignment. Create a POJO “model”, and use it in a separate “view” class (aka a Scanner loop).

Let’s be honest, if you’ve been programming for 5 years (3+ with Java) and the only thing holding you back at this point is a piece of very expensive paper to prove it, this task doesn’t exactly excite you. …

CS Weekly 8 — RUN_ON Part 3

Image for post
Image for post

This is Part 3 of a mini-series that discusses several topics in creating a full-stack web application called RUN__ON.

This mini-series is apart of an effort called CS Weekly, a manifesto towards committing oneself to weekly programmatic explorations in an article found here:

Server Application Architecture

As with most languages, defining a simple entry-point into a program is useful. In Java, one has a class with the function main() and often has an application entry file dedicated to simply calling this main function. …

CS Weekly 7 — RUN_ON Part 2

Image for post
Image for post

This is Part 2 of a mini-series that discusses several topics in creating a full-stack web application called RUN__ON.

This mini-series is apart of an effort called CS Weekly, a manifesto towards committing oneself to weekly programmatic explorations in an article found here:

Working With Databases Locally and Remotely

I’m not going to lie, this topic is a bit challenging to approach in an elegant manner. …

The Importance of Simplifying Games to be ‘Play’able

Image for post
Image for post
Photo by Taylor Harding on Unsplash

One of the fascinating things in the modern age of gaming is how sophisticated all of the game data is becoming. Online play, massive worlds, leader boards, statistics, achievements, objectives, levels, quests and more.

Without a doubt, data-centric models and internet connectivity enrich the gaming experience through many realms. There are greater possibilities, more thorough/fine-tuned experiences and greater competition.

Yet, there is a shadow of obsessiveness that accompanies such models.

Have you ever felt that after a certain point during a run of Skyrim, Fallout or similar quest-based games, the experience was ruined by an underlying urge to do everything in a precise, systematic manner? …


Gregory ‘Grey’ Barkans

I’m a software engineer between Hamont ← → ATX that’s mainly interested in technology and philosophy. I used to spin DJ mixes as well.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store