Testing micro.blog.
The Stonewall Inn
Game of Thrones Daily

EXPECTATIONS

â
Sade Olutola
h

⣠Chile in a Photography âŁ

PR's Tumblrdome
Show & Tell
will byers stan first human second

Andulka

Origami Around
đŞź
YOU ARE THE REASON
we're not kids anymore.

pixel skylines
occasionally subtle
Xuebing Du

seen from Netherlands

seen from United States
seen from Netherlands

seen from TĂźrkiye
seen from Bangladesh

seen from TĂźrkiye

seen from Brazil

seen from Malaysia
seen from Switzerland

seen from United States
seen from United States
seen from France

seen from United States
seen from Finland

seen from United Kingdom
seen from Iraq
seen from United States

seen from Malaysia

seen from Germany

seen from United Kingdom
@opehei
Testing micro.blog.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
How I review code
Reviewing code is one of the most important parts of an engineerâs job at Tumblr, even more so than writing code. Our codebases are shared by hundreds of engineers, so itâs critical to make sure weâre not just writing the best code we can, but that the code being written can be understood by others. Taking the time to review someone elseâs code is the most critical opportunity to ensure all of that is happening.
At Tumblr, every code change happens in a Pull Request on an internal Github instance. We have repositories for the PHP backend, our database schemas, our iOS (Swift/Obj-C) and Android (Java/Kotlin) mobile apps, infrastructure projects written in Go, C/C++, Lua, Ruby, Perl, and many other projects written in Scala, Node.js, Python, and more. All of our code repositories rely on authors to write Pull Requests and get approvals from their peers before merging their changes to the master branch and deploying to production where real people interact with it.
How I personally review code has changed considerably over my few years at Tumblr. Before working at Tumblr, I wrote code mostly by myself and reviewed code with a very small set of people. Shifting to a huge codebase with hundreds of contributors was a big change. Thankfully Iâve had some good teachers. I went from reviewing maybe one pull request a month to currently reviewing an average of 25 pull requests a week. Here are some of the principles that help me keep my reviews timely and helpful.
Review the code with its author in mind
The first thing I ask myself after a review has been requested of me is who wrote this? Are they a junior or senior engineer? Are they new to this codebase or a seasoned veteran? Have I ever reviewed their code before? Am I familiar with the project this code change contributes to?
When Iâm reviewing the code of someone I work with closely, I probably know pretty well what their thinking was when they wrote it, and I have an idea of what experiences theyâve been through. Junior engineers sometimes need a little more hand-holding, which usually means giving them more help with code examples and references. Senior engineers sometimes need to be reminded that highly performant, abstract, or clever code is often difficult to read and understand later, which usually means asking them for more inline comments and documentation.
Itâs also fundamentally important to review the code as if anyone could read the review youâre about to submit, not just the author. There are two main reasons for this. First, some people learn by reading the reviews that other engineers write; as a more junior engineer thatâs exactly how I found out the most about the intricacies of Tumblrâs codebase. Also, in six monthsâ time itâs very likely you may be looking at this code again to figure out how it works. Having a helpful code review of it around can give some insight into the decisions that went into why it works the way it does.
Review the code with everyone else in mind, too
The core of my review, no matter who is writing the code change, centers around being able to understand the code itself and the motivations and context around it. To me, ideally anyone should be able to pop into a pull request and expect enough context to understand the code change and why it was done the way it was done and how it works the way it works. This is especially important in an old, shared codebase, where someone three years from now may be looking at your PR to figure out why you chose to do what you did. If thatâs not included, or if there arenât at least links out to the relevant context, something is wrong. More detail is always better.
I donât worry as much about code style or syntax itself, as we have automated processes to ensure that new or changed code conforms to our agreed-upon coding standards. Similarly to what I wrote about in how I code now, I look for code that is well-documented (both inline and externally), and code that is clear rather than clever. Iâd rather read ten lines of verbose-but-understandable code than someoneâs ninja-tastic one-liner that involves four nested ternaries. Especially if the person writing the code has been around the block a few times and been burned themselves by old, undocumented, clever code.
Once I feel like I can understand the code change, I try to put myself in the shoes of someone who doesnât deal with this area of the codebase very often (which may be the case for me at the time!) and think of how to review the code to help make it clear for them. I try to think of someone new being hired six months from now, looking at this code, wondering how it works.
Understand the PRâs scope
Sometimes not everything can get done in one pull request. At Tumblr we try to keep our PRs small so they can be reviewed quickly and safely, rather than bundling a ton of hard-to-review work into a 5,000-line-change PR. Because of this, sometimes the work has to be broken up into chunks, with PRs that build a foundation and lead to future PRs with finished implementations.
Or, alternatively, itâs common for evergreen codepaths to have known issues or work thatâs been ticketed for future sprints, so itâs become a good, common practice to leave a @todo in the code with the name of the ticket where that todo will get done. That way we can unblock code changes from having to be totally complete within one pull request.
Stay on top of the whole review process
The number one thing that helps me review code in a timely manner, and stay on top of updates about PRs, is email. I check every Github email I get; I make sure that I donât get notified for everything that happens in the repo, but I do get every email that happens relating to a PR Iâm associated with. This helps me stay on top of every step in the review process, because itâs almost always a back-and-forth that ideally shouldnât last more than a day.
At Tumblr, most of our reviewers are selected by automated round-robin assignment when the PR author is ready to receive reviews. That assignment triggers an email and subscribes me to everything that happens relating to that PR. From there, itâs on me to stay on top of my email and make sure that I not only allocate time to do the review as soon as possible, but follow up on the PR if I leave a review and the author updates it in response to my review.
Remember to be a human
The most important advice for reviewing code (and, in other ways, writing code) is to remember to be a human. Remember that the person who wrote the code youâre reviewing is also a human. Give them the benefit of the doubt. Be nice when you write a suggestion, or have a question, or find an edge case that they donât seem to have covered. Even if theyâre a seasoned veteran coder who has written bulletproof performant code for years, treat them like a person who makes mistakes sometimes. Even if theyâre someone you work with every day and you feel comfortable cracking jokes at their expense, understand that a new person might not understand.
Remember that shared, living codebases are often hectic and strange, especially ones that have been around for a decade. Remember that sometimes things are in a rush, so you can only do the best you can. We canât halt everything in the name of perfect code, but we should make sure that everyone is doing the best they can, whether weâre writing or reviewing code.
I have been very active in social media lately⌠Not so much. (paikassa Omnian ammatillinen koulutus)
It seems that the extra work we had last year, made me forget to update any and all of my channels. Planning to start again, but also to decide which channels are worth updating. Anyway, here's a snapshot from last week and a quick clarification from today.
Forgot to #capture the whiteboard but this is something that I #explained on #paper and #digitized for later use. #markup #layout #omniaig #artomnia (paikassa ArtOmnia)

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
#Sketching on #whiteboard to explain #layout to the #group and on #paper to explain #markup to an individual #student. Also converting some of my sketches to digital with ScanBot and Carbo. #omniaig #artomnia (paikassa ArtOmnia)
I always remind my students about the benefits of sketching by hand. #markup #omniaig #artomnia (paikassa ArtOmnia)
Morgenstimmung. #aamutunnelma #morningcommute #commute #bus #train #helsinki (paikassa Helsinki Central railway station)
It seems that my students already understand markup. #omniaig #artomnia (paikassa ArtOmnia)
Note taking has a lot of advantages and one of them is helping you remember better. In a recent study conducted by Mueller and Oppenheimer, it was found out that people remember their lectures better when they write down notes instead of typing them.
Typing with lightning speed doesnât...

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Todayâs best editorial cartoons
"How we use Trello and Google Docs to make UserVoice better every day"
One Trello Rule to Hone Your Focus
In case you havenât used it:  Trello is a simple list manager app.  It uses lists, and cards (which are the items within lists).  The default setting has lists: To Do, Doing and Done.
Always have one item in the âDoingâ List.Â
This rule hones focus. Â It means youâre always cognizant of what youâre doing. Â It means you never multitask, the absolute killer of productivity. Â It seems simple, but following this rule will change your productivity for the better: Â Every. Single. Day.
To Do list love: Trello!
So, a while back I posted about my neverending search for the perfect to-do list/organizatinal software. Iâve tried more solutions than I can count or remember, but they include Evernote, post it notes, Google Keep, Excel spreadsheets, notepad, actual notepads, and Clear on iOS (which I still use and love). So many of them were close, but perhaps too complicated, clunky, or missed valuable features I needed. I took my quest to twitter and @johnberberich had my back- he suggested Trello. I really like it, so I figured Iâd write out a few reasons why on the chance that it may help other to-do solution seekers.Â
TL;DR Trello has been an amazingly powerful but streamlined to-do app that I love. Itâs free, so you can give it a try:
http://bit.ly/TrelloRocks
Read More
What are studios looking for? How can I get into a good animation school? What should I be studying?
I get a lot of these types of questions now and again, and I never know how to answer them. I canât be sure of what studios are looking for, I donât control admissions policies to schools, and I have little idea what makes for a current and relevant curriculum. There are a lot of variables in your bid for a career in animation, and itâs kind of impossible to control most of them. You must be crazy to want this job!
I find it helpful to focus on the things I can control. Among those things are your study habits and how you spend your personal time. Itâs good to work hard and have goalsâwithout them we would get nowhere. Study hard and make decisive strides towards achieving your art goals. But in the heat of that pursuit, donât forget to go out and live your life!
If you spend any amount of time looking at artists online, youâve probably figured out by now that there are about a million dudes and dudettes in internetville who draw better than you (I relive this realization daily). Once your have done your best to rise to their level, the only tool you have to compete with these crazy talents is your background, your personal characterâis you!
Consider developing your whole self with the same raw focus and intensity that you develop a particular skill set. Get focused. Go out, have adventures. Run, jump, skin your knee, fall in love, root loudly for the away team at a baseball game, barely escape a crash of stampeding rhinos, live to see another day. Experience things big and small. Go for a walk. The world is full of wonders.
I know this advice is not particularly animation-specific, but maybe thatâs for the best. At any rate, it is something I feel strongly about. Animation is great, and there are few things that I enjoy doing more than drawing and storytelling. But in order to have stories to tell, first you have to live them.
Be good, and see you soon!
PS, if you were looking for advice on draftsmanship you should probably be reading this.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Made with Paper
Made with Paper