Shortcuts!

Keyboard shortcuts allow programmers to be more efficient. This post will share a list of my frequently used Mac keyboard shortcuts. The teacher in me included some keys words that may help you remember each shortcut. :) General shortcuts ⌃ a - a is the first letter of the alphabet, so it moves you to the front of the line/paragraph. ⌃ e - exits by moving you to the end of the line
Read more →

Messaging

Message brokers, like RabbitMQ, accept and forward messages between separate applications. Messaging is useful for decoupling applications. This means that different applications are connected through a message broker, but they don’t directly rely on one another. This post will provide an overview of messaging with a focus on AMQP and the publish-subscribe pattern. Another term for message broker is event bus. Publish/Subscribe architecture pattern The publish-subscribe (pub/sub) pattern is a messaging pattern where senders of messages (publishers) do not program the messages to be sent directly to specific receivers (subscribers).
Read more →

SQL GROUP BY using JavaScript

This post explores how PostgreSQL’s GROUP BY clause and JavaScript’s reduce method both have the ability to help you group objects/rows of data based on properties. I’m assuming you are already familiar with both GROUP BY and reduce, and that you are also (mildly) interested in gaining a deeper understanding of each. PostgreSQL’s GROUP BY clause According the PostgreSQL documentation, “the GROUP BY clause is used to group together those rows in a table that have the same values in all the columns listed…The effect is to combine each set of rows having common values into one group row that represents all rows in the group.
Read more →

Interviewing TypeScript

Sometimes JavaScript tries to guess what you mean. For example: true + [] // returns "true" You could say JavaScript is trying to be helpful by not asking any questions and just getting results, but sometimes those results come with a cost. Sometimes you may not find a bug that JavaScript’s guesswork produced until your code is in production. TypeScript helps solve this problem by providing error messages in a more timely fashion
Read more →

Making Filth Finder Faster with Google Cloud

I’ve written a bit about Filth Finder, an app that surfaces health inspections from NYC restaurants near you. Most recently, I wrote about the API that served the restaurants to the frontend. While this implementation worked, it was pretty slow to load. In an effort to speed up the loading time, I rewrote the backend to pull the of index restaurants from Google Cloud Storage. Check out how much faster it loads.
Read more →

Details Oriented

You don’t need JavaScript to implement a dropdown. You can create an accessible dropdown using just the html <details> element. This post will cover how I implemented a dropdown menu for an app I recently created called Congress Connect. I first learned about this element at a BrooklynJS meetup almost a year ago. There was a really cool talk, and the slides are excellent, and I highly recommend reading them if you are interested in learning more than this post covers.
Read more →

Geocoding with NYC’s GeoClient API

Filth Finder is an application that loads NYC restaurants near you and allows you to view health inspection violations at each restaurant. One problem that had to be solved when developing Filth Finder was how to calculate the distance between the user and all of the amazing restaurants NYC has to offer. The NYC Open Data API provided the addresses for each restaurant, but Filth Finder needed the geolocation of those restaurants.
Read more →

I’m Going to LTV Conf

If you are going to LTV Conf and want to chat about tech, please say hi. I received a scholarship to attend LTV Conf, and I’m looking forward to attending next month. The conference brings together leaders from the SaaS industry to share ideas about marketing, scaling, tech and entrepreneurship. I found out about the scholarship through Diversify Tech’s newsletter, and I applied knowing that it would be a cool opportunity to learn more about the SaaS industry.
Read more →

Filth Finder: React Hooks Rewrite

Have you ever walked around NYC looking for a place to eat? Have you ever wished there was a way to find the health inspection info for restaurants near you? Well, now you can do that using Filth Finder, a React app with a Rails backend. This application fetches data from the NYC Open Data API. I recently took the opportunity to rewrite one of the components using React Hooks!
Read more →

A Brief Overview of JavaScript’s New Primitive Type: Symbol

In the last post, we learned that we can access the index of an array in the modern for…of loop by using the entries() iterator which implements a method of the new primitive type Symbol. You are probably familiar with the older primitive types: undefined, null, Boolean, Number, String, and Object. Symbol is a new primitive type! What can Symbols be used for? to define properties for objects for iteration to define a global registry of objects to define some special well-known methods in objects This post will review these 3 three use cases, so let’s start at the top.
Read more →