[1] https://metrics.torproject.org/direct-users.png?start=2013-0...
1,064 karma · joined March 11, 2007
[1] https://metrics.torproject.org/direct-users.png?start=2013-0...
Hypothetically though - would it be that much better if Linus et al. were turning away people politely with words like "this code doesn't meet our standards of quality because X Y Z" instead of "your code is shit, see X Y Z"? Also, for people at the lead, you need those who can say "no", know when to say "no", aren't going to compromise just because the patch was sent by so-and-so and won't hold back from saying where they see a problem. You also want them to be good at communicating with people in a civil manner. The two are unfortunately orthogonal qualities. It seems to me that we should first take the people who are definitely good enough in the engineering aspect to understand and lead the project, then select the best communicator, rather than seeking someone with a best average score at engineering and communicating. You might get impolite people at the top, but you will guarantee the project won't get worse.
I just hope this practise doesn't spread outside of artsy demos.
There isn't. At least not in any objectively recognisable way. You (and I mean you specifically) can obviously look at a new use and say "this is a new meaning" or "no, this is an error", but that's a subjective judgement and others would think otherwise. It is as impossible as being given a copy of a movie and being asked, by only inspecting the movie, to tell if this was copied from a legal DVD or downloaded from a torrent.
Just look at the verb "to troll (on an internet forum)". It comes from the practise of trolling in fishing, where you tie a bait to a cord and drive your boat around, drawing the bait through the water and waiting for some fish to take it. A lot of people, however, connect it with the race Troll, thinking of it as the practise of a big, nasty creature coming out from under and bothering people. That's not helped by calling the people who do it "trolls". Was the original, fishing term wrong? Was the person who coined the name Troll for a race of fantasy creatures wrong? Were the people who connected trolling with Trolls and subsequently called trolls "trolls" wrong? For bonus points: if two words are written the same and pronounced the same, can they be different words, or are all their meanings different meanings of the same word?
Why not simply use Bresenham's line drawing algorithm to "draw" a reverse-rotated rectangle over your image, but rather than drawing, you'd read pixels and write them to the destination image. You'll need to only rotate the corners of the image once and everything else is simple integer math.
¹ preposterous for the kind of device where doing it any other way is too slow
Edit: replaced stars with dots for multiplication because stars make italic text
1. band-aid around the problem
2. complete rewrite of a large portion of the website
Hah, I thought that was just a tick. You would take a breath before doing any hard physical effort and I'm pretty sure you'd try to do it even in the vacuum of space just because you're used to.
Callbacks really are just like goto. I've seen really awful callback code where you have callbacks that create other callbacks which are passed to callback managers which are themselves finite state automatons and call one of the callbacks based on a return value from another. It's the most horrifying spaghetti code you can think of. It's practically fractal - spaghetti within spaghetti that influence the top layer in an untraceable manner.
While everyone can write spaghetti in any language, few can write good code when given just goto or just lambda. In some cases it's even impossible.
For an SDL2-using game, I tried BrütalLegend and alt-tab works as you'd expect when using OpenBox. I usually just run games in a separate X server with just OpenBox to isolate them from messing with my main desktop. Plus, they can't block ctrl+alt+F7.
I guess we're saying mostly the same thing, just worded differently.
In the case of electricity (etc.) there's an actual amount of work that goes into each KWh and that's what you pay for. With internet, there's just the upfront cost of connecting a router and paying a sysadmin team to support it; after that, operating it is a flat cost no matter how many packets pass through it.
The power costs per GB sent/received are negligible, the money goes towards maintenance of the network and ethernet cable doesn't degrade based on how many bits pass through it. If too many people utilise the network, then just throttle them and start dropping connections from the more aggressive ones.
Perversely, I would be perfectly fine with you dropping my connections if I try starting 100 parallel downloads or charging me the same whether I download 1GB or 100GB this month, as long as it's a nice flat reliable fee.
Edit: about "that's how all utilities are measured". They aren't. Road tax is flat, but I can drive on the road for as long as I like as fast as the rules permit. Except it's slower when too many people do it at once. I want my internet to be like a road. (disclaimer: maybe road tax isn't flat where you live, but it is in many parts of the world, so please imagine we're talking about them for the purpose of the analogy. you may also need to pay a higher tax to use the highway, but it's still flat. it may also vary per type of vehicle but it's still flat.)
- Xup/Ydown MBps for connections within the country (i.e. ones for which we can guarantee the infrastructure)
- X2up/Y2down MBps for connections farther away (i.e. subject to more variables)
- If you exceed N simultaneous TCP sessions, we reserve the right to drop some of them when the network is under load.
Basically, see how much you're getting from your provider and in how many pieces you can slice it and how much it will cost to buy fatter pipes when you have more users.
Give mid-bounds for speed - tell the customer their speed is usually this, but might be less under very heavy load (rare) or more when the network has spare capacity. But do sell slower/faster connections. This way you can sell better connections more expensively to people with more money.
Never put limits on how much data a user can down/upload. That is limited by their speed.
Make sure your equipment won't die if someone really does start an http server and posts the link on /. with "an experimental raspberrypi http server that can serve 100k simultaneous connections; do your worst :)".
Basically, I want my connection to have low latency, 99.999% reliability and you want me to pay as much money as I'm comfortable.