RSSAmplifier

Blog

Michele Titolo

Recent content on Michele Titolo

michele.ioRSS feed ↗21 posts

Latest posts

Running Linux Tools in Lambda Containers

AWS released the ability for Lambda Functions to use containers in December 2020. This opened up a whole set of new use cases for lambda functions, since now we developers have better control of the runtime environment. I’ve found they are a great fit for performing tasks that require elevated privileges, especially if AWS IAM can control access. Running tasks with elevated privileges in an…

Lessons from Managing for the Summer Part 2

Between June and September, I managed my team while my manager was on parental leave. The summer was mostly quiet, until a reorg happened in August. Three weeks before my manager was schedule to return, another org was folded into ours. For my team, this meant getting one new engineer, additional responsibilities, and an additional headcount. This abruptly changed the pace of my work, which in…

Lessons from Managing for the Summer Part 1

For 3 months of foggy San Francisco summer, I am filling in for most of my managers duties while he takes paternity leave. This post captures some of the lessons I’ve learned in the past that have been useful so far this summer. Many full time managers I know started out in a situation just like this, and somehow made the jump to management full time. I have technically been a manager before,…

Nodemon + Babel + VSCode

I switched to VSCode as my primary editor almost a year ago. One of the primary reasons being that I could never get a Node debugger working quite right in Atom. Once I installed VSCode and figured out Launch Configurations it worked perfectly. Most of the tutorials for setting up node apps for debugging in VSCode either assume you are 1. not using nodemon or 2. not using babel. I use both, and…

Mixing content and data in Hugo

A few months ago I switched this site over to the static-site generator Hugo from a flat-file CMS. It was great. In half a day I had ported my HTML and CSS to a Hugo theme and setup CircleCI to build and publish to S3. I’ve now started using Hugo for other things, which in some ways stretch the limits of what it can do. In one project, the content pages have corresponding data files.

Marking #micheledoesweb as done

A little over a year ago I started on a personal project to re-familiarize myself with web technologies called #micheledoesweb. I decided to write a backend for an app I’d built during a hackathon using new to me technologies. I blogged about my progress for about a month, then as usual life took over and the blog posts and work stopped. This is the conclusion post to that project and the…

How I Create Talks

The question of what my process is for creating talks has come up several times recently. There was a time when I would just open keynote and expect my brain to come up with a talk. Some people can do that, and I learned that’s not optimal for me. My process has resulted from trying many different things, some of which resulted in talks that I wasn’t happy with. It’s taken time…

Reviving #micheledoesweb

I started a project earlier this year to re-familiarize myself with web technologies that have come around in the last 2 or so years and to rejuvenate related rusty skills. The beginning was great, I wrote a blog post 5 weeks in a row. My life was pretty quiet at this point. I had finished up travel for the spring, I wasn’t on major projects at work that left me brain-drained at the end of…

Building APIs in Hapi and Node.js

Controllers This is where it’s going to get interesting. I really liked how Padrino combined routes and logic in the same place, so I attempted to do so with Hapi. After combing through the boilerplate projects, I found the magic to allow me to split up my routes into separate controllers. It’s a simple module.exports = server; in my main index.js file. An interlude on module.exports…

Building the Skeleton in Hapi

After my last exploration went sour, I decided to do some more up-front research before diving into Hapi.js. In addition to the resources on Hapijs.com, I spent a lot of time googling for best practices. While there are a lot of blog posts and tutorials on using Hapi, there do not appear to be any standards around how applications are organized. The only open source projects related to…

Building the Skeleton in Padrino

So in order to get a real feel for how Padrino and Hapi.js will work, I’m going to create the site skeleton and the basic APIs. In addition to the server app framework, I’ve made a number of other technical decisions: PicsNearMe has a relational database (sorry Mongo!). The database will be MySQL locally. I plan on taking advantage of Amazon’s new Aurora DB in production. For…

Languages, frameworks, and tools, oh my!

A lot has changed since I spent time building websites. Figuring out where to start is slightly overwhelming. Around ever corner there is a decision: less or sass? grunt or gulp? django or rails? handlebars vs mustache vs angular? Without too many restrictions it’s easy to get lost in the sea of choice. So here are my criteria for choosing the technology for this project: Handles front and…

#micheledoesweb

One of my goals for 2016 is to successfully complete a side project. I haven’t had a personal side project since college, and I’ve been wanting to round out my experience with more web development. This isn’t my first web rodeo, but I haven’t worked on a majority-web project since 2012. It was in Rails 3, used Bootstrap 2, and GOSH was it fantastic. So what am I going to…

The Project File Part 2: Schemes and Targets

Welcome to part 2 of my Project file series! Before reading this post, I suggest familiarizing yourself with part 1. Schemes and targets are the building blocks of apps in Xcode. Every app has at least one scheme and one target. Just like everything else in Xcode’s build system, these have representations on disk that are used to keep track of the settings needed to build. Terminology Before…

Test Logs in Xcode

Apple spent the week of WWDC touting the new testing features in Xcode 7. One thing they failed to mention both this year and last was the persistence of test results to disk. These files and folders are not officially documented, so if you decide to rely on them make sure to check a new version of Xcode doesn’t break anything. This post will be updated to reflect changes as needed.

The Project File Part 1: Composition

The project file, specifically the project.pbxproj, is the closest thing to taboo we deal with on a regular basis as iOS developers. We tip toe around it, because we don’t want to break it. After all, without this file we can’t compile, and if we can’t compile, we can’t build apps. Object Graph At it’s heart, this file is an object graph. All of these objects…

Why your early-stage startup doesn't need a lead engineer

I’ve seen the insides of many companies, and like most engineers am inundated with recruitment emails. One in particular gave me inspiration to explore the needs of early stage companies when it comes to hiring talent. And so Why your early-stage startup doesn’t need a lead engineer was born on Medium.

My #CHIMEHACK Experience

I was really excited to be involved in Women Who Code’s first Hackathon, as a judge. It was a fantastic 3 days, and I really enjoyed seeing all the teams and what they produced. I was so impacted by that event, that I shared some takeaways, and a challenge on Medium. Head on over and take a look: My #CHIMEHACK Experience on Medium.

CocoaPods Under the Hood @ objc.io

This month I wrote on some of the internals of CocoaPods, and explored the bits that make it tick. Check it out in objc.io Issue #6.

Automated Testing with GHUnit and KIF

Testing in iOS is something that we as developers don’t really think about, or do. Writing tests can help us write code that lasts for years to come. But, this post isn’t about why you should write tests, it’s about how to use GHUnit and KIF with Jenkins CI. There are two main types of testing frameworks, Unit and UI. OCUnit, which ships with Xcode, and GHUnit are both Unit…

(untitled)