715 karma · joined March 11, 2015
So using non-django templates would rule out this kind of thing right?
The thing that bothers me personally about these examples is that there are a lot that end in 0x000000 or 0xffffff, i.e. all bits set or all bits unset in many of the trailing bits.
If you use this for a hash table, a common way that you get your index into the table is:
index = hash_result % table_size
If you use power-of-two table sizes, then you are going to get these collisions, even though the upper bits differ.You can use a non-power-of-two table size to compensate for this (prime sizes are typically the most robust choice I think) at the cost of a more expensive modulo operation. See more here in the first section: https://en.wikipedia.org/wiki/Hash_table#Hashing
So if a hash function has lots of collisions it will use the memory of the hash table less efficiently and cause inserts and lookups to be slower. I think collisions are undesirable for other reasons too, none of which are coming to me right now.
For the employee cost I agree if you just have a couple boxes pumping out data your labor cost will be quite low. I'm imagining what else you might have happening on your back end using AWS services that you'd also have to replicate in your colocated installation to preserve the efficiency, which would take labor. For example, if you want some extra machines to do some load testing. Or if you need to store a bunch of data and want an S3-like system. Or if you want to wipe a machine and reinstall from an "image". The backup system, and backups testing. RDS, Aurora, DynamoDB, etc. Most of that can be done with a couple clicks on AWS.
- assume $100/TB for cloud data transfer
- assume one employee full time equivalent to manage colo'd servers ($10,000/mo), plus $30/TB data transfer
The break even point for the colo'd setup from a networking perspective is:
10,000 + 30X = 100X
X = 10,000/70 = 142 (TB/month)
At 1MB per "request" I believe this works out to about 50 requests per second average to reach this traffic level.Weaknesses of this model:
- Data transfer only. Depending on what else you're doing you could also save a lot on compute and storage.
- I don't know that much about how colocated data transfer would be priced ... i.e. do you need overprovision to guarantee availability, etc.
- one employee to handle servers to replicate the Amazon AWS experience ... could be highly variable depending on what AWS features you are using.
For example, I didn't want to go to grad school or work for a megacorp, so I didn't have to worry about my grades. But a lot of my classmates did want those things, which require large scale impersonal evaluation, so they had to sweat about their grades.
- ability to have certain sites run site-specific extra processing: i.e. youtube-dl youtube links
- ability to have a list of sites to be archived periodically instead of once only. And the option to be notified when a site updates. even if it were run as a batch job
- ability to ingest a PDF or ebook, identify all the URLs, snapshot all the URLS, present them as a list that links to the original, cached version, the page location
- would also be nice if the data could be stored in a human readable structure in a normal filesystem, so your ability to use the data isn't dependent on your ability to run the tool.
Overall I think it is an interesting project but the commercial potential is limited.
EDIT: maybe the document processing and periodic check thing would make more sense as a higher level tool that depended on the bookmarking tool -- and the extra processing also might make more sense as a plugin type architecture.
For example, if you inspect this page, you'll see that it has about 150 lines of Javascript.
There are two ways to change a webpage:
- manipulate it with Javascript
- reload a new page with the changes applied
If your page loads quickly and not all that often, you can get pretty far without Javascript. If you are willing to tolerate a pageload on each interaction, you don't need any Javascript.
Edit: Here is a particular video I liked: https://www.youtube.com/watch?v=q6xovvpuMQo&list=PLZioPDnFPN...
What impresses me least about McDonald's is their ruthless child-targeted advertising.
EDIT: in sort of a quaint way the incentive structure is reminiscent of the manorial system.
I think both of us have a very strong sense of property rights, only we disagree who to ascribe them to. I think it belongs to the airline, so if the man wants to create a dispute with the airline, he should be the one to take it to court (and he probably will.) From my POV, you are saying the man has property rights over the seat because he had a ticket for it and had his arse is in it.
I'm not aware of any situation where you can legally be involuntarily strip-searched without being arrested. Maybe by customs but I'm not sure.
Personally, if the flight crew instructed me to strip naked or leave the plane, I would just leave. I can't foresee any situation where I would physically fight the staff for my seat, or recommend anyone else to do so.
Whether or not bumping him is fair, there is no question about who owns the aircraft and has responsibility/authority. No one would want to fly on an airline where a stubborn passenger could override the flight crew.
One thing that Joel's list isn't, it isn't how-to-develop-software, or how to manage software projects, etcetera. There are many books about that. Joel's list is about recognizing ineffective leadership that will waste your time, which is finite, and limit your career and your earning power. And it is a checklist that you should be able to move through during a single on-site interview, not something that requires a four hour conversation and requires you to do an in-depth analysis of their decisions.