Day 24: What’s up DOC!


I have taken the past couple of days to brush up my knowledge of html and to familiarize myself with its newest features. In the advent of the web, Hypertext Markup Language, more commonly known as html, was the language used to create web pages. Since then, the web has become vastly more sophisticated, with the creation of CSS and Javascript, among other technologies. As the web has become more advanced, so has html as a markup language.

The most recent iteration of html, html5, has build upon the foundation of its predecessors with both the developers and users in mind. Prior to html5, developers were forced to use the div element very generously. Now, developers can use html elements such as header, article, section, and footer to markup their web content. Not only are these new elements helpful for teams of developers to create and keep html documents organized, but this also helps users who access web pages via accessibility devices. The html5 document declaration is also valid for XHTML.

html5 also includes updated element attributes, embedded video, and animations. Forms, in html5, can now input email, date, telephone number, and time types. All of these attributes can help search engines when they index html pages to assist the users in finding more relevant information to their query. Previously, developers would have to employ a service like Adobe Flash to embed a video into a webpage. With html5 video, Flash and other services are now optional for embedded video for now. Canvas, an html5 feature that requires Javascript, can be used to create vector images in a web application.

Both the web and html have come along way, since their creation. Hypertext markup language 5 can now be combined with CSS to create responsive web pages. The most advanced features of html5 require the use of Javascript, such as Canvas and the  Geolocation API. This is only really scratching the surface of html5 (I will cover more advanced features of html5 in a later blog post).

Not all browsers have transitioned to completely support html5. A browser that does not support it may not recognize html5 elements and the content is ignored. To address this issue, html5 shiv was created. Shiv creates  in Javascript, so that the browser can natively recognize and style. Thanks to Josh Hibbert, I have this awesome Sublime Text 3 html5 shiv snippet.

Until next time!


Day 19: Phase 1 Concluded

I am very pleased to say that I have concluded the first phase of my studies.The entire purpose of this study period is to level up my skills as an Engineer and I can honestly say I feel I have succeeded.I feel my stronger in my ability to use Sublime Text 3, git, and Zsh. Throughout this phase, I also published two Node.js projects that use the Twitter API to Github that I’m very proud of. The entire purpose of this study period is to level up my skills as an Engineer and I can honestly say I feel I have succeeded.

I have added many valuable tools to my belt in this short period of time. I am more efficient as an Engineer because of Sublime’s speed, the availability of snippets, and the ability to create snippets. In git, I have learned to explicitly create branches in locations other than the currently checked out branch, which is useful for thinking ahead on projects. Adding to my Z shell scripting skill has given me the ability to be more self reliant, I can now setup MEAN stack web servers without having to wait for one of my colleagues from ops to spin one up. Undoubtably, my skills have become more valuable over phase 1.

The primary objective of Phase 2 will be to further hone my Front End Development skills. These next few weeks will include studies in html5, CSS3, and Javascript(ES5). Let’s get it!


Total Study Time Day 0-19: 159 Hours.

Day 6: Sublime Text 3 Level Up

I have been a casual Sublime Text user for some time now (around 4 years). I primarily used it to write code in languages I was tinkering around with. My first exposure to writing code was in around 2005, when I was freestyling with HTML/CSS to customize my public MySpace profile. Then, I could never imagine how powerful a tool like Sublime Text 3 could be. Over the course of this week, I was exposed to many of the built in functions of the editor and how to extend it using add on packages and custom snippets.

I use the default theme in my Sublime Text 3 configuration in conjunction the Solarized Dark color scheme. According to many, the Solarized color pallet is less strenuous on the eyes. Also, I prefer to work in dim light, so Solarized Dark is my color scheme of choice.

My favorite package, thus far, is Emmet. When I was first exposed to HTML\CSS, I could never imagine using a tool like Emmet for code generation. Emmet takes abbreviations of HTML in what is essentially an equation and expands it to complete nested code. It uses symbols to differentiate between elements that are either parent|child relationship vs siblings. Additionally, symbols can be used to add id’s or classes to elements. Still, I am fascinated by how much more efficient this package makes the process of writing markup.

There are also many useful built-in keyboard functions. For myself, I think it’s a tie for most useful keyboard shortcuts, split screen view and multiple cursor editing. Split screen view is powerful for comparing and referencing code for homogeneity and debugging. Multiple cursor editing is such a time saver. The list goes on and on for Sublime’s built-in functions, but those definitely stand out to me and will be ones that I will use heavily.

As software developers, we take pride in not having to repeat ourselves by writing modular code. With custom snippets, our code has the opportunity to become even modular by creating templates for code that we use frequently and allowing us to plug in the syntax that does change. This is definitely a useful feature for any developer. I, myself, will be inspecting my code weekly to examine any trends and create snippets for code I recreate.


Total Study Time Day 0-6: 35 Hours.

Day 1: A Craftsman’s Toolbox

Screen Shot 2018-01-03 at 1.19.46 AM

No matter what the task is at hand or challenge to be faced, awareness and familiarity of one’s tools enables each craftsman to be as effective as possible. In my desired craft of Software Development, Text Editors are tools with much potential. Many debates have been sparked over which Text Editor is the best. However, there is no debate that an engineer with thorough knowledge of their Text Editor of choice is more efficient, than an engineer who is not.

The Text Editor that I chose to embark on this journey of Software Development mastery with is Sublime Text 3. Because of when I bought my license for Sublime Text 2, it could be applied to Sublime Text 3 at no extra cost. Sublime is rich in community support, packages, customizable snippets, and speed, all of which, position a Developer to approach each project on good footing. For myself, choosing Sublime Text was a no brainer.

To begin learning advanced workflow techniques in Sublime, I watched a course by Jeffrey Way. Mr. Way’s explanations of Sublime and the components that empower the Developers who use it are both rigorous and concise. He covers native features that ship with Sublime, downloadable packages, instructions on how to extend sublime, and much more. Although the course covers Sublime Text 2, much of the course translates to Sublime Text 3 and still offers the viewers much value.

Continuing to acclimate myself to Sublime Text 3, I have decided to purchase and read Mastering Sublime Text by Dan Peleg. More on this, later this week.


Day 0: The First Day Of The Rest Of My Life


My name is Henessy Ceballos. Today is January 1st, of the year 2018. My goal is to obtain the position of Junior Full Stack Developer by May 15th, of the year 2018, in a rapidly growing company.

I have some practice coding in a couple of languages and I have built various projects, so my goal is to hit the ground running. I will cover fundamentals, but I will power though subjects/topics that I have a strong foundation in. My main study resources will be courses on Udemy, books I have compiled since my interest in the web began, and free tutorials. By the end of the 4 month period, I hope to have deployed apps based on the MEAN Stack, Angular2, React.js, and Meteor. I will also be going over technologies such as git, mocha, Heroku, AWS, and Sublime Text 3.

I will keep a record of my triumphs and my defeats in this blog. This blog will also serve as a log for the amount of time I spend studying/focused on learning each week. My goal is to commit roughly 40 hours a week(~6hrs/day) to my studies, while maintaining my various commitments.

Here is to realizing dreams and the pursuit of happiness. Cheers.