HNHacker News
TopNewBestAskShowJobs

maxmorlocke

95 karma · joined September 1, 2017

submissionscomments
maxmorlocke··on Tips for Building High-Quality Django Apps at Scale – DoorDash Engineering Blog
Having built a few Django apps at a lower scale than Doordash, the battle scars they have around migrations are very, very real as a codebase grows. You don't have to be at web scale to get into cross-app migration pains... and even with a single developer the pain of the makemigrations race condition is real (context switching hurts in all the ways). If you have to come away with any one specific action item, pay attention to what they say here.

Beyond that, there are some landmines around caching beyond the model scope. In a multitenant application, be very, very careful using the cache decorator at the view layer. You can get some nasty cross-contamination. The test framework also doesn't manage separation of caches when doing parallel tests, so you can get some serious oddities that are painful to figure out the cause of in parallel tests with caching.

I'd also love to hear how they manage keeping the test framework fast, clean, and reliable... assuming they use django's test runner. There's a lot of 'best practices' you pick up along the way w.r.t. keeping tests performant and valuable.

maxmorlocke··on Google 20% time volunteers have been rewriting the ITA Matrix flight search app
We’re actually moving away from the subscription model - you can visit our homepage and get the extension installed for free now. The official announcement goes out Monday…

[and yes… that was why we went with a sub model over pay per use]

maxmorlocke··on Django for Startup Founders: A better software architecture for SaaS startups
As a startup CTO and heavy django user, I'd agree with the general assessment - there are some things I don't like stylistically... but that's style. Everything in here is well reasoned and systematically covered. Kudos to you and your team for thinking this through and sharing it.

As an example of some nitpicks: * I never interact with the raw request data, I pass that through to a form or serializer for validation. It handles the null/blank string based on my configuration. In fairness to your approach, your code is much more readable and will be substantially easier for someone who is new to Django to pick up. * I use mixins to handle fat models, while also pushing validation logic into serializers. * I separate out all my files and prefer to have small, atomic files that are easily testable (e.g. models, views, etc. are all micro-sized files). * args/kwargs is super handy when doing something really simple, then calling super. I feel like this is an exception that should always be allowed, but otherwise strongly agree. * I bias towards class use, even though I agree there's no real need. I find this to be a good convenience for new developers coming aboard.

I want to reiterate that I feel like these are nitpicks / minor disagreements of compromises. Using a document like this as a guidepost is awesome for a new team kickstarting with Django - better to have a reasonable, well thought out set of rules codified than to have a whole hodgepodge of design decisions.

maxmorlocke··on Jaywalking decriminalization, 100 years after the auto industry made it a crime
Quick check in NYC shows that there were 1.7 deaths / 100K for black folks and 1.8 for white folks between 2012 and 2014. Given the urban/suburban breakdown by race, I'd be inclined to limit the geography to not include, say... Wyoming. Comparing NYC is also valuable given the variance in enforcement of jaywalking along racial lines that we explicitly know about thanks to their open data policies.

https://www1.nyc.gov/assets/doh/downloads/pdf/epi/databrief8...

maxmorlocke··on Jaywalking decriminalization, 100 years after the auto industry made it a crime
Because jaywalking is very frequently used by police to target communities of color. As an example, 90% of the jaywalking citations given in NYC in 2019 were issued to people of color.
maxmorlocke··on Ask HN: Any well funded tech companies tackling big, meaningful problems?
Lexria (https://www.lexria.com) is focused on helping solve student loan debt issues through bankruptcy.
maxmorlocke··on Amazon threatens to suspend Signal's AWS account over censorship circumvention
I posted on the signal community forums in significantly more detail (e.g. how to configure nginx exactly with test connections), but it's relatively easy to use AWS infrastructure only for pass through and configure nginx to accept specific public SNI headers while connecting to domains you are authoritative for (e.g. google.com, amazon.com, yahoo.com, yandex.ru). You can do this by using the ssl_preread nginx module to proxy based on the SNI header (e.g. amazon.com -> 127.0.0.1:444, google.com -> 127.0.0.1:445, yahoo.com -> 127.0.0.1:446). This effectively means that you are not having AWS or GAE do anything other than directly proxy encrypted content, which I would argue is an important distinction.

The downside is that no one is providing the DNS redirect in an encrypted transaction.

maxmorlocke··on Ask HN: Who is hiring? (April 2018)
MineralSoft | Austin, TX | Software Engineer, Senior Software Engineer (fullstack, frontend, backend) | Full-Time | Onsite

We organize and analyze proprietary data around mineral rights assets. This is a huge, hidden market that's been trapped in 80s technology.

Stack: python, django, aws, ubuntu, postgres, redis, docker

more detailed job descriptions at https://mineralsoft.com/jobs

maxmorlocke··on Ask HN: Who is hiring? (September 2017)
MineralSoft | YC W16 | Software Engineer, Senior Software Engineer | Austin, TX | ONSITE

MineralSoft is an integrated data platform for people and companies that own oil and gas interests . Our inputs are complex, disorganized, and fragmented data about oil and gas production. Our product enables our customers to optimize revenue through charts, reports, notifications, and maps.

Programming is mostly in python using django, with some javascript. If you like working where you're empowered to make change happen, drop me an email with your resume at jobs@mineralsoft.com.

NO AGENCIES, NO RECRUITERS PLEASE.

← PreviousPage 2 of 2