• 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 Uncategorized

Uncategorized

Thoughts on my 33rd birthday

August 23, 2022 by rememberlenny

A few personal updates.

Today is my 33rd birthday, and in somewhat abrupt fashion, I am moving to San Francisco. It feels particularly significant for the reasons I’ll mention below. 

First, about three months ago, I began a conversation with a senior individual at a company, OpenAI, I had been following in the artificial general intelligence (AGI) space. Initially, my interest was around understanding how I could best position my company, Milk Video, to capitalize on new innovations, which I had been building for the past two years. Instead, I was deeply surprised by the unexpected rapid development and maturity of machine learning innovation, and a month later, decided to leave the company I started to accept a full-time role.

One major factor in my decision making was a series of classes and books I had been reading for the past three years. In particular, two courses Jason Crawford led around the history of technology and the narratives around societal progress. One resonating point between this course and my exposure to AGI was the realization of the unbounded upside in humanity cultivating digital capacity of ever-growingly complex labor functions. 

My personal impression taken from these materials is that much the past 100, 10,000, or 1 million years of human economic value creation has been largely bottlenecked on a variety of external factors. For the most part of humanity, this has been due to a limited access to valuable materials (ie. food and shelter), the ability to cultivate the limited resources available, high-mortality rates, coordination costs, access to educated individuals and more. All being said, the rapid technological development in society over the last 100 years alone have created compounding improvements in quality of life and general wellbeing for the overall benefit of humanity. Even compared to this, I find that the creation of AGI has an almost uncapped opportunity to translate ingenuity and intellectual capacity into a recurring and recursively value creating humanity improvement vehicle.

Realizing this, my decision became much more clear.

Second reason, making today quite significant, is that I am spending the day moving out of our apartment – and sending all of “stuff” across the country. One condition of this job was to be working physically in San Francisco, so after nearly 10 years living in New York City, I – in my wife’s eyes abruptly – started the job and settled in California. It’s been two months since I began, and while I had found a temporary place to live, I had not ended our lease in New York. As a result, today, I am back in New York to properly relocate and this time with my wife, begin a cross country move.

For the curious, the company I started will continue to have a life of its own. My cofounder determined he would like to continue building the business and with enough money raised and a non-trivial number of existing and growing customers, there is a lot of potential for the future. I strongly believe two years is far too short to truly see a company through, and I don’t take lightly that numerous investors took a stake in making it possible to start and grow our company, but even with all of this, I do believe I’m making the right decision.

Moving forward, I have a number of personal projects I kept on the back burner and want to kick off. Outside of work and personal explorations, my wife and I will be making a much more concerted effort to begin a family. Now that my waking hours aren’t solely focused on company building, I have more mental cycles to focus on a wider range of ideas. Personally, transitioning from founder to employee hasn’t made such a large difference in the quantity of hours working, but the emotional investment isn’t quite as gut-wrenching. More so, I’m deeply appreciative for the opportunity to be working alongside people who inspire and challenge me in a fulfilling way I genuinely forgot I was missing.

I grew up in San Francisco, but I haven’t lived there in over 20 years, so its a familiar place where I still have a lot to discover. I suspect some of you will pass through the Bay Area, so I hope I we can meet in person for a walk, coffee or meal.

While the past year is filled with a lot to reflect about, the leaving of New York is easily the highest variance event to reflect on today. 

With that being said, I was inspired to write a short poem yesterday I’ll share:

New York

Give me the sound of hammers ,
The glint of light on a carbon steel beam,
Workers marching with coffee at dawn,
A city in constant motion.

Give me the serenity of new parks,
Blooming flowers visited by passerby’s,
Tended trees protecting visitors in the day,
A haven for creativity and new encounters.

Give me the collage of diverse faces,
In pursuit of individual wants and wishes,
Brought together by a force invisible yet shared,
Friendships emerge throughout the city in strangers alike.

Give me unending dramas of everyday people,
Each person deeply immersed in their daily lives,
Emerging to make a mark on their fellow citizens,
A history no one person can tell, but all alike share in.

Filed Under: Uncategorized

Three considerations for job searching

August 12, 2020 by rememberlenny

Over the past 10 years, I have formed opinions on the pros and cons of working at companies and organizations of varying sizes. While there are plenty of guides to the broad qualities of startups or big corporations, I think there is value in capturing these in personal anecdotes. The following is meant to be a reference point for those who are interested in finding a job in the near future. I am undoubtedly a unique person with particular personality, but nevertheless my experience is relatable.

To start, when picking the size of a company, there is on factor that I have found to be the most important: is this company growing, and will its ability to make money continue into the future. This seems obvious, but surprisingly many companies are not growing and their mainstay for making money is often eroding. This is especially true for larger companies, but obviously also true for smaller companies.

Secondly, an important aspect when considering work is whether or not you can see yourself learning. While getting paid exorbitant amounts of money seem fun, and having clout associated to recognizable brands is nice, it all amounts to unbearable boredom if you are not learning. At least for me, this also means I am bound to find other ways to occupy my time, and either decline in my work performance or find something entirely else to do.

Thirdly, make sure you are either getting paid enough to keep you uninterested in looking for another job or considering a offer from another company. When landing on a rate of pay for a job, my largest consideration is whether or not the amount I am being paid will give me confidence that I can stay in one place for at least a year, and possibly two. I have yet to stay in one place for three or more years, so I wont try to lie and say that I would consider otherwise.

With the three points, knowing the chosen company is growing, learning is a constant, and pay is enough to make you take your job seriously, you may wonder what kind of place you should consider. Perhaps its not obvious that the points that I have mentioned above do not write off the options of working at a non-profit, startup, family owned business, or any other businesses that may implicitly be associated to slow growth and limited pay. In fact, the total opposite can be true. 

Also to note, I did not mention above that it is important to be passionate about the work you are doing. I can confidently say that if you are passionate about some topics that your work is centered on, you may also be a very boring person. I don’t mean the problems as a whole that your company solve are boring, but it would quite odd if you are excited about spreadsheets, times of day to post on social media, or unending paperwork. There are more important things in life. Seriousness is a necessity, but passion no. If you do get excited by the aforementioned points, I encourage you to read more novels. Particularly pick up some good sci-fi.

One additional point while I am slightly off topic is a very nice to have: a great manager. This is synonymous more with learning than anything. Having a great manager who you like and stands up for what you need, while also keeping an eye on what is necessary for the company is invaluable. The experiences of working under someone who has your back is the difference between wondering whether or not you have job stability and being able to freely explore new ideas.

Filed Under: Uncategorized, Work Tagged With: employment

Senior meets junior lessons learned, and some thoughts about the future of remote work

December 31, 2019 by rememberlenny

High level summary

Last month, I setup a brief survey on Typeform and submitted it to ProductHunt as a project called “Senior meets junior”. Senior meets junior was described as a project that would allow engineers to collaborate together over side projects. Junior engineers could collaborate on real projects to upskill, while senior engineers can improve their mentorship abilities and receive more help on their projects. I’d like to formally share the stats around the response and a few surprising results that I will be considering for the next steps.

https://www.producthunt.com/posts/senior-meet-junior

Breakdown around statistics

After submitting the Senior meets Junior survey on ProductHunt, I received a 186 submissions from both senior and junior developers looking to collaborate on side projects. Of this group, approximately 75% were self-identified as junior developers, and 25% were self-identified as senior. I was able to meet with 19 individuals out of the hundred in 97 people who signed up. All of the 19 individuals only two people were actually from developed countries (US and France), but even one of them were actually traveling abroad, so I actually spoke to 18 people from emerging markets around the world. I’m not sure if the name ”Senior meets junior” is a term that is not appealing to Americans or if the idea of mentorship is more appealing to people of foreign backgrounds, but I was genuinely surprised by how many more people from developing countries signed up to the service. I definitely expected more junior engineers from developed markets, who were interested in upskilling.

One more note along the ratio of senior and junior engineers. When reviewing the applications, I searched the background of each user and noticed that many of the individuals who said they were junior developers were working as seasoned engineers. I couldn’t figure out if people were misidentifying as Junior developers because they wanted to work on other people’s side projects, or if they truly believed that their abilities were not at a senior level.

From a statistics perspective, the most languages people wanted to work on was JavaScript. I asked the question “What technologies is your project based on, or if you are junior, what technologies are you comfortable working with?”. Following that was Python, and then Java. As you will see in the chart, 58.6% people said JavaScript, followed by 50% in Python, and 21% in Java. Ruby, Rust, Scala, and a number of other languages all scored less than 10%.

Interestingly, when asking people where they needed the most help, most people said Backend development. The question was “What areas do you expect to need the most help or if you are junior, what would you feel comfortable contributing to”. Considering so many people wanted to learn or contribute JavaScript, the sheer amount of Backend development help needed was predictable. About half (57%) of the people who wanted help in a certain area also shared they wanted to improve their Frontend application development. This is consistent with the Javascript interest.

One of the questions I found most interesting was around how much time someone felt they needed to be productive. Similarly to the time is takes for a hired engineer to start contributing code on a new code base, I wondered how much mentorship a junior engineer would need to start working on a foreign project. The question I asked was: “How much mentorship and direction can you provide someone who works with you? If you are junior, how (much) mentorship and direction do you think you need to be productive?”. In response to the question, and surprising majority said they only need 1 to 2 hours a week of mentorship to start contributing to a codebase. This is a pretty small amount of time, relative to how much one person can do to contribute.

Areas that I was surprised about

The first area that I was surprised to learn with how dramatic the different the engineer pay rate is outside of the US, and how similar it is in across many developing countries. I learned that in Ukraine, India, Georgia, Spain, Russia, Turkey and Nigeria, the average pay for a Year’s engineering salary is between $30,000 to $15,000 US dollars a year. This means that in one month many Engineers are making less than $2,000, and many are making less than $1,000. This is compared to the regular salary of a US engineer who makes up words 300 or $400,000, or a recent college graduate who can very quickly, man north of $100,000 USD.

https://twitter.com/rememberlenny/status/1204074924576563200

To imagine that there are so many more engineers across the world than there are in the US, and that many of these are English-speaking, and that many more are receiving the same educational resources as those engineers in the US, I cannot help but imagine that these foreign workers will soon be replacing domestic engineers in the US. When I think about how much remote work has been discussed in the last few months, I can also see that the infrastructure for hiring remote workers is maturing and will soon allow for more and more remote workers from developing countries to contribute to domestic projects in the US. I also recognize that many foreign workers may not need anywhere near a US engineer salary, and would potentially be very satisfied to work at the higher-end of their local salary range. When comparing this to an engineer in the US who works at the lower-bound of the salary range for their domestic peers, I imagine the foreign worker to be significantly happier and willing to contribute more.

https://twitter.com/rememberlenny/status/1208068305141018625/

The second area that was quite surprising was around the U.S. engineers that I spoke to who were unhappy about their work and didn’t like work that was primarily based on taking a design to translating it to code, or processing bugs in a bug tracker system that did not require any critical thinking. I imagine that this kind of work which is not desired by skilled laborers in a domestic Workforce, would be very easily translated into Outsource or remote work. I believe that the growing need for constant maintenance and simple types of engineering tasks will reveal the value of having an accessible remote Workforce that does not need to be highly engaged with decision making.

Third, there is a large number of people who are quite adept at the current Frameworks (read: React) and programming languages (JavaScript, Python, Java). These people would like to grow in our less around programming skills or computer science foundation’s, and their interest is more around establishing best practices and means of collaborate. These remote Engineers are people who know how to write code and solve problems for clients, but still need to learn how to deploy production applications or optimized server configurations for scale. These kinds of engineers are ideal for collaborating with other developers, because they are interested in learning things that are not explicitly taught will online but would be able to contribute to a code base if given explicit instructions.

https://twitter.com/rememberlenny/status/1203732117131268096

Lastly, I was surprised that there are a large number of Junior developers were able to learn quickly and could become employed across the world. In many cases around the U.S., coding bootcamps can take someone who has no experience, and help get them to a point where they are able to get a job at a tech company within three to four months of accelerated learning. I noticed many junior engineers across the cohort of users who also could become employable with self-study within a six-month period. I was very naive to think about how on technical I imagined some of the participants who signed up would be from developing countries. I was surprised around the fact that most college graduates are all learning the same things that the US level college graduate would be learning. This means that a computer science student will be focused on machine learning, or an electrical engineering student will be working with Arduino and raspberry pies. Given that this is the same technology that a domestic student would learn from and that the skills are identical, there is no reason why these individuals could not come highly employable in a short period of time as well.

Conclusion

Overall, I strongly believe that remote work and contributors from around the world will meet a crossroads soon. While remote work in the US is becoming more common, I foresee many more engineers from countries around the world contributing to code bases in the US. This would mean that the tooling that helps coordination will likely become more important, and the areas of work that are centered on decision making and executing will likely be separated or clearly organized.

I also believe that the sheer amount of income that current software engineers command is disproportionately high when compared to the education or skills needed to complete certain roles. While I am not sure if the high-salary is necessarily justified, I do think a number of market forces (VC investment, high return of certain software businesses, demand for engineers who are skilled at new technologies that haven’t existed long enough) are likely the reason for driving up engineering value. Not all engineers are necessarily returning the value on their investment, so I could imagine different tiers of engineering work to be more explicitly defined outside of the terminology of senior or junior. The larger tech companies near are already different tiers of engineers from being a principal engineer, a lead engineer, or different tiers of software engineer.

I’ll be moving forward with trying to interview more of the Senior meets junior sign ups, and expect to continue expanding the cohort from engineers to other fields such as design or product management. If you or someone you know may be interested in this project, please sign up at www.smj.dev, or contact me directly at [email protected]

Please excuse the grammatical errors. This was written using dictation, and followed with slight edits.

Filed Under: Uncategorized Tagged With: Remote work, Senior meets junior, software

Goodbye 155

December 6, 2019 by rememberlenny

Yesterday was the “Goodbye 155” celebrating the next steps for Orbital’s historic 155 Rivington St location. More than anything, the night felt more like the closing of a community church, and the gathering of its congregation. The evening was designed to provide space for people to share their experiences and lessons learned. It was very “Gary”. I didn’t personally share anything, but took notes throughout the evening when I remembered long lost memories and weird experiences that made Orbital special to me.

Gary and Christina possibly planning their 1K

First of all, I came across Gary through a seemingly unique set of events. I met Gary after being invited to co-work with him and Jed at a coffee shop in k-town, after lunch at a Korean restaurant. I had just met Jed in Florida at a JavaScript conference, and soon after saw him again in Berlin, when I decided to attend the sister conference the same year. To cowork together, Gary had a fascinating hotspot device, called the Karma, which touched on my tech virtues of interesting new gadgets. 

Jed doing everything he can to hold back from singing “It’s So Hard To Say Goodbye To Yesterday” https://www.youtube.com/watch?v=-w6m-nhUcos

I got to learn more about Gary and the class he was teaching at SVA, where students were tasked with making a product that create $1000 in revenue over one month. Fascinated by the idea, I kept in touch over email, trying to find out if I could audit the class or have him send me the materials. Eventually, this resulted in learning about Orbital and it’s first program to help provide a structure and space for people with side-projects to create businesses. I loved this idea, had a few side projects, and had recently discovered the startup literature that floated around the internet.

I had just arrived in New York only a few months before, and unknowingly, after reading a series of Hacker News posts and writing from Paul Graham, I was convinced that doing something in the startup space is my calling, but didn’t know exactly how or what to do. As I was establishing my career, I thought Gary Chou was the East Coast Asian Paul Graham.

Do you see the resemblance?

Before making that connection, I also was trying to figure out what was wrong with Gary. I couldn’t quite pin how a random person would get a multi-year lease on a three story New York city building, with no particular business plan. Very Gary.

I have incredible appreciation for Orbital and the immeasurable effort Gary and the others put into building the community. 

A random list of things that I won’t forget and give me great joy to think about.

  • 155 Rivington has a (and hopefully will continue to have) historic piece of punk rock graffiti. Not only, it was also used for a Rancid music video and the graffiti piece itself has been there since.
http://fredbenenson.com/2014/01/19/digital-forensics-rancid-reas-kickstarter-hq/
  • For the last two years, I considered trying to figure out how to plan a wedding in New York. I kept thinking Orbital was the perfect kind of place to do that. My wife and I ended up not going that route. But someone did! Proof 155 Rivington isn’t just a coworking space. Who gets married in a coworking space? 

Thats Kevin, but you get the idea.
  • My first VR experience was at Orbital. Orbital attracted people with a wide range of interests. Of course, some of those were in deep technology. One member, Shawn Cheng, who was passing through the space when I was there had a passion for helping people experience their first major VR experience. For me, that was Kingspray, the VR version of spray painting on a wall. Surprisingly, it was amazing and I spent well over an hour “spray painting” a mural. Where else can you take a break from working and get up to spray paint a VR mural? 
  • I remember also with Shawn (VR guy mentioned above) enjoying a cigar out on the back porch of Orbital. Soon after, I was directly reprimanded for not being allowed to smoke in the back patio. Fond memories of Gary’s reprimands. 
Shawn explaining how to navigate VR.
  • When I realized I was interested in Machine Learning, I had the bright idea of building a computer to train ML models. Gary let me use the space to ship computer parts, build a computer, and also for quite a while he also let me house the machine for free. This was around the crypto craze, so I strongly believed that Gary thought I was mining bitcoin. (I wasn’t mining crypto Gary. I promise.) It speaks to his willingness to support others.
  • I remember I would spend weekends and late nights at Orbital. One late night – I think it was a Saturday – the bar downstairs was pumping some kind of club music and I was on the second floor piecing together the desktop computer parts that had finally arrived. It was almost midnight and I was convinced I was going to be alone until I closed up, and surprise – two Orbital members showed up with suitcases – arriving from a recent trip. It was an odd exchange – me with a huge table full of computer parts – and them not expecting to see anyone so late in the evening.
Setting up a deep learning machine December 2017
  • At one point Orbital didn’t have any air conditioning (or if it did there was really old). I remember arriving to 155 one day and seeing a stack of 6-8 air conditioning units that were donated. It was an odd sight that I still remember vividly for some reason.
  • July 4th, I remember watching fireworks by the river from the roof. I don’t remember exactly why, but I remember spending time on the roof for a number of other occasions as well.
  • Orbital is a physical space, but somehow I keep encountering Orbital people in digital space. One odd experience was when I posted in a private Facebook group for OneWheel owners and a response came from Mike Ma, an Orbital member who happened to also ride OneWheels. That led to a number of fun excursions riding around Prospect Park and the Cloisters.

Beyond the random list, I came to New York not having any roots, and eventually shifted toward making incredible friends and collaborators. Much of that stemmed and came back around to Orbital. My last three jobs were all related directly or indirectly to Gary and Orbital. My current job contracting with Google, I got through a relationship that I created from the Bootcamp – when Gary encouraged us to meet people who are “experts” – and also directly from the #jobs channel in the Orbital Slack. The job before, was a “pivot” for me, where I worked at a machine learning focused company. Gary encouraged me to take time to write out exactly what I wanted to do, what my path was up to now, and explain where I wanted to be. By going through that exercise, it became clear how I could get the kind of job in an industry I was interested in, while also being able to articulate my value to someone. And before that, I worked in the federal government, where I was encouraged through being around so many Orbital members, to do something that was more than just a paycheck. The search for something that was meaningful and contributive to the people I worked with was what made me think I would even consider the opportunity.

In other words, thank you Gary for everything you put together, all the financial hurdles you jumped through to make 155 possible, and the unending love you put into making Orbital so special.

Filed Under: Uncategorized Tagged With: orbital, reflection

How Public Art works

March 7, 2019 by rememberlenny

Details on my React-Native iOS application backed by a Ruby on Rails backend and some Python Jupyter notebook scripts

Public Art is an iOS application that helps you discover new nearby street art.

I’ve been working on this project on my own, but it has a lot of technical moving parts. I will explain how all of the moving parts work and what I’m planning to do in the near future. By the end of this article, I hope you have the awareness of recreating the same behavior for your own project.

Background

First of all, the reason I am working on a street app discovery tool is not to build the next urban media empire.

Although that sounds nice. I started trying to preserve graffiti and street art with as much associated metadata as possible for future art connoisseurs.

At one time I was trying to make a street art media empire, through questions. I wrote a series of fragmented blog posts in 2013, that later grew into this. Most of the posts can still be found here: http://newpublicartfoundation.com/

Given the rate at which photos are uploaded online, I felt it would be a great opportunity to preserve the otherwise transient form of cultural expression that is found around the world. I don’t have a secret surveillance agenda or political motive. I understand the privacy implications of preserving this information, as well as the complicated legal potholes involved.

That all being the case, I feel it’s important that someone preserves street art for the future, and that’s what I’ll go into below.

Frontend

The front-end portion of Public Art is a mix of an Expo based React Native application with a few interspersed Ruby on Rails and React web pages. The React Native application is a stock Expo application with a modern Redux/React Navigation architecture.

Beyond Redux and React Navigation, I used a number of packages to help with speeding up development. I used a UI library called NativeBase which provides some helper components, but eventually transitioned to using React Native Elements. Both of these libraries were not necessary, but provided enough structure to speed up my process. The main tool needed in any good UI library is a good layout structure. For React Native, the most common layout technique I saw was to use flexbox.

The app is composed of primarily loading images and displaying mapped points. I initially tried to use a few helper libraries for gracefully loading images, but eventually found the best performance around using the React Native Image tag as is.


For the map, I depended on the Expo framework’s React Native Maps integration. I explored ways to use Mapbox, but to stay within the Expo ecosystem, decided not to. That being said, the React Native Maps is a great library with all of the application control needed highly responsive maps.

As mentioned above, I used Redux for the primary datastore of the app. For managing the application’s side effects, I decided to use Redux Saga. In the past few React applications I’ve built, I aired on the side of using Redux Thunks. I noticed in my last project that the ability to test Thunks was overly complicated and wanted to pursue a more testable solution. After some research, I decided the best bet was Redux Saga. While this took getting used to, I do see the value and intuitive nature of the Saga based datastore/side effect architecture.

Backend

The back-end of Public Art is a combination of a few different “micro services”. In other words, it’s composed of a few web applications that talk to each other over http requests. In addition, I have a linux box that runs a series of shell scripts and cron jobs that provide important functionality that will eventually be replaced with another “service”.


The primary backend and authentication works as a Ruby on Rails application running a few gems which I’ll explain below. The Rails app runs on Heroku and uses the Heroku Postgres and Redis hosted services. While this is a costlier way to operate (especially because I have free credits in two different hosting providers), the convenience really makes a difference. It’s easy to deploy, manage credentials, and spin up/down workers.

For authentication management, I use the ruby gem Devise. Devise is a familiar gem for any Rails developer that needs any kind of user profile/authentication system. In my case, the Devise instance is setup with a User model, but all the views and business logic is triggered with a token based REST api. This was tricker to get setup than expected, but eventually became the most flexible way to control user activity.

For image uploads, I use the ruby gem Shrine. Shrine is a modern implementation of some other common image management gems like Carrierwave, Paperclip, and Refile. The Shrine gem plugs into Amazon’s S3 and creates a simple means of caching image display formats for easy use.


For worker management, I use the ruby gem Sidekiq, which is a Redis job manager. Sidekiq handles all of my asynchronous actions, of which there are many.

Finally, for location related actions, I use the ruby gem Geocoder. Geocoder hooks into the Microsoft Bing location API to do reverse geocoding. This means taking a latitude and longitude point, and inferring a address.

Overall, the Ruby application handles all of the business logic for creating users, saving images, managing locations, and aggregating all of the information for the iOS frontend to display. All of this happens using various api endpoints that communicate with JSON.

Data/Content

The Public Art app provides a way for any individual to view street art images nearby. This is accomplished by surfacing images that are geotagged with a longitude and latitude point. The images are gathered by user uploads, which are few, and scraping Instagram, which provides many.


The current method of dealing with this is very fragile and will be updated accordingly.

I have created a series of scripts that use a major image uploading platform as a datasource for discovering new images. I use the user generated categorization system to identify content that may be associated to street art or graffiti, and index the content that is associated with location metadata.

To manage the scraping process, I use a python script that manages rate-limits to the image service. The python script runs as a linux process on my server and stores images in the file system. Once the image and the post metadata is downloaded, the script does a second server request for the location details. The location is stored on the image as an ID and requires a second lookup to get the corresponding coordinates.

The downloaded images are uploaded to the Rails application and indexed accordingly through a second python script that runs in a Python Notebook. This is very unusual for any python developer, but surprisingly works very well.

I have a Jupyter server running on my linux machine that iterates through the scraped images, uploads them to the Public Art backend server, then prepares the location metadata and updates the corresponding images.

Machine Learning

Originally this project was meant to have more of a machine learning component, but getting all the other parts right has been priority. I’ll be doing some stuff related to search and object detection soon. I’ll also be using more model evaluation to handle flagging content that isn’t machine learning.

Conclusion

I’ve been doing some additional experiments with ads and promotion which I’ll write about some other time.


Filed Under: Uncategorized Tagged With: Machine Learning, Rails, React, React Native, Street Art

Short announcement: App went out.

March 5, 2019 by rememberlenny

And I added 20,000 new photos in the last two weeks

Quick update to keep with the bi-weekly rhythm. This one will be shorter than others.

Last email I shared background details on the iOS application I launched.

You can find the app on the Apple app store now here: https://itunes.apple.com/us/app/public-art/id936484924?mt=8

If you have an iPhone, take a look at the “Search nearby” feature to view all the street art near you.


As mentioned in the previous emails, the app is composed of three main sections. In the “Map” browsing section, you can query your location and view images uploaded to Instagram that are nearby you.

Please let me know what you think!

Brief update for the last two weeks.

The main result of this past two weeks was bug fixing and getting the app out on the App store. I was having trouble launching due to numerous Apple app store guideline conflicts.

Now that it’s up, I have been working on various server related changes. I made some caching changes on the backend, so that I don’t have to worry about my location queries crashing my app. Every query is cached for 30 minutes, so major traffic wont result in downtime.

I set up a simple but important piece of a feature that will integrate some of the machine learning research I did before. I made a simple python server that can accept an image as a parameter, and return the image’s feature embeddings. This is going to be useful when building out a search utility for querying images based on the image content, as observed via the previously trained machine learning models.

You can see the open source code here: https://github.com/rememberlenny/publicart-ml-endpoint

Side note: I got some Public Art logo stickers. If you would like one, send me an email and I’ll ship you a few: [email protected]

Thanks for reading!

Filed Under: Uncategorized

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 82
  • 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)