Software Development Blog

Playing around with Hugo

I have been working on a hugo starter repository to share with people, I really like the layout and the cli is really clean. It seems like a good alternative to Jekyll.

Read More

Typescript and Vue Router relative pathing issue

Currently the set up with the Vue template for a Typescript has a relative pathing issue. This is a problem generated when initialize a project in vue ui or in vue create <project-name>. The fix is relatively easy at first glance, i.e. just don’t do the node namespace thing, this messes with Typescript, a known issue from my experience at Expedia. If there’s a fix for this (probably simple and requires some googling) I’d probably spend more time looking into it than it saves.

Read More

React and Jekyll (0)

Been wanting to do this for a while, add some material UI components and strip away the boring look that my current blog has. Finally got the motivation to start doing this now.

Read More

Reflections on my self education

I’ve been ragging on myself about not knowing the same things that people from college background know, but as I’ve finally sunk my teeth into dyanimic programming. I realized I have been doing dynamic programming for years, and in fact am the person who has used it effectively in a work setting. Not bragging, but I am learning that I am much more capable than I thought myself to be.

Read More

Coder Pro, confusing, not worth the price tag

This is more of a first impressions for the learning platform created by two youtubers that I found their advice worthwhile. I thought I’d take a gander on the data structures and algorithm platform that the tech lead and joma tech designed.

Read More

Clang-ing it

This seems like it could be a no brainer for some people but I was puzzled on this today for a few hours, hence I’m going to be talking about it. Clang.

Read More

Late September and Beyond

Time to get serious, day 3 of my micro SD card being unabe to write. Trying to configure a replacement and back up my data.

Read More

Late September and Beyond

Yesterday I learned how to reformat an SD card via command line. This was out of necessity and the terminal commands are a little scary. I’ll not be doing this again anytime soon, but it’s worth talking about as I had to use guides to infer how to actually do it.

Read More

Late September and Beyond

Recently my mind hasn’t been focused on coding as there was a few other complicated life situations that came up. My momentum has been entirely halted. I’m thinking of projects I can take up so that I can start building up a semblance of momentum. I’m pushing back my plans to go back to graduate school a quarter at least as I’ve lost a lot of time due to my life situations.

Read More

Restoration and getting Sassy

Today I focused on restoring the previous content of my old blogs. They were squarespace blog posts and I downloaded the blog files that Squarespace provides… it’s an xml file that is a list of html files… if I wasn’t a developer it would be extremely confusing and makes you feel like you don’t own your content. I don’t understand the decision they took, but it’s clear it’s a measure to prevent people from leaving the platform.

Read More

Messing with Jekyll pt. 2

My gosh this was a more nebulous process than I could ever have imagined… the transition to Github 3.0 has left a heaping mess. There is little documentation on the github pages, it essentially assumes that you’ll use base template and make minimal changes… which is great, but the jump to get a custom page working is a little bit more esoteric. Most examples have something that complains in the Jekyll building process, suggestions that are esoteric.

Gotchas

  1. The relative pathing for a doesn’t work you need to have the full url. The relative paths break on sub-pages of the static site.
  2. The structure of the application will break the page if you do not have the correct folders and the content, this is really opaque, and can only be debugged locally, which defeats the simplified format of the page…
Read More

Messing with Jekyll pt. 1

My ambitions for a blog has been killing me and is unrealistic. I stopped using my squarespace blog and bought a domain so that I can start developing my own blog and host it. I was planning on using Ghost… and playing around with Gatsby, however due to the amount of crazy my life has right now I decided that it would be better to tinker and get a static site with Jekyll up an running.

Read More

Picking it back up

After spending some time snooping around for a place (finally got a new apartment), now it’s time back to get coding. This blog is taking some time to build which is fine, I’m learning new tools, doing algorithm practice, and just getting resituated with life. We are excited about our next move and I hope it lasts more than a year.

Read More

Git Remotes and the Beauty of Forking

This post requires some prerequisite knowledge in the basics of git. I’ll do my best to explain terms as I go, but I’ll look to developing another post that will give an overview and sources to get people up to speed. TBH there is not easy way to learn the basics of git without pragmatic practice. I will try to make this blog post systematic as possible to facilitate the learning of both myself and others.

Read More

Introductions (reboot blog)

Hello I am Leonardo Lee, I am currently a developer at Expedia Group. I work in the Partner Services division of Expedia providing tools for partners to manage their properties.

Read More

Adding Stylesheets Dynamically to the DOM

This is a simple trick, but most likely if you require dynamic css, then probably you should look into alternative approaches like inline css or accounting for the css by using classes that are dynamically added.

Read More

Minimum Viable Server

In Node, the easiest way to generate a server is:

    var http = require('http');
    http.on('', function(){ });
Read More

Start Again

I am currently hired full time with Expedia. This obviously takes up most of my time, as I need to master Javascript, know how to work with Java (even work in it in the future) and learn how to use the automation and build tools that we currently use.

Read More

Building Cocoa Touch Dynamic Frameworks in iOS8

Note: This is for Swift 1.0

One of the features that seemed to be less emphasized due to the impact of swift is the addition of Dynamic Frameworks to iOS 8. They pretty implemented the features that it seems OSX has so its old hat news in terms of a feature to Cocoa, but the support for it on iOS has a few nuances.

Read More

Delegation 2.0 (revised)

Note: This is for Swift 1.0. Not sure if this still works in Swift today.

To supplement my previous post on Delegation (it seems to be a topic that is troublesome especially to those newer to CS). This is primarily to be cleaner and also provide extra notes.

Protocol

    protocol DelegatorProtocol {
        func requiredMedthod()
        optional func anotherMethod()
    }

    class TheDelegator {
        var delegate : DelegatorProtocol?
        func useRequiredMethod() {
            self.delegate?.requiredMethod()
        }
    }

    class TheDelegate : DelegatorProtocol {
        func requiredFunction() {
            //Required to implement the function.
        }
    }
Read More

mvc

As I have been tutoring and helping out with questions. I have noticed that there’s a disconnect between Object Oriented programming and how to apply MVC to it. Here’s a small blurb on MVC and I’ll try to find the links to resources that have helped me out with understanding how MVC works.

Read More

The magic of git and github

Today I learned a valuable lesson. Always use version control at the earliest convenience. This does not mean that at every hour push a commit to github, but rather when you are finished with a large segment of code, don’t forget to commit and push. Commits within a group setting where the code is more fast paced obviously means that commits are faster, but for personal projects, a commit one every few hours and when a feature has been flesh. I am experiencing the sinking feeling of losing 4 hours worth of work because I didn’t push to a version control system. This is because my trusty 4 year old computer has been breathing its last breaths. I am on a new one at this moment and loving every moment of it.

Read More

Target Action Blurb

Hello visitors, I’d like to know what I can do to make my posts better! I’m still trying to fix on a style and format.

Target-Action

I’ve decided to postpone a blub on Closures and Blocks until after next week, as a post on network calls and asynchronous processes would be better developed with some more meat alongside a better understanding of concurrency. I hope to do a little blurb on Go and Objective-C for that post as well. Instead I am going to do a blurb on Target-Action, which I have enjoyed using over Delegation.

For a pragmatic example of how Target-Action is used, they are easy to use for local use in NSNotification center. Target-Actions work because of selectors Selectors as an argument is essentially a string, with the method name with an optional semicolon at the end of it (this semicolon is used only if the method takes a parameter). They are coupled with NSNotification center because they allow methods to be executed from various responders (because NSNotification center is one-to-many way of passing information and data). Here’s an example of a taget-action funtion.

    object.targetActionCall(sender: self, selector: "actionMethod:") func actionMethod(sender: AnyObject!) {
        //This is code!
    }
Read More

Auto layout tips

My classmates have been having some problems with Autolayout, so I decided to write an article that will help them (and any other who’d stumble upon this blog).

The way I like seeing how to use Autolayout is best described as using simple logical principles to build up a layout. Thus here’s a few modal principles that I believe will help anyone grasp autolayout.

Read More

Introductions and Delegates

Introductions

Hello World, I am Leonardo Lee. I am a current student at Code Fellows in the iOS Developer Accelerator. To start I’d like to tell you a bit about myself. I graduated last year from the University of Washington Seattle campus with a BA both Philosophy and Comparative Religion. My studies gravitated around both Metaphysics (especially the Mind) of the West and the East. In my studies I learned about things such as modal logic and Turing machines. Both my majors were interesting fields to study, but it was lacking in the jobs and becoming an academic is nearly impossible (and without job security). I initially went with a internship that closely followed with my major, within the internship I capitalized on my experience with digital sound equipment and media from both University and High School. Unfortunately my internship was cut short and from there I decided to pursue programming, a goal that I thought became more feasible with some of the things I learned at my time in the internship. My only experience prior to last year was a bit of BASIC, SuperCollider, and CSE142. It was during my internship that I was hurtled into learning Javascript to gear up in experimenting with a Node environment hosted on AWS. This was challenging and I was over my head, but I learned that it isn’t as difficult as CSE142 makes it sound. After learning from free resources I eventually stumbled upon programming bootcamps, from there I learned about Code Fellows, and from there it has taken me into the programming camp where I am typing about this today.

Read More