- What do you like best about working there?
- What do you like least?
- How would you describe this company's culture? engineering culture?
- What causes the most conflict among employees here?
- What would you change if you could?
- How has the company changed in the past five years? How do you think it will change in the next five?
- How long has the longest serving team member been there?
- What's the average or median tenure?
| from django.test.client import RequestFactory | |
| from django.http import HttpResponse | |
| from django.db import transaction, DatabaseError | |
| from django.db.models.sql.compiler import SQLCompiler | |
| from django.utils import timezone | |
| from silk.collector import DataCollector | |
| from silk.config import SilkyConfig | |
| from silk.model_factory import RequestModelFactory, ResponseModelFactory | |
| from silk.profiling.profiler import silk_meta_profiler |
Compiler design dependency comic, originally from http://www.xkcd.com/754/ Comic courtesy of XKCD, via Creative Commons License
One interview that candidates often struggle with is the systems design interview. Even if you know your algorithms and write clean code, that code needs to run on a computer somewhere—and then things quickly get complicated. A truly unbelievable amount of complexity lies beneath something as simple as visiting Google in your browser. While most of that complexity is abstracted away from the end user, as a system designer you have to face it head on, and the more you can handle, the better.
We’re looking for generalists with depth—people who are good at most things, and great at some. If systems design isn’t your strength, that’s okay, but you should at least be able to talk and reason competently about a complex system.
Read on to learn about what we’re looking for and how you can prepare.
Peter Naur's classic 1985 essay "Programming as Theory Building" argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it's lossy, so you can't reconstruct
Hi Tom!
Here's what the Markdown for a book looks like on macwright.org:
---
categories:
- book
layout: book
title: 'My Year of Rest and Relaxation'
| """ | |
| This file is based on https://github.com/foresmac/django-binaryuuidfield/tree/initial-setup | |
| """ | |
| import uuid | |
| from django import forms | |
| from django.core import exceptions | |
| from django.db import models | |
| from django.utils.translation import ugettext_lazy as _ |
| #!/usr/bin/env python3 | |
| # -*- coding: utf-8 -*- | |
| # @Author: Ariel Torti | |
| # @GitHub: github.com/maks500 | |
| import argparse | |
| import logging | |
| import os | |
| import shutil | |
| import sys | |
| import time |
Thoughts on habits + practices for giving/receiving feedback effectively, as well as creating systems that get better at this with time
- Company Blogs
- Sandya Sankarram
- Michael Lynch
TLDR: JWTs should not be used for keeping your user logged in. They are not designed for this purpose, they are not secure, and there is a much better tool which is designed for it: regular cookie sessions.
If you've got a bit of time to watch a presentation on it, I highly recommend this talk: https://www.youtube.com/watch?v=pYeekwv3vC4 (Note that other topics are largely skimmed over, such as CSRF protection. You should learn about other topics from other sources. Also note that "valid" usecases for JWTs at the end of the video can also be easily handled by other, better, and more secure tools. Specifically, PASETO.)
A related topic: Don't use localStorage (or sessionStorage) for authentication credentials, including JWT tokens: https://www.rdegges.com/2018/please-stop-using-local-storage/
The reason to avoid JWTs comes down to a couple different points:
- The JWT specification is specifically designed only for very short-live tokens (~5 minute or less). Sessions