• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Remember Lenny

Writing online

  • Portfolio
  • Email
  • Twitter
  • LinkedIn
  • Github
You are here: Home / Archives for 2013

Archives for 2013

On 2013

December 31, 2013 by rememberlenny

Between ending the year with well wishes to friends and family, I reflect.

*-2013

This is the beginning of a yearly tradition. At 24, I took many steps this year. Since living in China last year and actively painting the streets of Shanghai, I have settled down in New York City. Looking over the year is necessary for reflect on the progress made so far. I didn’t do this for 2012, but there are so many people I am deeply appreciative to. Mainly the BMC artists, Franck’s bistro staff, StageBack Gallery, KenasHome, Wealthy Sources, Flying Turtle Coffee, iTalki team, Techyizu volunteers, XinCheJian members, Converse co-workers, the diaspora of SGI members, and Ariel. The roughness of getting settled and the surreality of being in China made it one of the best memories of my life. I will never forget skateboarding around town while holding the backs of electric scooters.

After having returned to the US in December, I arrived at my parents home with horrible jet-lag, dwindling savings, and the single goal of finishing college. After returning home for two weeks, I purchased a bike, thinking I would stay in Southern California, but soon decided to make my next move. I preface the year with a brief tour of my friends in the US. Simultaneously, I decided to lay the groundwork for finding a job by identifying my value in the job market.

January

I started January with a road-trip from Orange County, California to Ryan’s house in New Mexico. We drove through Sedona Arizona, where we took a pit stop and hiked around. I clearly remember trying to pet a cute dog that ran by, and being bit. The jeans I wore still have the teeth marks in the left leg.

After a few days on Ryan’s couch, I flew from El Paso, Texas to Oakland, California. I crashed at Caitlin and Kyle’s apartment near Clement street in San Francisco. I attended the MediaX conference at Stanford, where I saw a number of speakers, one being Larry Lessig. The ideas on learning analytics, crowd-powered systems, and social media analysis reinforced my perspective on the academic paper I would later present in February. I was fortunate to spend time with Whitney, Raimi, and Juju. Later that week, I was scheduled to fly to Detroit, but I decided to cancel that leg to attend the SLC education hackathon in Palo Alto. At the SLC, I met Joshua and Gary, whom I would later discuss developing “Lesson Overflow”. My time in San Francisco ended with meeting old friends from preschool.

From San Francisco, I flew to New York city, where I would later be moving. Unbeknownst to me, I was familiarizing myself with the community I would be living in a year later. I stayed with Jihii and Carley for a few days and interviewed a principle of a local KIPP school. After spending time at cafes and progressing on my review of Soka Education, I took a bus to Boston and visited Elaine. The Boston trip was brief, but productive in that I met with Eric for dinner.

In leaving Boston on the bus, I coincidentally sat next to an SGI member I had met years earlier. From Boston, I went DC to visit more friends and see Obama’s inauguration. In DC, I vetted my understanding of the growing MOOC popularity and prepared for my return back to California. After spending a few days with Heidi and Corey, I received a last minute acceptance to a educational tech venture capital conference in New York. I changed my travel plans to head home to California and returned back to New York again.

After the conference, I made my way back to California. Believing I would be staying in California, I sought out a job opportunity with GOOD magazine and attended a hackathon at Google. I led a group project on Glassrooms, which won our team a number of prizes. Although I didn’t qualify for the job, I met a number of friends, whom I would later meet again in New York. A few months later, I would reach out to these friends and teach a class with Ada and Ryan.

In returning to California, I believed I would live at my parents home while going to community colleges to finish my last semester of Chinese requirements. Instead, upon the week school was set to start, I realized I had enrolled in classes beneath my grade level and needed to make an executive decision: Would I wait one more semester before finishing my class or would I do what was necessary to finalize my credits. I decided that Monday, I would move to New York and proceed with the college I had previously decided was too expensive. I bought my ticket to New York for the next day and packed what I needed into a small backpack. I found a place to sleep on AirBNB, where I eventually stayed for over a month.

I absolutely wouldn’t have been able to make the move without the help of my mother. In the beginning of January, I believed I was staying in Orange County, so I expended my savings through traveling. After deciding to move to New York, I had much less money than I would need to find an apartment. My mother leant me approximately four thousand dollars of her personal savings so I could enroll in school. As a result of her financial support, everything that followed was made possible.

February

February was the first full month I was in New York. The apartment I found on AirBNB was in Brooklyn and my school was in Queens. Initially, I didn’t realized how difficult it was to get between the two, but later I would realize it is one of the worst commutes in the city. From the day I arrived, I bussed to Queens college everyday to sort out my class registration and student enrollment. Coincidentally and fortunately, I was able to enroll in classes that took place only on the weekends. As a result, I would have the whole week open to working a regular job.

I got settled with work as soon as possible. I started looking for full-time jobs through recruiters and quickly found myself contract over Craigslist. Ironically, I worked with the city of Anaheim and Oceanside, which were both from the county I had left in California. I also started contracts in the local area with Metamorphis Day Spa.

I flex back and forth to California a few times during February. For one, I spoke at the Soka Education Conference. The process for writing a paper was excruciating and significantly delayed. Having been able to present will be one of my golden memories. In the midst of getting settled in New York and having returned back to the US, I was able to synthesize a presentation on educational technologies and distributed classrooms.

Once returning back to NY, the second recruiter I spoke with was promising. Aquent’s staff was incredibly helpful and supportive of my job search. I had a strict condition of 50$ an hour and full-time work, which the previous recruiter did not think was possible. Brad found me a great position with Acquinity Interactive. For the period while I was in school, Acquinity was exactly what I needed, but the company was very odd from the beginning.

March

February was a rush of settling at school and work. By March, I realized my classes were above my level. The topics of class were for Chinese national Chinese majors in the United States. I was the only caucasian english speaker. I knew I wouldn’t pass unless I had some help. Taking Jihii’s recommendation, I found a tutor. The classes I took were almost completely full of native Chinese speakers. I checked craigslist and asked classmates until for a Chinese tutor, until I decided on Fei. He was a mid-40’s Chinese project manger who lived in Queens. I ended up seeing Fei every other night for nearly three months. We met at Starbucks or Pret after we both got out of work. The routine was work-tutor on Monday through Friday and school-school on the weekends.

In March, Aquent asked me to teach a class on web development. They offered to pay be $250, so I decided to do the class alongside some other people. I asked Ada and Ryan to join me. The session had approximately 20 students. I prepared a Mindnode graphic that we used for referential material. Ada talked about UX, Ryan talked about his experience, and I gave a broad overview.

I kept in touch with LessonOverflow folks. I moved into Flo’s old apartment. Heidi and Jean came to visit in New York. It was the beginning of my friendship with Marc.

April

By April, I was restless with routine. I felt work was pretty straight forward and school was on track. I began researching Meetups and organizations I could join. My search resulted in the CodeForAmerica civic movement. I met Chris at a data visualization meetup and later started working on what was his idea: govSee. govSee was my first exposure to open projects that leverage public data to increase transparency of government.

I started solving harder problems at work, but I was also meeting people from Govlab. I connected with Joel and Nathan at the Experiment, the NYU hackathon. The event which was made possible through Chris’s introduction gave me a foot in the door with various civic heads. I met with Claudia and Cosmo, as well as other regulars at civic tech events.

In April I also met Wayne in a bar and started discussions about Pace.

May

The final stretch for classes emerged. In the same month, Marc and I found a new apartment and moved into our current place. I started connecting with Nate and began my Soka Group activities.

I continued participating with the civic tech folk in the facebook hackathon. Aiden, Christopher and Aaron. Good people. Around this time, I also shared my first taxi with a stranger and made a good friend.

Finishing school was my priority. During this time, I became closer with Queens classmates, but largely focused on getting what I needed to get done. Between moving, work and school, I was relieved to have finally settled.

I attended many meetups at Pivotal. I met folks like Mark and started to pursue interest in Ruby. Until then, I declared myself a front-end specialist with ability in PHP. From that point, I started to become much more engaged in becoming well rounded in multiple languages.

June

School was finished and began personal pursuits. I enrolled in the ITP camp and experimented with hardware hacking. I got hooked up with Arduino’s, Raspberry pis, 3d printing, multicopters, projection mapping, and other physical multimedia projects. I met Amy as well as decided to attend Games for Change. I taught a class on Git while there.

My contract at Acquinity expired and I decided on going to Ecuador and Peru with Ryan, Jenn, Leia to meet Miles and Devan. Within the SGI, we had the “family fun festival” as well as finished the academy battle. By the end of June, I was starting back in to the rhythm I would finish off the year.

I started working with AdsYolo. AdsYolo felt like an off spent contract for the company. The contract was exemplary of lack of communication and structure. The “blue skies” project that was their website resulted in what I assume to be a dissatisfied outcome for the C-level folk. Looking back now, the only work that stood was the logo I made. Good show.

I also officially incorporated A Triangle Corporation as a Delaware based entity. This was paper work filed, but also a big step in regards to official operations.

July

I flew to Ecuador and spent two weeks in utter amazement. I started the trip with feeling kidnapped. I was invited to paint a mural that got on national news. We went on volcano hikes, pouring rain walks, and random strolls through Quito. We eventually rented a car and drove through the Andes mountains to Peru. Between the border, mechanical issues, driving all day, and occasional pitstops, we finally made it into Peru. Meeting Miles and Devan in Peru was the icing on the cake. Guiayusa, roof top “alarm systems”, the scratched up car paint…

While in Ecuador, I also put together the NYU govlab prototype. Attended some distance lunch-ins. Upon getting back, I continued to freelance and closed up work with AdsYolo. I moved onto the clients with Imagio and Bullett. I busy on a weekly basis. I didn’t have one week that I wasn’t booked for my full week rate, but I began to feel the sense of insecurity.

I had scheduled a trip to Germany with Ariel, but I decided to cancel it. I was asked to attend the North American Study Conference in August and decided to attend instead. I forfeited a number of plane tickets. When Mike asked me about attending, I knew the dates overlapped, but I decided to attend.

August

I decided to find full-time employment. Between the contracts with Julian, I felt the lack of control that came with finding contracts. You are at the will of other people’s payment schedule. Unless you instill strong requirements and structure, it is easy to get taken advantage of. I can proudly say that I never had an issue.

I attended the North American Study Conference in Santa Monica. My birthday was celebrated on the first day at the conference. I clearly remember doing gongyo on the main stage. I felt this was my greatest pride. I saw my parents briefly that Sunday and a number of SUA alumni.

Steven, Marc, and Brian, received their gohonzons. Marc’s life has been a total inspiration to me. Eventually, he would help Sharon start her own practice.

By August, I was working with Bullett. The relationship with Ryan from GOOD came full circle. He connected me to Busra and everything else is good news. Bullett contracted me to redo their store and eventually their agency site. The project was a pleasure to work with Jack, Ben, Idil, Ayhan, and everyone else. Bullett taught me the importance of customer service above all. Its SO important to clear up any mistakes.

By mid month, I was offered two jobs. One with the UN consulting firm CSF, through Adriana and the Conde Nast job I decided to take. I had strict salary expectations and resulted in being extremely satisfied with the receiving result. Having taken on contracts with Bullett, I decided to accept the job, but begin in September.

I also met my Cousin, Louis, for the first time.

September

I finished up with Bullett and I went to Germany on a whim to attend JSConf and CSSConf EU. Im indebted to the free ticket I received from I met brilliant people whom I feel fortunate to know. It is my honor to be able to see the development of the bleeding edge industry of web technologies.

I also started a contract with the Long Island cable company, CableVision. The contract later fizzled out. The job was an example of too few hours devoted to great of a project. This was the first project that I was assigned but couldn’t fulfill to the desired outcome of a client. The communication was horrible and the final product wasn’t anywhere needed. The outcome was the result of too much paper work and a looming deadline. The outcome put the Cablevision people in a bad position. In best wishes, I was able to find another developer, who I believe to have accepted the project.

I made a quick stop in San Francisco. I saw Raimi, Whitney, and Juju. I also had dinner with Kenzo. This was the first time I decided to stay in AirBNB places instead of with friends. I attended Twiliocon, which was great, but not my personal interest. I decided my time was better spent visiting with friends. Coincidentally, I ran into a Twilio employee who was the person who interviewed me at a Voxy. That didn’t work out, but for the better.

In the last week, I started my first job at Conde Nast.

October

The job was exactly what I wanted. The company is amazing, the people working their are brilliant, and the corporation is well recognized. I feel incredibly proud to have the opportunity to grow and develop here. While I am contacted by a number of recruiters, it is my pride to be confident that I have no desire to go anywhere else. I expect to be at Conde for a number of years. I hope to develop alongside my coworkers and see difficult problems to solve.

October was my first full month of employment. I started deepening my understanding of the Conde Nast brand operations. I also began tightening my belt to understand what my role would be. I found the problems to be difficult, but not overwhelming. I found the challenges to be new, but not out of reach. I found my coworkers to be pleasant, but serious. This job is my fortune.

I spent Saturdays at an NYU continuation class. The topic was Advanced Javascript by Aiden.

November

The campaign for 3000 youth ended its first part with a huge victory. I met a number of new people through doing shakabuku. I felt pride to support the Harlem Heights region activities.

Marc and I attended FNCC together. Having gone through the challenges up to that point, this didn’t feel monumental. Looking back now, this was a golden memory. Immediately after November 8th, the challenge was to reconnect with SGI members. After the excitement, it was important to reflect on the victories and “turn the ship”.

In the end of the month, I visited my parents. I spent my mothers birthday with her this year. The ability to spend time with my parents is something that I continue to enjoy.

December

The month was a series of deadlines at work. The challenges seem small compared to the overwhelming number of challenges in other parts of my life. I look forward to the challenges to come.

I reconnected with the Citymission people from the Govlab events. I decided to finish the project under a kickstart copy.

My father came to visit in New York. We spent time together and then went to visit my grand mother in North Carolina. The trip was the first time I saw GJ in years. The time I spent there was largely oriented around working, but she was incredibly happy to have my father and I visit.

With the year coming to an end, I feel absolutely victorious. This next year will be start of many projects, books, and endeavors.

Filed Under: year in review Tagged With: 2013

Using the internet to increase business referrals

October 8, 2013 by rememberlenny

Internet for lead generation

There’s a number of ways you can increase business through the Internet. One effective approach is to target certain websites or services as platforms for advertising. Another method is to compete for search engine keywords by generating keyword rich content on your website. Lastly, you post your company on the variety of directory websites that display professional services. Each option has it’s own benefits and can/should be used in tandem with one another.

Each method has its’ own cost/benefit and area of efficacy. Depending on your strategy, you will invest time or money. In areas that cost money, you will look for the lowest cost for acquiring a customer. Of you spend time, you will want to maximize the benefit of what you do.

Online advertising

For advertising, you typically pay for a number of impressions. The goal of any advertising campaign is to find a high number of relevant viewers. In the case of online advertising, relevancy means geographic location and customer need. Your advertising provider will sell you inventory based on keywords on pages. For example, google will sell you advertisements on google products when your selected advertisement display criteria are displayed on a page.

Of course, because there is limited inventory for advertisements, the higher demand advertisements cost higher. High demand keywords are more expensive than unusual keywords. Think of it as displaying a billboard on a busy street, verses a rural driveway.

The Internet is different in that high demand keywords are not always most favorable for you. You may think “Los Angeles psychiatry” is the best keyword for you. It contains both geographic and topic relevance. The obvious match makes it a high demand keyword set and consequently expensive target.

Selecting keywords

For cost-effective advertising, you need to think like your customer. If advertising on a search engine, rather than selecting the obvious keyword match, target something your customer would type. This can be a question, sentence or fragmented thought. By targeted more words, your ad will come up less and consequently cost less. Similarly, your audience will be specific enough that they are typing exactly what you are targeting. Some example targets may be “I’m feeling depressed about (enter a topic)”, “who do I talk to about my middle school (choose a incident)”, or “sad related personal support”. The goal is to indirectly target your audience through insight that you can infer.

You must be wondering where to purchase these advertisements or where the advertisement lead. In general, google’s Adwords program is a safe place to experiment. Just google Adwords and it will link you to the process. Adwords let you target audiences through setting keywords and determining what regional areas will display your advertisements. The regions are targeted by IP addresses and are generally correct.

Targeting online destinations

Another route is to look at specific websites you believe your target demographic uses. This could be a forum, web application, log, or news source. Platforms like these will have a specific area on their site to advertise. From there, you often pay to have your banner or link displayed for a set period of time. Again, like the keywords, it’s best to target places that are indirectly related to your audience. The advertisements you purchase will run for a week/month/etc. the advertisement host should have some details regarding the potential audience’s demographic.

Back to the other part of the question, where do these advertisements lead to? Rather than squeezing all your contact information and a catch phrase into a small space, you will display advertisements with some “hook” and a link to a webpage you set. Often this page should be a landing page in your website. This lets you display a specific message to the advertisement leadvertisements, as well as offer access to other resources that may convince them to contact you.

Landing pages

Landing pages are very typical. They contain: a short sentence selling the customer, a short contact form, a few details about your services, a set of testimonials, and another contact form. These pages have been heavily tested for efficacy, so there’s no need for creating a new method.

Analytics

When running any campaign, it’s also good practice to measure the traffic on your site. This is the field of web analytics. There are numerous free products that allow you to gain rich insight into your
your websites visitors.

Search engine optimization

In addition to advertising, you can focus on generating search engine traffic. This is a natural process that can generate massive traffic. The method is similar to keyword targeted advertisements. The difference is that you generate content on your website that will trigger search engines to display your website for targeted keywords.

Content generation

Specifically, this requires you to be doing some kind of writing that is posted on your website. The writing can be in the form of blog posts that review topics your audience may be searching about. The key is to write in a way that makes search engines easily associate your content to your desired keyword. To do this, you focus on writing semantic articles that have marked up headings with you keywords. In addition, the article piece Gould naturally repeat the target keyword multiple time. This may seem like an impediment to the wrong process, but it is relatively normal on most Internet writing.

Rich data attributes

In addition to generating content, you can configure your existing site to leverage any rich attributes that search engines may look for in a webpage. Rich attributes are marked up pieces of information that may be displayed in a search result. Examples are author names, addresses, business hours, site maps, and other information. Some search engines, also reward users for being loyal to their services. For instance, displaying a Google+ account on your website’s pages will increase your search ranking.

The goal for optimizing search engine visibility is to help make a robot understand the content of your webpage. The search engines goal is to display the most appropriate search results for any keywords. One major part is the existence of relevant content. The next important part is inbound links from other websites. In particular, the links need to come from resources that are associated to your websites topic. By having inbound links from relevant sources, search engines can effectively perceive your website’s topic.

Listing in professional directories

Lastly, you can also list yourself on a variety of professional services directory websites. This includes, but is no where limited to, websites like Yelp.com, YellowPages, Craigslist or whatever other sites come up when you do general searches for professionals in your field. The key on these sites are to have your existing customers write positive feedback. The Internet is designed to reward people with higher ratings, rarer than give fresh people an opportunity for exposure. In other words, there are many people on directory websites or service listing websites that get very little attention. Rather a small group of people get a majority of the traffic through the juxtaposition of being positively rated. Having 3-6 ratings can make all the difference.

The sites that are most effective for you to list will often require you to register and submit company descriptions. To expedite your registration process, identify what is commonly required (business name, description, services offered, hours of operation, location, etc) and have them in a document to copy and paste. This will let you expedite the registration process. Keep in mind, many of these I recorded are under operation from very few individuals, so you will need to resolve issues yourself.

There are endless more means for utilizing modern media to drive business traffic. The three points I mentioned are the most general. I hope that helps and let me know if you have any more questions!!

Filed Under: marketing

On Meeting Strangers

June 16, 2013 by rememberlenny

On meeting strangers

You should be meeting more strangers. Strangers are scary, smelly, often have lopsided feet, and more than anything, have a lot to offer you. Whether you are sitting on a bus, picking up your mail, getting a cup of coffee, or sitting in your house watching TV while secretly watching what you neighbors do, the strangers in your life have a lot to offer you.])

Talk to everyone and anyone.

I mean everyone. You would be very surprised how much the people you casually talk to can offer you exactly what you need. Once you talk to your first stranger, you will be on your way to learning more about the world. Through talking to strangers, you can learn about different careers, life struggles, current events, and occasionally a new cookie recipe. When your standing in line for groceries, getting a cup of your favorite drink, or sitting alone quietly. You can simply start a conversation with “hello, my name is _____” (please don’t actually say ‘underscore-underscore-underscore-underscore". Fill in your name instead). Another effective method is joining conversations that have nothing to do with you. While you feel like this is totally unacceptable and disrespectful (it mostly is), occasionally its a great way to get past all the awkward conversation and get straight to the point (“I love chocolate chip bacon covered whiskey dipped cookies too!”) From there you can take the conversation anywhere.

Break all the ice.

Global warm that shit. Start by being as intrusive as possible, so as to learn about the persons personal life. The sooner you can break the ice, the sooner you can have a new friend. Don’t worry that you don’t know anything about this person. Did you hear a word that sounds vaguely interesting? Does the person have really well hemmed pants? Maybe you want to know whats in the bag they are carrying (“So whats in the bag?”). Take them off guard with a question they wouldn’t expect from a stranger. Find a commonality and make some personal association to its relationship to you. (“Nice novel on ax murdering. I love ax murdering…”).

Make it easy to get in touch.

Get a business card. Have a portfolio website to show off. Make your twitter handle easy to pronounce. Stop using that email address you made in 2001 and make something that doesn’t have the . By talking to strangers and asking them what they do, you will naturally start up a conversation. (Unless you just creep the person out and need to run away out of fear. If you run away, don’t worry. They can’t judge you because they are still trying to figure out what just happened.)

But seriously. Go talk to a stranger. Go make friends with someone on the street. Jump in a taxi with someone, even if you’re not trying to go anywhere. And start making friends.

Filed Under: Uncategorized

“Failing into the pit of success”

June 1, 2013 by rememberlenny

Why learn?

I have spent the past three years developing websites. I have been hired by clients ranging from startups to fortune 500 corporations. Yet, I don’t have any formal training as a computer scientist or digital designer. I went to school to study in a Liberal Arts program in the humanities. I read books on cultural theory, history, and adopted an obscure love for classical literature (Goethe I’m looking at you).

So why does this all matter? Well, like most people, I wanted to get on the band wagon of utilizing the immense power available today in the form of technology. I saw computers as the beginning, but instantly knew before smart phones that mobile technologies were offering amazing opportunities through widely distributed data networks. I wanted to use this, but I didn’t have any training. I think a lot of people around my age (and those who are not) have this feeling.

I started learning web development, and more recently Javascript. Javascript was my “in” to the growing digital frontier. Making a website was foreign to me, but I found people would pay me to do it, so I invested my time to get good at it. I identified the front-end (User Experience, User facing elements, Design) web development as most interesting to me.

Deciding the front-end

Deciding I would become prolific at front-end technologies (HTML/CSS/Javascript), I found myself struggling with the abstract concepts of Javascript. I also noticed that Javascript could potentially offer the most learning value. As the founder of Javascript says, “Always bet on Javascript”.

I traverse the infinitum of blog posts being written on software engineering to find the rare nuggets of informative learning resources. I find myself attracted by titles to blog posts, but unable to comprehend the complex code blocks. Instead, I browse the (often Jekyll or Octopress) blog posts, only to read the commentary and skip of the code segments.

My greatest obstacle when reading code is that I’m feeling like I understand the code, but fail to absorb the lessons. Overcoming the mammoth that is learning to code by adopting good practices has significantly helped. I can confidently say, I am not good at learning over the internet or even teaching myself how to do “stuff”. Instead, I am good at identifying my faults in remembering and make up for it by creating processes that make me “fail forward”.

I know that I fail at absorbing coding concepts. I also know that I am good at learning from mistakes. I combine the two understandings about myself by forming a practice to force myself to fail at absorbing coding concepts by making guided mistakes. I do this without another teacher guiding me or a tutor.

Note: The term “Failing into the pit of success” was a term developed by a software developer at Microsoft.

Filed Under: Uncategorized

On learning from code examples

June 1, 2013 by rememberlenny

I have developed a four step process to help me learn from coding blogs. There seems to be an endless number of programmers who enjoy sharing their software development discoveries in blog posts and articles. I often find these very informative, although not always well written. Sometimes there is (what seems like) a missing part or gap. I find that the core concepts are discussed, but the directions seem to miss explaining how to get “there”.

Although instructions are not present, I find that code examples are numerous. Specifically, code examples without explanation behind their inner-workings or core-concepts. As a result, I started pragmatically reviewing the code myself. I use the code examples that are completely foreign to me, to begin a process of exploration and discovery. I have documented this process with examples for readers.

Step -1: Always be coding

I find the best way to solve a problem is by having a contextual and relevant application. Without the relevance, you won’t be able to remember the problem. You might forget the idea, but you won’t be able to apply what you learned when the same problem appears out of context. I find the problems I understand best are the ones I learn to solve when encountered during actual development. This is one of the reasons side-projects are crucial. Always be coding and you will always be learning.

Step 0: Identify well written articles and dependable educational resources

There are literally hundreds of email newsletters that compile the “best” articles of development in your field. I get no less than 10 a week. Some of languages I feel overly confident about and others that I am only just starting to learn. Regular exposure to newsletters, as well as online coding communities (such as Reddit/r/webdev or HackerNews) will keep you exposed to the well written articles and best educational resources available.

My personal favorite for front-end questions is the Mozilla Development Network (MDN). The MDN has the best documentation on all web related APIs. This means anything you want to learn about HTML5, CSS3, Javascript and web APIs are well documented here. To discover these resources, you can use Google. Simply add the string “MDN” to a search query and you will find the relevant resources

Using Twitter and Github to follow well known developers has been priceless. Whenever I find an article I enjoy, I follow the authors twitter account (This is a great time for me to say “Follow me on Twitter @Lkbcc”). By following developers, you can see what links are being shared and most importantly who they follow. The twitter feeds of developers, open source projects and companies are often the best place for discovery.

Step 1: Place your browser beside a note taking application

Screenshot of Chrome web browser beside Notational Velocity note taking application

Open up a code editor or note taking application and open it side-by-side your browser window. You are going to write down every idea/snippet/word that you don’t understand. This is crucial. Being aware of what you don’t know will allow you to advance. It may be painful to realize you read a paragraph, only to write down nearly every word in your notes, but this is where you can start moving forward.

You picked an article with an interesting but difficult topic and lines-on-lines of coding examples. You are about to learn some thing new. Be confident that you can learn this idea, even if it seems completely out of reach. Most of programming is not about being smart, but pushing through the foreign ideas until it “clicks”. Just as Woody Alan says, “Showing up is half the battle”. Seriously, just read through the stuff you don’t understand, and the exposure to the foreign ideas will be hugely beneficial.

For note taking, I use a program called Notational Velocity. Its a very simple application that makes all my notes easily searchable. I’ve seen people effectively use Evernote, TextEdit, and even Word Processors. I find the most important thing is reducing the friction to start the note taking process. I like Notational Velocity because it natively binds a keyboard shortcut to pull up/hide the editor. This process can actually be assigned to any application through a computer’s System Preferences.

Step 2: Copy down code examples. Write them out again from memory

When you read articles, if you just read the articles, they won’t do sit nicely in your head. Like a poorly written Backbone application, you’ll have a memory leak, until all the time you took to learn will be forgotten. The best way to remember is to physically go through the code and write it down. If I learned anything from Zed Shaw in his Learning Python the Hard Way, it was the value of copying code.

Often, you will get into the flow of copying/writing out code, without being conscious. Other times, you will be conscious of how impossibly terse a code block is and will not understand it. This is okay. At times, I physically write out code blocks with pen and paper, because it forces me to slow down. Regardless of how you do it, the next part is very important.

Writing out code blocks in Sublime Text 3

Write out the previously copied code purely from memory. You can do it write underneath the copied code or in a new page or document. The exercise will force you to be present. No copying aloud. You should go back as needed and look at the original code to jump your memory, but the purpose of this important step is honestly reflecting on what you don’t know.

The hardest part of learning to code for me is stubbornness. I either like to default to assuming something is too hard to understand or make believe that I don’t need to know an idea. I almost always find myself encountering the same problem or code concepts without fully committing time to understanding them. Don’t do this. But sometimes you can write something from memory and still not understand it.

Step 3: Write out directions to write the previous code

Second iteration of describing the original code example

Next, write out english sentences that tell you exactly what each line of code does. You need to be clear enough that reading these sentences will allow you to understand how to recreate the original lines of code. Do this without giving yourself specific coding syntax. If possible, use the vocabulary to properly describe the code. If you don’t know the vocabulary, then its good to check out places like the MDN to review.

This may be weird because you just effectively “memorized” the previous snippet. A proven effective method of learning is to teach what you know. In the context of coding, you can teach yourself. By treating yourself as both the teacher and student, you can deepen your ability to communicate the coding concepts. Your success in this step will be seen when able to use the instructions to recreate the exact same code as the original code block.

Step 4: Recreate the original code using your instructions

Using your instructions, attempt to write out the original block of code. Be strict with yourself and follow your instructions. Don’t pull from your memory (Assume an irreversible memory leak). Go through your instructions, and line-by-line try to write what you communicated to yourself.

// Example for completed description
// define function called getHTTPObject
// check if XMLHttpRequest exists
// if it does return it as a constructor
// otherwise try to return the constructor for ActiveXObject with Msxml2.XMLHTTP attribute
// check for errors
// and if they come up try to return a constructor for ActiveXObject with Microsoft.XMLHTTP attribute
// check for errors again and kill the process
// After the original conditional, return false

function getHTTPObject(){
  if (typeof XMLHttpRequest != "undefined"){
    return new XMLHttpRequest;
  } 
  try {
    return new ActiveXObject("Msxml2.XMLHTTP")
  } catch (e) {
    try {
      return new ActiveXObject("Microsoft.XMLHTTP")
    } catch (e) {}
  }
  return false;
}

If you do anything like me, then your initial instructions are going to suck. Through this forced consciousness process, you will notice parts that you either missed or didn’t understand enough to explain. Review the actual code and try to revisit your instructions again.

It’s important that during this process, you are not looking at the code while writing the instructions. As much as possible, try to understand the idea, move away from the original, then document your understanding. This is maximize your opportunity to discover where you don’t understand.

Step 5: There is no step 5

Code cat success

You have iterated this process enough to accomplish your end goal of writing instructions that clearly explain the code, you will have accomplished one of two things: mindlessly memorized completely useless code, or remembered the syntax/framework/structure of some code which you don’t completely understand.

If you are in the latter, then you’re on the right path. You realize that no code is perfect and often your understanding of concepts too is imperfect. More importantly, you realize how to communicate what you know and also provide yourself a mechanism for understand what other people are trying to communicate. You provide yourself a strong tool for learning from the plethora of undocumented, but very useful code.

Hopefully this idea was not new to you and you have now learned an effective way to push yourself to learn new coding concepts. Take notes, copy down code examples, give yourself instructions to rewrite the examples, and most importantly look up all the questions you have!

Filed Under: Uncategorized

MacArthur Facebook Posh Hackathon recap

May 10, 2013 by rememberlenny

Today I created AdGoggles for the Facebook-MacArthur foundation hackathon. The event was a wonderfully organized event by the Chelsea Pier in the 585 Art gallery complex. Amazing food, the highest of quality attendees, and amazing prizes.

Advertisement Goggles

Filed Under: Uncategorized

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to Next Page »

Primary Sidebar

Recent Posts

  • Thoughts on my 33rd birthday
  • Second order effects of companies as content creators
  • Text rendering stuff most people might not know
  • Why is video editing so horrible today?
  • Making the variable fonts Figma plugin (part 1 – what is variable fonts [simple])

Archives

  • August 2022
  • February 2021
  • October 2020
  • September 2020
  • August 2020
  • December 2019
  • March 2019
  • February 2019
  • November 2018
  • October 2018
  • April 2018
  • January 2018
  • December 2017
  • October 2017
  • July 2017
  • February 2017
  • January 2017
  • November 2016
  • October 2016
  • August 2016
  • May 2016
  • March 2016
  • November 2015
  • October 2015
  • September 2015
  • July 2015
  • June 2015
  • May 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • October 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012

Tags

  • 10 year reflection (1)
  • 100 posts (2)
  • 2013 (1)
  • academia (2)
  • Advertising (3)
  • aging (1)
  • Agriculture (1)
  • analytics (3)
  • anarchy (1)
  • anonymous (1)
  • api (1)
  • arizona (1)
  • Art (2)
  • art history (1)
  • artfound (1)
  • Artificial Intelligence (2)
  • balance (1)
  • banksy (1)
  • beacon (1)
  • Beacons (1)
  • beast mode crew (2)
  • becausewilliamshatner (1)
  • Big Data (1)
  • Birthday (1)
  • browsers (1)
  • buddhism (1)
  • bundling and unbundling (1)
  • china (1)
  • coding (1)
  • coffeeshoptalk (1)
  • colonialism (1)
  • Communication (1)
  • community development (1)
  • Computer Science (1)
  • Computer Vision (6)
  • crowdsourcing (1)
  • cyber security (1)
  • data migration (1)
  • Deep Learning (1)
  • design (1)
  • designreflection (1)
  • Developer (1)
  • Digital Humanities (2)
  • disruption theory (1)
  • Distributed Teams (1)
  • drawingwhiletalking (16)
  • education (3)
  • Email Marketing (3)
  • email newsletter (1)
  • Employee Engagement (1)
  • employment (2)
  • Engineering (1)
  • Enterprise Technology (1)
  • essay (1)
  • Ethics (1)
  • experiement (1)
  • fidgetio (38)
  • figma (2)
  • film (1)
  • film industry (1)
  • fingerpainting (8)
  • first 1000 users (1)
  • fonts (1)
  • forms of communication (1)
  • frontend framework (1)
  • fundraising (1)
  • Future Of Journalism (3)
  • future of media (1)
  • Future Of Technology (2)
  • Future Technology (1)
  • game development (2)
  • Geospatial (1)
  • ghostio (1)
  • github (2)
  • global collaboration (1)
  • god damn (1)
  • google analytics (1)
  • google docs (1)
  • Graffiti (23)
  • graffitifound (1)
  • graffpass (1)
  • growth hacking (1)
  • h1b visa (1)
  • hackathon (1)
  • hacking (1)
  • hacking reddit (2)
  • Hardware (1)
  • hiroshima (1)
  • homework (1)
  • human api (1)
  • I hate the term growth hacking (1)
  • ie6 (1)
  • ifttt (4)
  • Image Recognition (1)
  • immigration (1)
  • instagram (1)
  • Instagram Marketing (1)
  • internet media (1)
  • internet of things (1)
  • intimacy (1)
  • IoT (1)
  • iteration (1)
  • jason shen (1)
  • jobs (2)
  • jrart (1)
  • kickstart (1)
  • king robbo (1)
  • labor market (1)
  • Leonard Bogdonoff (1)
  • Literacy (1)
  • location (1)
  • Longform (2)
  • looking back (1)
  • los angeles (1)
  • Machine Learning (13)
  • MadeWithPaper (106)
  • making games (1)
  • management (1)
  • maps (2)
  • marketing (4)
  • Marketing Strategies (1)
  • Media (3)
  • medium (1)
  • mentor (1)
  • message (1)
  • mindmeld games (1)
  • Mobile (1)
  • Music (2)
  • Music Discovery (1)
  • neuroscience (2)
  • new yorker (1)
  • Newspapers (3)
  • nomad (1)
  • notfootball (2)
  • npaf (1)
  • odesk (1)
  • orbital (14)
  • orbital 2014 (14)
  • orbital class 1 (9)
  • orbitalnyc (1)
  • paf (2)
  • paid retweets (1)
  • painting (1)
  • physical web (1)
  • pitching (2)
  • popular (1)
  • post production (1)
  • Privacy (1)
  • process (1)
  • product (1)
  • Product Development (2)
  • product market fit (2)
  • Programming (6)
  • project reflection (1)
  • promotion (1)
  • prototype (17)
  • prototyping (1)
  • Public Art (1)
  • Public Speaking (1)
  • PublicArtFound (15)
  • Publishing (3)
  • Python (1)
  • quora (1)
  • Rails (1)
  • React (1)
  • React Native (1)
  • real design (1)
  • recent projects (1)
  • reddit (3)
  • redesign (1)
  • reflection (2)
  • rememberlenny (1)
  • Remote work (1)
  • replatform (1)
  • Responsive Emails (1)
  • retweet (1)
  • revenue model (1)
  • rick webb (1)
  • robert putnam (1)
  • ror (1)
  • rubyonrails (1)
  • segmenting audience (1)
  • Semanticweb (2)
  • Senior meets junior (1)
  • SGI (1)
  • Side Project (1)
  • sketching (22)
  • social capital (1)
  • social media followers (2)
  • social media manipulation (1)
  • social media marketing (1)
  • social reach (5)
  • software (3)
  • Soka Education (1)
  • Spatial Analysis (2)
  • spotify (1)
  • stanford (2)
  • Startup (21)
  • startups (7)
  • stree (1)
  • Street Art (4)
  • streetart (5)
  • stylometrics (1)
  • Technology (1)
  • thoughts (1)
  • Time as an asset in mobile development (1)
  • Towards Data Science (4)
  • TrainIdeation (42)
  • travel (1)
  • traveling (1)
  • tumblr milestone (2)
  • twitter (1)
  • twitter account (2)
  • typography (2)
  • unreal engine (1)
  • user behavior (1)
  • user experience (3)
  • user research (1)
  • user testing (1)
  • variable fonts (1)
  • video editing (2)
  • visual effects (1)
  • warishell (1)
  • Web Development (8)
  • webdec (1)
  • webdev (13)
  • windowed launch (1)
  • wordpress (1)
  • Work Culture (1)
  • workinprogress (1)
  • zoom (1)