Everyday Git Aliases - <AUTHOR> http://code.joejag.com/2013/everyday-git-aliases/

<comment><USER2> git staged

alias for

        git log remotes/trunk~4..HEAD --pretty=format:"%C(yellow)%h%C(white) %ad %aN%x09%d%x09%s" --date=short | awk -F'\t' '{gsub(/[, ]/,"",$2);gsub(/HEAD/, "\033[1;36mH\033[00m",$2);gsub(/master/, "\033[1;32mm\033[00m",$2);gsub(/trunk/, "\033[1;31mt\033[00m",$2);print $1 "\t" gensub(/([\(\)])/, "\033[0;33m\\1\033[00m","g",$2) $3}' | less -eiFRXS

Shows condensed log of unpushed changes with colours and truncates HEAD/master/remote to initial letter.

Add to config with:

        git config alias.staged '!git log remotes/trunk~4..HEAD --date=short --pretty=format:"%C(yellow)%h%C(white) %ad %aN%x09%d%x09%s" | awk -F"\t" "{gsub(/[, ]/,\"\",\$2);gsub(/HEAD/, \"\033[1;36mH\033[00m\",\$2);gsub(/master/, \"\033[1;32mm\033[00m\",\$2);gsub(/trunk/, \"\033[1;31mt\033[00m\",\$2);print \$1 \"\t\" gensub(/([\(\)])/, \"\033[0;33m\\\\\1\033[00m\",\"g\",\$2) \$3}"'

Although I've changed it a bit since I worked out the above. Here's what I currently have in my config file:

        	staged = "!sh -c 'git log ${1-remotes/trunk~4..HEAD} --pretty=format:\"%C(yellow)%h%C(white) %ad %aN%x09%d%x09%s\" --date=short $2 | awk -F\"\\t\" \"{gsub(/[, ]/,\\\"\\\",\\$2);gsub(/HEAD/, \\\"\\033[1;36mH\\033[00m\\\",\\$2);gsub(/master/, \\\"\\033[1;32mm\\033[00m\\\",\\$2);gsub(/trunk/, \\\"\\033[1;31mt\\033[00m\\\",\\$2);gsub(/$USERNAME/,\\\"\\033[0;33m$USERNAME\\033[00m\\\",\\$1);print \\$1 \\\"\\t\\\" gensub(/([\\(\\)])/, \\\"\\033[0;33m\\\\\\\\\\1\\033[00m\\\",\\\"g\\\",\\$2) \\$3}\" | less -eiFRX' -"

</comment><comment><AUTHOR> I'd love to hear what aliases other people use in their workflow

</comment><comment><USER3> whoiswinning

        $ alias whoiswinning
        whoiswinning='git shortlog -s -n'
        $</comment>


Disconnected - <AUTHOR> http://paulrouget.com/e/taiwan2013/ <comment><USER2> I've noticed that many of us with a hacker mindset (myself included!) have this innate need to optimize / maximize / minimize... For me, this often leads to "all" or "nothing". I have to drink either 6 beers or no beers, eat 6 donuts or no donuts, code all night or not code at all. On one hand, I like it this way. It gives me a chance to harness that energy to accomplish a lot in a short period. On the other hand, sometimes I just wish I were more normal and would love to find a happy medium.

OP is doing the same thing here. Going from (probably) overload to zero. I wish him the best and I'm sure he'll learn a lot about himself.

Hopefully he, I, and a lot of others like us will learn to find a way to thrive somewhere between all and nothing.

<comment><USER3> I never understood the all or nothing mentality, especially among developers.

Coding all night is the most pervasive example. I wake up before 6 AM every day so I'm physically tired by 9 PM. Usually I'm mentally tired well before dinner. Maybe "all night" is a euphemism for "a long time" and I'm over thinking it but I consider it a productive day when I get 3 hours of work on a side project done in addition to my day job.

That being said, I have no problem going home and spending time with my family and not doing anything on my phone, computer, or even Xbox, so maybe it's just me.

EDIT: I don't want to be that guy, but isn't it a fairly commonplace meme among programmers to argue _against_ 8-10-12 hour coding sprints for their employers because you can really "only" get 4-6 hours of good programming time out of someone in a day?[0]

[0] Citation needed

<comment><USER4> I regularly stay up until after mindnight doing stuff, and up at 6am. I simply don't sleep that much. If I go to bed before that I tend to toss and turn and don't get a lot of sleep anyway so I figure why not be productive.

Most nights I'm working on code or writing or gaming though I occasionally will stay up and read a book.

I think you _can_ get more that 4-6 good hours of good work out of programmers so long as you break it up. 12 hours is possible on occasion but not daily. You will burn out and become brain fried, but if you break it up, say 4 code 1 doing something completely different 4 code 1 something different and 4 code you can do it on a more regular basis.

And by 'something different' I mean engaging different parts of the brain. Paint, write, clean house, yard work.. something that gets you away from and disconnected from the computer and the work. Gaming might qualify but if your on the computer or XBox your not really disconnecting from the tech.

<comment><USER5> > 12 hours is possible on occasion but not daily. You will burn out and become > brain fried, but if you break it up, say 4 code 1 doing something completely > different 4 code 1 something different and 4 code you can do it on a more > regular basis.

Before I had a real job I used to work in a supermarket. Other than that I'd usually game or code and now and again watch TV. My favourite was Saturday when I worked from 1pm to 10pm. I'd then come home and be up until 2 or 3am gaming or coding. The next day I'd wake up around 8 or 9am and code some more.

For the past few years I've had a proper 9 - 5 (+) job. Here in the EU nobody seems to work crazy 80 hours weeks, but I hardly ever get home before 6:30pm. This year I've been trying to do One Game A Month [1], and really I just haven't had the time or energy to do it. In the evening I hardly ever feel like coding more, and at the weekend I can usually only get around 6 hours before I've had enough. I would love to be able to spend as much time coding on what I want as I did 5 years ago :)

[1] <http://www.onegameamonth.com/>

</comment></comment></comment></comment><comment><USER6> In the middle of my doctorate I did something similar. I disappeared for 6 weeks on Amtrak. I took a stack of books with me and a list of places to see in the US. I went _everywhere_. And I paid for the trip by writing some Lotus 1-2-3 code at the very start.

That trip was the only reason I managed to come back and finish.

<comment><USER7> That's awesome. I recently took an Amtrak from Tuscaloosa, AL to New Orleans, LA for a weekend trip, and got some coding done along the way. Man was it beautiful, and working in the snack-car was perfect. I thought about doing something similar to what you just mentioned - but I need a little more money and a lot more time to do it haha. What were the best trains that you took? The Crescent line was pretty nice and looked like it stopped in some cool places further North than my journey.

<comment><USER6> I think the best was Houston to LA and sitting in the observation car across AZ. But also going through the Rockies, across Alabama, and side trip to Grand Canyon on an Amtrak bus.

Bear in mind this was 1990. No mobile phone, no laptop. Just rucksack, books, an AT&T calling card for when I saw a pay phone to call home, 1-800-USA-RAIL for reservations, and a copy of Let's Go.

I had one of these: [http://www.amtrak.com/take-the-trains-across-america- with-us...](http://www.amtrak.com/take-the-trains-across-america-with-usa- rail-pass)

</comment></comment></comment><comment><USER8> In 2000, I worked in Kennicott Alaska for three summers, four months at a stretch. It is a town of about 100 people at the end of a sixty mile dirt road in the center of the nation's largest national park. There was a payphone, satellite, but there was a three to five second delay, making conversations difficult. It was rarely used. I wrote many letters.

Now, I see friends who live there posting every so often on facebook. By phone.

I miss those days, just a decade ago, when remote meant remote.

I take a weekend a month now and drive the 45 minutes out of town into the higher desert of Southern Arizona and spend at least 24 hours offline. No cell service, no electricity, and even the radio stations don't make it.

<comment><USER9> During that information/connection blackout, what do you do? Just sit there in the car, looking at the stars?

<comment><USER8> Ha, no. I camp. It's National Forest Service land, so you can throw up a tent wherever you like. I sit down with a bottle of beer, throw a steak on the fire, and read a book.

<comment><USER9> Ah that seems awesome.

</comment></comment></comment></comment><comment><USER10> Can you really go offline these days? I mean, beside my work (which obviously happens to be online), here are things that I do on the Internet.

1\. Connect with my family. International calls are so expensive and I'm accustomed to the video calls luxury that Skype gives for free.

2\. Buy Stuff. First, I get a wide range of choice; and second, it saves me time.

3\. Pay bills. (Internet, Water, Electricity...)

4\. Entertainment. Watch movies, music, and TV series.

5\. Book an airline ticket and an hotel (just did it, so it came to my mind). The alternative is to get in touch by phone with a travel agency that I'll need to go to physically to pay.

6\. Withdraw money from an ATM.

The Internet is now too blended with our physical life. I think it's wrong to try to fight it. It made our life easier and it's improving our life.

If you are being stressed, then it's because of the way you are handling your work. 2 months won't cut it out. You need a radical change on how you work, and not how to use the Internet. You can be stressed on an offline job too.

I know because I'm in the same boat, and I'm still figuring out how to change it.

<comment><USER11> > Can you really go offline these days?

Sure, 4.5 billion people do it daily.

<comment><USER12> Only for very restricted definitions of "online". 75% of the world population has a cellphone.

<comment><USER13> Please. There are around a billion smartphones. Dumbphones do not count as "online". At least, certainly not in the context of csomar's comment, and not in the context of paulrouget's blog post.

<comment><USER12> Why not? Between WAP and SMS, you can do a _lot_ of online stuff, like using Twitter, sending emails, making bank transfers, getting Google Calendar alerts, paying bills, book flight tickets and more. Especially in the countries where people don't have smartphones or computers, this is extremely common.

I think it doesn't make sense to exclude them just because they use a different interface.

</comment></comment></comment></comment></comment><comment><USER14> Lived in Taiwan for six years. It's a very special place, whether you're interested in immersing yourself in Chinese language/culture or starting something new.

Like many Asian countries, it's also a very dynamic place -- the pace of change really is quite amazing. I've blogged about this in the past (see [http://www.ilamont.com/2009/08/taiwan-double- takes-1993-2009...](http://www.ilamont.com/2009/08/taiwan-double- takes-1993-2009.html) ) but it's great to be able to see it up close.

Good luck.

</comment><comment><USER15> Unfortunately you may find out you're one of those people that can't slow down - all you do is swap one all-consuming obsession for another.

<comment><USER16> Power to him I say - trading one obsession for another can still provide the cognitive reset and reinvigoration that he's looking for.

</comment></comment><comment><USER17> I think one of my greatest regrets about being a developer is how difficult it is to remain offline. Certain scenarios, such as maintaining uptime and being aware of security releases, requires almost constant check-in. The best resources and discussion on the profession can't be found in print. And the nature of the work, well, is inextricable from being on a computer

<comment><USER18> Thats why I have the hard rule of not being reachable on holidays and state that upfront. I never take a computer with me and often go to places where there is no reception at all - so I couldn't, even if I wanted.

Clients have to cope with that, thats part of the game.

<comment><USER19> I _live_ in a rural valley with no mobile phone reception. If people call me when I'm home, they get my voicemail. I do have an internet connection at home, but it's not fast and I rarely use it.

I'm on a computer all day at work, and work hard - when I go home, I have little inclination to then use a computer again, even if it's for leisure or games.

</comment></comment></comment><comment><USER20> I've spent a few weeks abroad (outside of the US) with the knowledge that I might be exposed to work despite being on vacation (my domestic "vacations" mostly mean working a little less and maybe being in a different place while doing it).

The best experience was by far the first, when I had almost no contact with clients/partners and actually did manage to spend almost all of my time being half-lost and confused, entertaining the natives with my awful language skills, and generally learning about what another place is like rather than learning what it's like to do the same thing somewhere else.

Disconnecting is only half of it, but it's the most important half. Being connected to all things Work means you're still in the same place, wherever you might be geographically, and you can't possibly concentrate on the other half -- actually immersing yourself in something different -- enough for it to impact you as much as it otherwise could.

</comment><comment><USER21> Paul has been doing some fantastic work in the last few years, he definitely deserves the break.

<comment><USER22> I'm sure you didn't mean it this way, but for a third party to "justify" anyone's break is less than necessary.

In my eyes a break need not be earned by doing great work. People need time off. They need time to think, develop their interests, and do things beyond what their job or career demands from them.

Ideally for all of us this time would come (many times, and often) before retirement. If you haven't seen this TED talk, a brilliant furniture designer talks about his 7 on, 1 off lifestyle and makes a call for us to rethink the power of time off.

[http://www.ted.com/talks/stefan_sagmeister_the_power_of_time...](http://www.ted.com/talks/stefan_sagmeister_the_power_of_time_off.html)

<comment><USER19> But.. but.. then there'd be a _gap in your CV!_ Shock, horror.

</comment></comment></comment><comment><USER23> Having this kind of experience gives you a tremendous amount of perspective that it is hard to get in any other way. I figure he'll either come back even more passionately engaged in his development career, or take a right turn into a different direction. Either way is fine, of course--the important part is having the perspective and distance to choose wisely.

</comment><comment><USER24> Everyone needs to do this regularly. You'll realize how pointless so much of your internet time really is. I've quit forums/sites I was addicted to quite easily by just getting away for a while then never checking those sites again when I came back. Your brain needs a break, too.

</comment><comment><USER25> lived in china for six months and almost disconnected, i can say that was awesome experience. it has been 3 years since then and i noticed with your post, i need it too. coding is challenge and fun but if you put a startup pressure on it with high entrepreneurship spirit without any monetization, it gives you nothing but consume your life. anyway have fun, I'll give a break at the end of 2013.

</comment><comment><USER26> I don't think I could pull it off. I admire it so much but I doubt I'm interesting enough to spend two months alone. I'd definitely break.

</comment><comment><USER27> I'd like to recommend a good book for this kind of journey:

Total Freedom: The Essential Krishnamurti

www.amazon.com/gp/aw/d/0060648805/ref=redir_mdp_mobile

<comment><USER28> Non-mobile link: <http://www.amazon.com/gp/product/0060648805/>

</comment></comment><comment><USER29> Good decision. I have been in Taiwan before and want to move there in December.

</comment><comment><USER30> I think this is great. I hope he writes a follow-up when he comes back.

</comment><comment><USER31> Taiwan is a great place. I wish the OP luck.

</comment><comment> at-fates-hands What a smart guy to realize he needed to take a break and unplug. Too many people just never understand you don't HAVE to run the rat race and never take a break.

As a side note, after several epic burnouts myself, I re-discovered how important meditation and relaxation skills are to avoiding burning out. It doesn't take much time or somewhere special and it can have profound effects on reducing your stress levels.

</comment><comment><USER32> I do my best to keep weekends family time - and I think I would be better off keeping them disconnected too.

Maybe a day a week away from the world is a good idea, and with a family about all I can hope for :-)

<comment><USER33> I don't think complete disconnection is important. What is important is what you are doing while you are connected during your personal time.

I used to have a hard time getting away from work. Now I don't check emails and I avoid programming on the weekend. If the servers melt someone will phone me. I used to find checking emails was stressful. Someone would report a small issue and the little thing would nag at me to fix it. I found it hard to relax.

One weekend I assumed the world wasn't going to end, I assumed my help wouldn't be required. I kept my phone with me. Been enjoying completely work free weekends ever since.

<comment><USER32> It's like a Prophet come down from the mountain and said, you know you can just leave work at 5 pm Friday and not go back till 9am Mon

</comment></comment></comment><comment><USER34> Who is this guy? Why does Hacker News care about some blog post on his personal life?

<comment><USER35> must be weirdo</comment></comment>


Putting your intelligence to the ultimate test - <AUTHOR> http://www.newscientist.com/article/mg20827841.300-putting-your-intelligence-to-the-ultimate-test.html <comment><USER2>
      > You need to log in to read this article</comment>


Crystal vs. Node.js vs. Golang vs. Julia vs. Rust vs. LuaJIT vs. C Fibonacci Benchmark - <AUTHOR> http://blog.seraum.com/crystal-lang-vs-nodejs-vs-golang-vs-julia-vs-rust-vs-luajit-vs-c-fibonacci-benchmark <comment><USER3> If you compile the Rust example with optimization (-O) it just throws the result away, which gives the ~0.030 time chrisdouay found.

However, if you add a println!() around it, it has to calculate the result. Here's the running time:

        > time ./fib
        1134903170

        real    0m2.242s
        user    0m2.240s
        sys     0m0.000s

I tried the C example as well (with -O2) and found this:

        > time ./cfib
        1134903170

        real    0m4.671s
        user    0m4.670s
        sys     0m0.000s

So.. which one is faster again?

This "comparison" unfortunately seems too naïve to not be on purpose - <USER2> analysis, no real discussion, not even some reasoning about the defaults and why the big difference in numbers. It seems to be just looking for views/comments (even if negative) without any intention to produce real content. What worries me are the ones that will take this for a real benchmark and just "share on facebook" and spread more disinformation.

</comment><comment><USER4> How was this stuff compiled? There's no way to reproduce these numbers without compiler flags, at least.

For example, with "rustc fib.rs", I get 10 seconds as a runtime. With "rustc -O fib.rs", to turn on optimizations, I get 0.034s. This makes me pretty sure that they did not turn on optimizations, which means the Rust numbers are very misleading, and possibly, the other languages as well.

<comment><USER5> I get 0.034s => this means the compiler run the code and puts directly the result in the binary file. So, when you run the binary, it only println(result)

</comment></comment><comment><USER6> I don't love the conclusion, a single Fibonacci benchmark is fairly light evidence to blanket state Crystal is as fast as C. It's also fairly toothless on comparison of other languages.

</comment><comment> FourierT-form _COUGH_ Tail recursion _COUGH_</comment>


Analyse Asia 45: The Rise Conference 2015 with Mike Harvey - <AUTHOR> http://analyse.asia/2015/07/15/episode-45-the-rise-conference-2015-with-mike-harvey/ <comment><AUTHOR> Synopsis: With Mike Harvey, head of strategic communications from Web Summit, we discuss "behind the scenes" for the upcoming Rise Conference 2015 in Hong Kong and his thoughts on the Asia digital landscape. We hear the story of why they decide to bring the conference to Asia, the key people who will be speaking in the event and also the activities which will happen before and during the conference.</comment>


Show HN: Trekk, Drupal for Universities - <AUTHOR> http://trekk.drupalconnect.com/

<comment><AUTHOR> Here's a demo video of Flatfish, the part that handles the migration from legacy sites: <http://www.youtube.com/watch?v=YWY5tU8ECJ0></comment>


NumPy in PyPy - status and roadmap  - <AUTHOR> http://morepypy.blogspot.com/2011/05/numpy-in-pypy-status-and-roadmap.html

<comment><USER2> it's a pity that they need to implement this in RPython. if it really is for only a tiny set of functionality (like SSE functions) couldn't they just implement that part? perhaps in a general sse library that other people could use? or as PyPy extensions?

<comment><USER3> I'm not sure I understand what you're saying here. The stuff that has to be re-written is everything in Numpy that is performance-critical and currently written in C. Given the nature of Numpy, that's almost everything.

The only alternative would be to make PyPy compatible enough with CPython to be able to load Numpy, but that would prevent you from taking advantage of many of PyPy's best features.

The only tiny set of functionality referenced in the article is the portion of Numpy which has already been rewritten as a proof of concept. Much, much more still has to be done before there is a generally useful version of Numpy for PyPy.

<comment><USER2> the idea behind pypy is that _python_ code should be efficient. so you would expect them to rewrite numpy in python.

they are not doing that. they are using rpython instead. rpython is lower level. it is what is used to write the core of pypy.

which raises the question - when should people use rpython rather than python? and that is answered, at the link, by someone saying that people should almost always use python, not rpython. the need for rpython here is based on low level considerations like access to sse instructions.

[edit: where i wrote "couldn't they just implement that part?" i meant "couldn't they just implement that part _in rpython and the rest in python_?". hopefully that and the above clarifies things.]

<comment><USER4> What about hints to the JIT and other things you can do at that level? This is a decision being made by people having worked on PyPy for years, if there is anyone who is able to make a good decision about when to use rpython instead of python they are.

<comment><USER2> if hints to the jit are important here, why aren't they going to be important in other places too? is numpy really so unusual? or is every performance- critical library going to end up in rpython?

and sorry if thinking for myself rather than blindly trusting others offends you.

<comment><USER5> The idea is that most of the regular numpy (for CPython) is not written in Python anyway. It is actually written in C. For PyPy, they will be writing major portions of it in RPython instead of C, and RPython is way more high level than C.

<comment><USER2> i know numpy is largely written in c. i am not sure whether i am incompetent at explaining myself, or if people simply are not reading what i post.

my point, again, is that pypy is supposed to give speed comparable to c (particularly in tight loops that don't have changes of type, which you would imagine numpy to be) without needing to write in either c or rpython - you can just use python.

and this is confirmed by the poster on that thread, who said that numpy was exceptional, and that other people should not need to use rpython... my original comment, then, was that perhaps whatever was unusual could itself be abstracted out and made available at the python level.

it's really not that hard to understand, is it? :o(

<comment><USER3> The "unusual code" portion of numpy is the entirety of numpy. It's BLAS for Python. Once it's well-optimized, basically any other numerical code or libraries for python (things like scipy and probably large portions of PIL, and applications built on them) should do reasonably well written in pure python running on PyPy. The JIT in PyPy should be able to offer good performance for non-numerical, dynamic, branchy code, so you will very rarely have to drop down to a lower-level language (C or RPython) except for FFI.

JITs can help with tight loops that can't be identified and optimized at compile time, but that's not what Numpy is composed of, and code using numpy shouldn't have to go through several iterations before the Numpy routines get identified as hotspots and optimized. Numpy implements algorithms that are designed to be easy to statically compile into machine language code that makes efficient use of memory, FPU, and cache resources.

<comment><USER2> i still don't understand why the jit can't _also_ do a decent job on "easy" code. i can see that sse and, as you mention, the need for warm up would be an issue. but if that is the case why not include ways to support sse and flag that assumptions about types are reliable in _python_? (or, if that's just too hard, make it _easy_ to mix rpython and python - perhaps i am mistaken here but last time i looked that seemed to be completely undocumented and apparently hard).

it's often the case in numerical code that there's some algorithm that you can't convert into standard matrix routines, but you still want it to run fast. when you're using BLAS + fortran (or c) that's not a problem. but here it will be.

sure, that was also an issue with numpy - but why can't pypy be _better_ than old numpy?

[i am not trying to ask for the technically impossible here - i'm saying that numpy is not so amazingly different that rpython isn't going to be necessary for other projects. either make rpython accessible, or do numpy in some other way - what bugs me is the "we can use rpython because we're special, but you can't because you don't need the power" attitude]</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Why it's Impossible to Estimate Software Development Time - <AUTHOR> http://blog.hut8labs.com/coding-fast-and-slow.html

<comment><USER2> Most software projects fail because they don't have an adequate plan. The number of times I've been brought into a software develop project where there wasn't a plan, is like, every single time.

Waving you hands while telling a story IS NOT A PLAN!

People can't even seem to do basic wire frames. It's ridiculous. How on earth are you going to be able to make an estimate on something for which there isn't even a basic plan? And I'm not even talking about a spec here, just even a higher level plan that describes the project from a user point of view, proposed functionality, features, expectations, budget, etc.

I get it, making a plan is difficult and boring work, but you know what? If you can't make a freaking plan you certainly won't be able to build a product. The plan is there to gain insight in the problems you're going to run into. Let's solve all of the shit we can solve before we start writing code so that when we do run into issues, they are genuine issues.

</comment><comment><USER3> There's also the problem of undecideability as outlined in "Large Limits to Software Estimation": scribblethink.org/Work/kcsest.pdf, plus supporting material: [http://scribblethink.org/Work/Softestim/softestim.html](http://scribblethink.org/Work/Softestim/softestim.html)

Between psychological (biases) and neurological issues (like 5 +/\- 2) and mathematical limits, estimation is pretty hopeless.

</comment><comment><USER4> So on the other hand, then why do we estimate (with extremely limited information) that this project will take 7 months for 8 developers, and exactly TO THE DAY, we deliver the final projects 7 months later and the client is happy?

AKA you can't estimate pieces, but you can still say this will be done in 3 months, and then you manage scope etc. so it's done in 3 months.

Or: you can't estimate how long this will take, but you can set a "how long" given flexibility in the "this".</comment>


The Infinite Set: On '2001: A Space Odyssey' - <AUTHOR> http://reverseshot.org/symposiums/entry/2013/space_odyssey <comment><USER2> What a great essay. Worth the read.

 _" Upon reaching Jupiter, Bowman is guided into a wormhole, triggering Trumbull's bravura psychedelic sequence. On either side of a perpendicular line dividing the screen, two vertical planes of brightly colored lights and shapes emerge, rushing past and out of frame, giving the illusion that Bowman (glimpsed in a juddering cutaway shot and then in paralytic stills) is racing through a corridor of infinite dimensions at speed-of-light intensity. Modeled in part after the avant-garde films of Jordan Belson (who later created special effects for The Right Stuff) and fraternal animators James and John Whitney (collaborators with Saul Bass on Vertigo's title sequence), Trumbull recreated screen space with his slit-scan technique, combining long exposures of circuit board diagrams, Op Art prints, film negatives, and electron microscope photographs for this sequence, which cleverly exploited the simple x and y axis geometry of an ideally proportioned widescreen frame."_

That scene is probably my favorite movie scene of all times. My dad was a big fan of _2001_ , and made me watch the movie when I was 13 or so- I missed a lot of the subtleties, but that last part of the movie added a new layer to existence that I could have never conceived of before. For a nerdy teenager who was really into science and sci-fi, it was mind blowing to be exposed to such an artistic depiction of the subjectivity of the human perception of time and space, and the ambiguity of reality.

It's interesting to read the techniques that went into making it - it's a very creative use of the medium. I can't help but feel that CGI has put special effects designer into a box of vertices and polygons, resulting in special effects that all look the same. I certainly can't think of a single movie that has something as unique and distinctive as the wormhole scene in _2001_. I had high hopes for _Interstellar_ , but it fell very flat (there are some groups doing very cool work in more traditional animation however - I really like Studio Laika, for instance).

<comment><USER3> They were probably the best optical effects ever made.

Also interesting is the way they echo and expand on the imagery of the scenes inside HAL 9000.

[http://metaspatial.net/conferences/io/hal9000.jpg](http://metaspatial.net/conferences/io/hal9000.jpg)

Kubrick was a genius photographer before he was a genius director. It's well worth hunting down the images he took in his pre-Hollywood career. E.g.

[https://twistedsifter.files.wordpress.com/2011/12/photograph...](https://twistedsifter.files.wordpress.com/2011/12/photographs- by-stanley-kubrick-look-magazine-life-in-new-york-40s-6.jpg?w=800&h=823)

<comment><USER4> A good case could also be made for the original Star Wars--albeit in a faster- paced and more action-oriented--as opposed to perfectly composed--way.

</comment></comment></comment><comment><USER5> There is basically a point in cinema history before this film and after this film.

So much of what Kubrick did here has never been replicated, few have even come close to the impact he created on the industry and the level of professionalism he created.

However, that's not to say the end result is particularly enjoyable for me to watch. It's long runtime wears down on me and by the first hour I find myself wanting to watch many scenes at 1.5x speed just to feel like I'm watching a movie and not staring at slightly-moving still photography.

<comment><USER6> Films have been speeding up for a century, in two ways. Editorial geography disappeared in the 1960s. Editorial geography example (not mine): Bogart gets phone call. Bogart gets up, walks out door. Bogart walks out door of building, gets into cab. Scene of Bogart in cab. Bogart gets out of cab, pays cabbie. Bogart walks into apartment building lobby. Pushes elevator button. Shot of elevator indicator coming down. Doors open. Bogart gets in. Shot of elevator indicator going up. Elevator doors open. Bogart gets out, walks down hall, rings doorbell. Lauren Bacall opens door. Bogart goes in. That's editorial geography. At one time, it was felt that audiences would get lost without such a sequence. Today, writers and directors would skip directly from the phone call to an interior shot of the apartment. Jean-Luc Godard's "Breathless" (1960) is said to have put an end to that.

Related to this is average shot length as a metric.[1][2] "2001" has an average shot length of 13 seconds. At the other extreme are the Bourne movies, which are now down to around 1.1 seconds per shot. James Bond movies have sped up over the years, with "Dr. No" at 7 seconds and "Die Another Day (2002)" at 2.4 seconds. This is an industry-wide trend.

Trailers are insane. Trailers routinely break the 1 second barrier today.

So there's been a speedup in two dimensions - removal of unnecessary context, and shorter shots. To a modern viewer, 2001 looks quite slow-paced.

With enough short shots, films can conceal the lack of a plot. (This is a problem with effects-heavy movies. After you leave the theater, you realize the plot made no sense. But it was a great effects demo reel.)

[1] [http://www.cinemetrics.lv/database.php](http://www.cinemetrics.lv/database.php) [2] [http://unspokencinema.blogspot.com/2007/01/average-shot- leng...](http://unspokencinema.blogspot.com/2007/01/average-shot-length.html)

<comment><USER7> That's why I can watch trailers of new movies and feel like I've seen enough. Usually you get the gist of the plot (or lack thereof) along with plenty of spectacular scenes making the rest of the movie unnecessary.

<comment><USER8> The problem is that most trailers actually _don 't_ give you enough to really understand the movie, and they're generally pretty good about not giving spoilers... but they're produced to give you the _impression_ that you've basically seen the whole movie. So it's really easy (I do it too) to dismiss an entire movie based on a 15-second trailer.

Unless you're talking about the Tomb Raider movie. The trailer with the fight between Lara Croft and the robot is basically the first 5 minutes of the movie and you can stop watching after that. :P

</comment></comment></comment></comment><comment><USER9> As regards the wormhole sequence, one must appreciate the innovation in technique, meticulous execution, groundbreaking visuals, and also the incredible cinematic boldness in showing such a long, strange sequence in theaters at the time. Truly impressive and meaningful work, which left an indelible mark on cinema over the past 5 decades.

That said, a part of me has always wished this sequence gave more thought to the physics and what it might be like to visualize the experience of traveling through a gate/wormhole like this. I don't think the coloration, visual patterns, or sequencing represents much understanding of the then-current physics theory on what this sort of thing might possibly be like, and I'm not sure it even captures it well in the abstract.

Amazing cinematic work which moved the industry forward in a positive direction. I just always wished they'd somehow been able to go even further and applied the same brilliance of vision and execution in technique to an even more refined concept that incorporated some viable notions of the possible/theoretical physics involved in traversing through space-time like this.

<comment><USER10> > _That said, a part of me has always wished this sequence gave more thought > to the physics and what it might be like to visualize the experience of > traveling through a gate /wormhole like this. I don't think the coloration, > visual patterns, or sequencing represents much understanding of the then- > current physics theory on what this sort of thing might possibly be like, > and I'm not sure it even captures it well in the abstract._

'Interstellar' did some of that, and they had to hire Kip Thorne as a consultant, and run a render farm to raytrace the relativistic effects.

I'm not sure the theory was quite at the same level in the '60s, and the cinema technique was definitely not the same. It would have been a lot harder to do any degree of realism.

<comment><USER9> Yeah, Interstellar definitely scratched this itch for me, and I appreciated it for doing so.

Certainly the theory has developed greatly since then. But being even somewhat informed about the contemporary physical theory would've made the sequence even more impactful and satisfying, for me personally.

I don't think technique would've necessarily required greater complexity or difficulty. For example, one might have used the same planing technique, but used different patterning and colorization, based on more mathematically derived outputs. Not suggesting any kind of simulation or super-advancement. Just using the same technique, but informing the visuals based on more physical theory.

<comment><USER3> I think that would have been literally impossible in 1969.

Firstly there was no theory of wormholes back then. Black holes were incredibly obscure mathematical abstractions in physics journals that weren't accessible to most people.

Secondly, this was 1968, when the world's faster supercomputer ran at 36MHz. Evans and Sutherland were just getting started when 2001 was being made. There were no GPUs, no digital frame stores, and monochrome bitmapped displays were still exotic.

It's easy to take computers for granted today. You can plot and animate almost anything, and you can do it at home - or on your phone.

Not so in the late 1960s. Mathematically derived animations would have needed a mountain of cash to pay for computer time just to get something very rough and approximate.

<comment><USER9> Why do you assume computers would've needed to be involved? One can plot space-time warping by hand. Indeed, Einstein had no benefit of computer assistance in developing his theories of relativity and gravity warping.

Why assume a complete theory of black holes or wormholes was necessary? Clearly the _concept_ existed. Clearly we had General Relativity. One could imagine a more speculative but still physics-based visualization of what might happen in traveling through such a nexus of space-time.

</comment></comment></comment></comment></comment><comment><USER11> The Alamo Drafthouse in Austin has a 70mm print of 2001, and I was lucky enough to get a ticket to a viewing two summers ago. They even kept the intermission in place for a 151 minute film, a length today that would barely raise an eyebrow (LotR - The Two Towers is 179 minutes).

It really is a mind-blowing film. He changed the design language for space from jump-suits and ray-guns to something cleaner and more logical. As well as spaceship design, clothing and the space suits. And reinforced IBM's design language as _the_ way a computer should look (even the non-homicidal ones).

</comment><comment><USER12> I think this has probably been submitted separatly to HN, but also worth reading is the Typeset In The Future entry on 2001:

[https://typesetinthefuture.com/2014/01/31/2001-a-space- odyss...](https://typesetinthefuture.com/2014/01/31/2001-a-space-odyssey/)</comment>


If you were teaching a programming course, what language would you teach it in? - <AUTHOR> https://blogs.janestreet.com/how-to-choose-a-teaching-language/

<comment><USER2> Depends on the target audience

For people how intend to become computer scientists and/or 'serious' programmers: Haskell

For people how are simply looking for a job in programming: C# or JavaScript

For people who don't want to become programmers, but just want to use programming to make their life easier: Whatever scripting language their main work application uses, or Python as a good general language

</comment><comment><USER3> Depends on if its just an intro to programming course or part of the backbone of a full degree. Either way thou ML appears to be a compelling choice.

</comment><comment><USER4> Python. Easy stuff is easy. More complex stuff is available. Nowhere near the amount of hacks you need in JavaScript.

</comment><comment><USER5> JavaScript for beginners, Haskell for advanced.

</comment><comment><USER6> Groovy here. Just because I know it reasonably well, like it a lot, and it's a convenient part of the overall JVM ecosystem.</comment>


Sophia Stewart: Matrix, Terminator Author Battles On - <AUTHOR> http://www.celestebateman.com/Africulture/2012/07/26/sophia-stewart-matrix-terminator-writer-battles-on/ <comment><USER2> <http://www.snopes.com/politics/business/matrix.asp>

<comment><USER3> Unfortunately, this hoax is easy to believe. Hollywood _has_ screwed writers out of their royalties in the past:

[https://en.wikipedia.org/wiki/Forrest_gump#Author_controvers...](https://en.wikipedia.org/wiki/Forrest_gump#Author_controversy)

</comment></comment><comment><USER4> This case is really pretty interesting, whether the movies were actually plagiarized or not, but man, this article is _so_ bad. I can't get over how bad it really is. Why would you want to post this here?

Over-the-top tone, broken links and misspellings aside, it just doesn't have any real sources. It claims Snopes as one source, but as msg linked here, Snopes actually completely contradicts this article. The main source for it appears to really just be Sophia Stewart herself, if you believe the article's author at all.

I looked for another site that would have a more objective analysis of the whole thing, and this[1] is the best I found in short order. Even that one's not great.

The most interesting point, I think, is that the Wachowskis were only 21 and 23 in 1986 [2], and they were apparently just working as carpenters while making comic books on the side. I can't imagine they had a lot of money to solicit scripts through magazines at that point.

[1] [http://blogs.indiewire.com/shadowandact/sophia-stewart- the-m...](http://blogs.indiewire.com/shadowandact/sophia-stewart-the-matrix- lawsuit-conspiracy-or-hoax#)

[2] <http://en.wikipedia.org/wiki/The_Wachowskis>

</comment><comment><USER5> As soon as the Matrix came out, there were all sorts of reports that the story was not original. As far as damages go...I'm not entirely sure that the claim to the story is where the money lies. Subjectively, the story is crap and I can think of a million ways to have made the story more interesting that were not explored. That movie was a blockbuster for its visual effects. Period.

<comment><USER6> Although some of the premises of the story (eg using humans as batteries... Or was it power sources?) seem illconceived, there we numerous memorable scenes from the film which didn't have anything in particular to do with visual effects, just great film-making. Like Smith's virus speech, or the costume styles, or the invocation of lots of different types of philosophy.

<comment><USER5> Which again, are not parts of the story which are claimed to have been stolen. I would be fine with using the broad category of film-making instead of just visual effects.

</comment></comment></comment><comment><USER6> Is there a list of purported similarities or stolen lines somewhere?</comment>


MIPS Open is now live - <AUTHOR> https://www.mipsopen.com/ <comment><USER2> Copy/pasting a comment from Arnd Bergmann, an experienced Linux kernel developer:

 _The full extent of the MIPS Open program was announced yesterday, so I had a closer look.

They finally stopped calling it "Open Source", and instead use the term "Open use" now, which basically seems to mean "royalty-free, as the license is not particularly open and appears to prohibit making copyleft CPU cores.

Everything that was released for download on mipsopen.com now seems to have been available for a while without the click-through EULA.

The components are all for different and partly incompatible revisions of the architecture: the ISA license is for MIPSr6, the MicroAptiv core is MIPSr3, and the GNU toolchain binaries they distribute target MIPSr2.

I suppose their competitors have nothing to fear from this.

[https://wavecomp.ai/wave-computing-releases-first-mips- open-...](https://wavecomp.ai/wave-computing-releases-first-mips-open-program- components-to-accelerate-innovation-for-next-generation-system-on-chip- designs/) _

[https://mastodon.host/@arnd/101831404730802126](https://mastodon.host/@arnd/101831404730802126)

</comment><comment><AUTHOR> This is a not free, open, or capable in any sense, and should be avoided.

Read the licenses carefully before spending any time on this; it looks like a trap.

</comment><comment><USER3> > Page Could Not Be Loaded</comment>


Portland approves 10% cap on fees that food delivery apps can charge restaurants - <AUTHOR> https://www.oregonlive.com/portland/2020/07/portland-approves-10-cap-on-fees-that-food-delivery-apps-can-charge-restaurants.html <comment><USER3> This is the right move - local restaurants are hurting and, sadly, the internet is a place where big corps with large budgets have leverage over passionate little guys working their butts off.

For those who want to help, I built a chrome extension similar to Honey that shows a local restaurant's direct ordering website as you're about to order from that restaurant thru a third party service. If direct ordering isn't available, it will also show you if that same order is cheaper elsewhere. If you have a favorite local restaurant that accepts direct orders, please help us add them to our system by filling in this form: [https://platerapp.app.link/JACVBOFUY7](https://platerapp.app.link/JACVBOFUY7)

For those interested in checking out the extension, it can be downloaded here: [https://platerapp.app.link/tDSD3mUTY7](https://platerapp.app.link/tDSD3mUTY7) (it doesn't collect browsing history or sell personal info or anything of the sort)

<comment><USER4> (Preface: I'm sure your app filters for stuff like this)

I got kinda burned when I tried to order direct from a restaurant. The last time we ate there they included a little "order online" card with a link to their website. So the next time, in the spirit of supporting businesses directly, I went to their site and ordered. They did use a third-party handler (ChowNow I think?), but I figured it was a kind of order management third- party. In fact, after placing the order, I got an additional email from that third-party handler congratulating me on ordering directly from restaurants, and that they explicitly don't charge restaurants a fee. Neat, right? Well, Lo and behold, behind the scenes they just used DoorDash to handle delivery...

That sucked because A) it was more hassle for me to sign up for Yet Another Account, and B) I have DashPass (free delivery and discounted service charge) but didn't get to use it, so it ended up costing me more even with the coupon the restaurant threw in.

Hell, there are even pizza places around me that use DoorDash for delivery. Pizza places, for goodness sake!

It's a weird world I suppose.

<comment><USER5> I have actually seen quite a few restaurants do this, where they use a third- party ordering system but then delegate to DoorDash/GrubHub for delivery. Is it maybe because the delivery service gets a smaller cut in this case? I wonder if the total fees add up to a smaller number with the two middlemen than with only DoorDash/GrubHub. Presumably, the latter can charge more if they also handle the transaction as well as bring traffic, as opposed to only handling delivery.

<comment><USER6> > Is it maybe because the delivery service gets a smaller cut in this case? > Yes, this is correct. If you order from DoorDash directly, the restaurant > will pay anywhere from 15-40% of the total transaction.

Restaurants that have partnered with DoorDash for delivery logistics only will pay usually around $7 per order (this varies depending on geography and overall partner terms).

However, the key difference is that this delivery fee is almost always passed on to the customer. So from a restaurant's perspective, they are getting a great deal: Delivery logistics for customers who want delivery, but if they're using a low/no commission direct ordering service, they keep (most of) the full order margin.

<comment><USER7> > Restaurants that have partnered with DoorDash for delivery logistics only > will pay usually around $7 per order

Did you mean 7 percent of the order perhaps?

</comment></comment></comment></comment></comment><comment><USER8> Next week there will be complaints that food delivery services are no longer catering to certain areas. Instead of accepting that it is just not profitable for them, journalists will label it as backslash or an act of punishment. Same thing happened in others states/cities that implemented similar rules.

The winners are people living in central areas of the city with lots of restaurants. The losers are the poorer outskirts.

I fully support the idea behind this rule. But this implementation has been proven to not work.

<comment><USER9> I don't understand why people in central areas of the city order delivery. There are 10 amazing restaurants within easy walking distance of me, why order delivery when I can walk for 5 minutes instead?

<comment><USER10> 5 minute walk then 20 minute wait then 5 minute walk back.

When you're earning $50+ an hour, which many in cities are easily clearing, it starts to make a lot of sense to pay someone else to do your waiting for you.

<comment><USER11> I hate this line of reasoning and so do many economists.

It's not the "opportunity cost" you should be measuring. It's the "opportunity cost of the next best alternative."

If I am an hourly worker making $50 and going to get food would be an hour that I wouldn't be working, then yes it is worth $50 to not spend it going to get food.

But if I am choosing between watching Netflix and going to get food. The next best alternative pays $0. From a purely financial view it makes sense to get food.

<comment><USER12> > It's not the "opportunity cost" you should be measuring. It's the > "opportunity cost of the next best alternative."

Opportunity cost is _exactly_ that: the next best alternative.

> But if I am choosing between watching Netflix and going to get food. The > next best alternative pays $0.

If you could be spending that time earning $50, and you choose to watch Netflix instead—all else being equal—then obviously watching Netflix is worth more to you than the $50. Going to get food thus implies foregoing at least $50 worth of leisure time. The fact that no one is paying you to watch Netflix is irrelevant; monetary compensation is not the sole (or even most signficant) measure of economic value.

<comment><USER11> I agree that monetary compensation is not the sole economic value. But still "how much you could be making that hour" is also irrelevant in most cases.

That's the entire point.

<comment><USER13> No it is highly relevant. I'm "making" happiness by watching a film on Netflix instead of getting dressed, getting in the car, struggling to find parking, waiting for the order, and then driving back.

This is an economic decision just One that not easily seen by dollars. I value a movie more than running errands.

<comment><USER11> And that still doesn't have anything to do with the original thesis - "if I make $50/hour when I am working. That means I should value my time at $50/hour". The opportunity cost is not $50/hour if you wouldn't have been using that hour to work.

<comment><USER12> > The opportunity cost is not $50/hour if you wouldn't have been using that > hour to work.

It is _at least_ $50 per hour if you _could_ have been using that time to work. Anything else that you choose to do instead of working is prima facie worth _more_ to you than the $50 you could have been earning. The opportunity cost—the next best alternative—is either working and earning $50 or else something you value even more than $50.

You are attempting to claim the opposite: that if someone can make $50 per hour working, but chooses to do something else, then that time is somehow worth _less_ than $50 per hour. This makes no sense at all. This would presume that the person knowingly and deliberately chooses the option which is less valuable from their own point of view.

<comment><USER11> If I am a salaried employee, no matter how much time I work, over 40 hours a week, it would not earn me more money.

The only reason that I would work around 40 hours a week instead of slacking off is because ethically, that's what I agreed to do.

Most people aren't in a position where they could put in every waking hour into pursuits that generate money.

What percentage of people that post on HN are working hourly billable jobs?

<comment><USER12> Overtime pay exists, even for many salaried positions. Short of that, if you routinely put in extra productive hours you should expect a higher salary. And you could always take on a second job, switch jobs, or do some work around the home yourself instead of paying someone else to do it for you. There is no shortage of opportunities to trade some leisure time for extra cash.

<comment><USER11> For tech workers who dominate HN and are the first to say that their free time is worth whatever their total comp is, how many get overtime pay?

How many people who put in extra time actually get recognized by their company for doing so at their equivalent hourly rate?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> This is a regulatory response to Silicon Valley's implementation of predatory pricing.

Let me explain:

Predatory pricing is defined as "the pricing of goods or services at such a low level that other suppliers cannot compete and are forced to leave the market."

For silicon valley startups like Doordash and Grubhub this is accomplished by acquiring customers at a significant loss in ways that may often seem idiotic.

example: Doordash and Pizza Arbitrage [https://news.ycombinator.com/item?id=23216852](https://news.ycombinator.com/item?id=23216852)

The End game is to be the dominant food ordering platform in any given town where you get to dictate rates like 25%.

Since predatory pricing is illegal, this response is justified. However, it would be better if regulators enforce predatory pricing rules to begin with, which they rarely ever do.

for more info on predatory pricing rules in America see: [https://www.ftc.gov/tips-advice/competition- guidance/guide-a...](https://www.ftc.gov/tips-advice/competition- guidance/guide-antitrust-laws/single-firm-conduct/predatory-or-below-cost)

<comment><USER15> > The End game is to be the dominant food ordering platform in any given town > where you get to dictate rates like 25%.

You fight back by calling your order in and having them deliver it or pick it up yourself. I do this 99%* of the time as I refuse to pay a web server $8+ order+delivery fee for a meal that costs the same. It's absurd to think that people are so lazy that they cant pick up a phone or walk a few blocks/cycle/drive to get their meal.

*save for the rare late night drunk+high AF Dominoes orders.

<comment><USER16> Many of these platforms charge a fee for phone calls to the restaurant too.

Platforms like Seamless go so far as to set up websites for restaurants (that often have better SEO than the restaurant's original website), so the phone number listed routes through Seamless, helping to ensure they get their cut of any order.

<comment><USER17> If a restaurant doesn't comply, wouldn't this be fraudulent representation?

<comment><USER18> AFAIK last time it came up people mentioned that they were allowed to do that because of a clause in their EULA

[https://news.ycombinator.com/item?id=20321705](https://news.ycombinator.com/item?id=20321705)

</comment></comment></comment></comment></comment><comment><USER19> So as I understand it Deliveroo and Uber eats charge 25% of the food costs, plus delivery fees on top.

Uber eats I know is losing money and Deliveroo are losing a few hundred million per year on revenues of about $500m. Basically cutting the food percentage like this to 10% would imply delivery services are permanently unprofitable?

Why have all these restaurants signed up if 25% is so unfair?

<comment><USER20> A number of anti-competitive business practices, such as offering delivery for restaurants without telling them.

Previous discussion: [https://news.ycombinator.com/item?id=23216852](https://news.ycombinator.com/item?id=23216852)

<comment><USER21> There's a really interesting liability question that comes along with that. If I order food from a restaurant via a delivery service that has no contractual relationship with them, and happen to get sick, who's on the hook for that? I, legally, have no business relationship with the restaurant in that circumstance.

<comment><USER22> Not a lawyer but in this case it seems like the delivery company is placing the actual end order with the restaurant on your behalf and is acting as the proxy, so any issues you would take up with the delivery company.

The delivery company may or may not have the ability to rectify issues at the end of the month with the restaurant depending on their relationship.

<comment><USER21> Yeah, agree. And in the case of the companies that are reselling restaurant food without the restaurant's permission/agreement, the "delivery" company is probably on the hook.

</comment></comment></comment></comment></comment><comment><USER23> There are legitimate abuses of market power. But this is not one of them.

Nobody's forcing restaurants to enter these partnerships, there's competition, and delivery people still need to be paid.

There are two obvious outcomes here: either food delivery apps will restrict delivery to profitable orders only (stop working for some restaurants, require higher order minimums, etc.), or they'll stay to avoid bad press but then this is essentially the city blackmailing investors to subsidize food delivery.

It's one thing for COVID-19 to restrict business services, and deeply unfortunate that businesses wind up closing. It's another thing entirely to force businesses to continue operating but at a loss.

If Portland or other cities believe it's a necessary public service to provide subsidized food delivery, then they ought to pay for it themselves through tax dollars. Either hire city-employed deliverypeople and make them available to restaurants, or pay GrubHub etc. to do it through a normal business contract.

But capping food delivery rates to far below what they were pre-pandemic is not a fair approach.

<comment><USER24> > There are legitimate abuses of market power. But this is not one of them.

I'm curious. How long does a company need to lose money on each unit of work they do, funded by endless foreign vc money, before it's clearly an abuse of their financial power and destructive for the market?

No company can compete fairly against people willing to lose billions just for market share.

<comment><USER23> Except money is never endless. And consumers are benefiting in the process from cheap prices.

So as long as consumers are benefiting, and the situation can't go on forever, where's the abuse?

Abuse is generally a characteristic of natural monopolies, etc. Not merely a competitor with deep pockets. That's just healthy competition for the good of consumers.

</comment></comment></comment><comment><USER25> I disagree with this move. Why should we force a cap rather than let market competition improve prices?

I believe it's better to fix shady practices. If I pay 25% to Uber, I want to know I paid 25% to them and not the restaurant. Then I can decide if the time savings is worth that 25% or not.

<comment><USER25> In addition, food delivery is not a basic need, it's a luxury.

If a luxury delivery service drives Lamborghinis and charge 200 to wealthy people, so be it. If a Toyota Corolla wants to charge up to 25% for your local pasta restaurant, so be it.

<comment><USER26> This ordinance does nothing to regulate consumer prices themselves. Food delivery _is_ a basic need for restaurants during this time. Increased price transparency, which is really the only effect of this ordinance, makes markets function better.

</comment></comment></comment><comment><USER11> On its face, this is really a bad idea. Price caps never lead to good market outcomes in a competitive market. You end up with an imbalance where the people who are willing to pay more aren't getting served and demand isn't getting met and you are reducing the supply where the suppliers could have made more money. This isn't good for either side.

However, if this means that the supplier can't charge the restaurants but _can_ charge a higher delivery fee and it's explicit. That seems like a win. A free market operates more efficiently when all parties have enough information.

</comment><comment><USER27> This feels like capping extortion. The real problem in my opinion is the delivery apps masquerading under a restaurants name online, and then then charging for it. When I order online, I have no idea if i'm ordering from the restaurant directly, or if i'm ordering from some app that's registered a website under their name, and has better SEO.

</comment><comment><USER20> Seems like a solid move, given the capture of the market by the food delivery apps, and their shady business practices (like the thread from a while ago where a delivery service was making fake websites for restaurants, without their knowledge or consent).

Why have this expire post COVID though?

<comment><USER28> On paper it looks good, and given the players in the arena, there's not much competition, especially since there's a high bar of entry for new competition.

Perhaps the idea behind not imposing such regulations is a free market argument, in which the most efficient price won't be selected for, thereby not producing the optimal supply/demand.

I would argue against this point that we would be assuming perfect competition, and given the anti competitive behavior of gig economy companies in this space (such as buying restaurant domain names, making fake websites with phone numbers they own to trick people into thinking they're ordering directly) and lack of competition, this seems appropriate for now.

Though the policy timeline should be extended, I don't believe it should be indefinite. When the aforementioned issues are resolved, I'd agree with the free market side.

In China, if I recall correctly, they have a food economy such that it's cheaper to order take out, and have the food delivered, than actually cooking. We have inefficiencies In the infrastructure, less population density, and lack of competition that prevents us being in a similar boat.

<comment><USER29> > In China, if I recall correctly, they have a food economy such that it's > cheaper to order take out, and have the food delivered, than actually > cooking.

Is this true?

Here in London, a typical delivered meal would cost ~$20, whereas a weekly shop and cooking probably takes 5 hours/week, but costs only ~$2 per meal.

<comment><USER30> I believe so in some areas, but only because they are using kitchens/ingredients that cost less than restaurants or stores, IE located in bad areas, conditions/treatment worse for cooks, payment less for cooks, etc. Not something that should be supported but something that technology unfortunately makes possible and convenient

<comment><USER31> This is just reflective of inequality. I don't know about China specifically but in other asian countries that I know, most locals buy their ingredients at the market, and grocery stores target richer less price-conscious consumers. So it's certainly possible that the markup that the grocery store applies is greater than the cost of cooking and delivering the food, but that doesn't mean that it's cheaper than buying the ingredients at a _market_ and cooking it yourself.

</comment></comment></comment></comment></comment><comment><USER32> IMO this is misguided. The reason that restaurants are struggling is because they're unable to provide the value they once did, but they're still bearing a lot of the costs that used to provide it.

All of these restaurants are paying rent on their dining rooms, when they're only using the kitchens. The customer experience, paid for by waiter wages and dining room rent, is now being provided by the delivery companies. The whole customer interaction, from taking the order, to processing the payment to bringing the food to the customer has been taken over by the delivery companies, and that's a huge part of the cost and the value of the meal.

Restaurants can't reasonably expect the delivery companies to just eat all of their substantial costs because the Restaurant has a stranded asset that used to provide that service. Really, it should be the landlords that are taking the hit because all of that prime dining space now has the same value as some tiny cloud kitchen off a back alley.

<comment><USER33> I disagree - large cuts to delivery services were hurting restaurants long before COVID, and the predatory practices of the likes of Grubhub and DoorDash have been well documented here on HN in the past.

<comment><USER32> I don't doubt that restaurants are paying big fees to the delivery companies, but the delivery companies are still losing money on every order. The predatory pricing is that they're charging too little, not too much. That's how you get this pizza arbitrage stuff. Now some of the other practices of the delivery companies like setting up fake web pages for restaurants are really objectionable, but I think that what's happening now is a separate problem.

Ultimately though, the problem of the pandemic is that restaurants need customers to pay for both the dining room and the delivery, and that's just too much money. If you're running a cloud kitchen, you don't expect to be able to get the same amount of money for a meal as a sit down restaurant, but the sit down restaurant is now providing the same product as the cloud kitchen.

</comment></comment></comment><comment><USER34> Are any of these food delivery app services actually making profit right now, or are they just burning VC capital? A news podcast I listened to yesterday made the statement that every food delivery company is doing deliveries at a loss. This seems problematic for making delivery a viable business without forming a monopoly to get the scale required to make things profitable.

<comment><USER35> Nope, they don't make any profit even when charging 30% fees. So this 10% cap will probably cause them to withdraw from the market.

<comment><USER36> I've had delivery takeaways in British towns and cities for 2 decades, well before the likes of ubereats and deliveroo.

Those companies do their own deliveries and manage to make enough money to not even charge more for delivery (or offer a collection discount) - <USER2> usually a minimum cost of say £20.

Why can't VC companies do it that efficently?

<comment><USER34> Honestly, those delivery companies are probably underpaying their employees for delivery. I've worked at a pizza delivery company, and including tips, I earned about $140 a day (inflation adjusted, post-taxes) for delivering pizza all over town. It was certainly not enough to provide for a long-term living, given the vehicle upkeep costs and gas.

<comment><USER37> If I worked that full time, I could easily afford my apartment and other expenses. (Castletown, Isle of Man.)

Now, if I still lived in London? Different story.

Certain restaurant types (high margin, food well suited for delivery) and locales (high population density) seem well suited for delivery. The local steak house? Probably not, for a number of reasons:

\- The main profit generator at many sit down venues, drinks, are unlikely to be ordered.

\- Impulse add-ons, especially dessert, are less likely. Even with dark pattern upsells on apps. Dining out has many minutes or hours during which additional ordering opportunities are available. Ordering out is a single discrete event.

\- On platforms that don't work with the restaurant, the option of a higher margin delivery-only menu doesn't exist. Items with low or negative margin can go out the door that otherwise wouldn't.

\- Delivery services seemingly take more for merchant processing than many restaurant chains I've helped secure acquiring for. Likely due to much higher chargeback/fraud on digital apps than through traditional delivery or in- restaurant. This is a killer on a low margin vertical such as dining.

<comment><USER34> My only real comment here is that you do also have to put anywhere between $5,000 to $15,000 into your car yearly. Between elevated maintenance costs, additional fuel (somewhere around a tank every 2-3 days), and replacing the vehicle when it fails, it eats into the money pretty quickly.

At least, that was my experience.

<comment><USER37> No disagreement. The car would actually eat more of my budget than housing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER38> If we were going to limit profits, we should target visa/MasterCard/amex instead.

They are a true oligopoly taxing the entire economy and have acted in a highly anti-trust fashion. Limiting their fees to something like 0.1% of the transaction is plenty to not lose money and would put back something like 2.8% of every transaction back into lower prices or into the businesses hands.

<comment><USER18> The actual benefits to consumers/businesses is going to be much less than 2.8%. For one, actual interchange fees today is nowhere near 2.9% like you suggest. It's not a flat rate, and varies wildly depending on the credit card type and merchant category[1]. For instance, a supermarket might get charged around 1.5% if the customer is using a basic credit card, or 2.1% if the customer is using a top end rewards credit card. I suspect that the weighted average of interchange rate across all consumer spending is probably under 2%. Of that 2%, a big part of it is probably also being passed to consumers via cash back/rewards programs. In Europe where interchange fees are capped, their cash back/rewards program are significantly worse than the ones in US. Combining all these factors, I'd say that the total savings to businesses and customers combined is probably under 1%.

[1] [https://usa.visa.com/dam/VCOM/download/merchants/visa-usa- in...](https://usa.visa.com/dam/VCOM/download/merchants/visa-usa-interchange- reimbursement-fees.pdf)

</comment></comment><comment><USER39> This reminds me of Ticketmaster vs. Pearl Jam in the 90s where the band exposed that Ticketmaster takes a much bigger cut that ticket holders didn't see in addition to a small 'ticket fee' that the ticket holder did see. I remember during that time that the general consensus from music fans was that Ticketmaster was an evil and greedy company.

Restaurant customers really need to change their perceptions and understanding of restaurant economics before it collapses under the current pressure – many will not return for a long time, if ever.

<comment><USER40> I dont really see why its my responsibility as a consumer to police if business deals resturants engage in are "fair". That is the resturant's job. Its part of running a business. Actually its the main part. If the deal doesn't make financial sense - then the business shouldn't make the deal. If the business cannot survive neither taking the deal nor not taking it, then the business is not viable and it should go out of business.

At most i support a law requring that resturants can set different prices for uber eats than for walk in customers

<comment><USER41> How would restaurants have a choice, here? As far as they know, Uber Eats/Doordash/etc are just "regular customers" but are really just scalping the restaurant's product.

<comment><USER42> Scalping product AND funneling all the blame on their fuckups onto the restaurants. It's a american rent seekers dream gig.

</comment></comment></comment></comment><comment><USER43> Why does it have to be a percentage? Taking the food from point A to point B costs the same whether it's sardines or caviar. I never understood this...

Seems like charging for the distance traveled and even the time of day would make a lot more sense

<comment><USER44> > Taking the food from point A to point B costs the same whether it's sardines > or caviar

orders for 1-2 people yes, but that doesn't handle large orders for parties, etc

<comment><USER43> Sure, then make it

      f(number_of_items, distance_traveled, time_of_day)

</comment></comment></comment><comment><USER45> The cynic in me

> noted that the city rule has a provision that drivers' pay can't be reduced > because of the fee caps

This seems impossible to enforce right? The city can't reasonably have any insight into why driver fees change.

</comment><comment><USER46> If delivery costs the same as an average Uber ride, say, $10, it makes every order under $100 unprofitable. An average food order is way below that, I think. So the math doesn't add up.

<comment><USER47> _If delivery costs the same as an average Uber ride, say, $10, it makes every order under $100 unprofitable._

What you pay as an Uber passenger is not even remotely close to what Uber pays its drivers. So a $10 cost for a food delivery may not be realistic.

How much an Uber trip costs Uber depends on a lot of factors, but I can tell you from experience that very often if a passenger paid $10 for a trip, the driver saw far less than $5 of it. That's why they're always angling for tips.

When I drove for Uber, a very common run was from the airport to a specific large convention hotel. The trip was maybe five miles. The passengers often complained about having to pay $25-$40 or more for the short trip. As a driver, I got maybe $3.50 out of it.

<comment><USER46> What's the big difference for a driver? It's still the same time, same gas and miles put on the car. True, the food won't throw up in his car, but he should get out of the car to pick up the order, often has to wait at the counter.

</comment></comment></comment><comment><USER48> I live in Jersey City and in March the mayor instituted an executive order capping delivery commissions to 10%. The effect of this was every Uber Eats order had a $3 "Executive Order Surcharge" for deliveries in Jersey City. They just removed the surcharge after the NJ legislation/governor passed a law making the cap state-wide.

</comment><comment><USER49> When I found out that local delivery service here is charging around 30% fee my mind was blown. I asked my friend who owns a small restaurant how he puts up with it and he basically said he has no choice, especially during covid. This made me think I should go out more and support the local businesses more as my country opened up already. Well my favorite mexican place was actually charging 30% more for me to eat in person there so it was actually cheaper to sit at home and have food delivered, I was almost tempted to sit down there and order via the app.

The whole restaurant industry is so messed up with coupons and all sorts of marketing tricks and manipulations that I just wish there was static price with single delivery fee so I could enjoy my meal and get over it without having to be constantly vigilant to not feel ripped off. I hope more places follow Portland.

</comment><comment><USER50> I wonder if there would be a market for something that presented the user with a food-deliver-app type interface, but in actual fact is just interfacing with an API on the restaurant's behalf (in lieu of the restaurant having a custom delivery order page).

Basically a middle man to replace restaurant's own custom ordering systems (which are often janky, and all act differently). The delivery would still be done by the restaurant's employees, but the service would handle billing the customer, building the UI, and so on.

Such a service could charge a far lower fee to the restaurants, since they would not need to employ, ensure, etc. drivers. I doubt the customer would care either way, as long as the UI is just as convenient as the existing food delivery services.

<comment><USER51> The problem is that you're basically creating a brand arbitrage opportunity. Big corporates are going to do their own things, premium brands are going to get courted by Uber Eats & Door Dash with special deals and cuts, so you end up with small independents who don't draw in big business - there's all sorts of screw ups both good faith and bad that are going to impact _your_ brand, not theirs.

</comment></comment><comment><USER52> IMO the apps should be forbidden from billing restaurants at all. Force them to bill delivery customers directly, keep their hands out of small businesses' pockets, and let the consumer decide how high a fee they're willing to pay for the convenience of ordering via app.

</comment><comment><USER53> IMO regulation should be there to protect the smaller 'people' (small family businesses, or actual people) from abuse by larger entities, or to encourage socially beneficial change (which usually tends to benefit the smaller players anyway).

So this seems a win on my part.

</comment><comment><USER54> Some restaurants just raise their prices to compensate for delivery fees.

One extreme example is a burger restaurant in SW Seattle that charges $6.80 for a burger if you buy it in the restaurant and $12.00 if you order it on a delivery app.

</comment><comment><USER55> They should charge a fee based on how efficiently the restaurant gets the food to the delivery driver, because having the driver spend 20 minutes parking and waiting in line is probably why delivery is so expensive but that delivery person's wasted time doesn't otherwise cost the restaurant much.

With a normal uber ride you have to walk out to the curb to meet the driver, who does not have to find somewhere to park. If they brought the orders out to the curb like when an uber arrives rather than having drivers park & wait maybe that would make delivery far less expensive.

</comment><comment><USER56> One thing I've always wondered about these delivery/rideshare "experiences": why didn't they just sell the software on a subscription service? Like a shopify or slack or something. Why did they also have to replace the drivers? Aside from being suspicious labor wise, it seems like a bloated way for software engineers to start a business, especially because they don't know how labor works for taxi fleets/ restaurants across the globe. Why not just make the businesses your customers instead of the end users?

</comment><comment><USER57> Expect longer wait times for food delivery in Portland.

Price caps, fee caps, rent caps, and "price gouging" bans produce shortages. [0]

This is an economic fact as strong as the law of gravity.

[0] [https://fee.org/shows/audio/words-numbers/the-law-of- demandi...](https://fee.org/shows/audio/words-numbers/the-law-of-demanding- more-supplies)

</comment><comment><USER58> It's outrageous how these companies have taken charge over individual businesses.

Some restaurants don't even know that they're listed on these delivery services and get their search results more or less hijacked by internet savvy delivery startups with infinite money.

In other cases they feel as though they have no choice due to the popularity of the online ordering services, and they get into contracts they don't really understand and have their already razor-thin margins eaten into.

</comment><comment><USER59> >> _Portland approves 10% cap on fees that food delivery apps can charge restaurants_

Now all they have to do is force delivery apps to deliver at that price point. But since they can't do that, they'll simply skip Portland. Maybe 30% is too much, but 10% is way to little. The company, drivers etc have to share that $5 off a $50 order and a lot of that is cost (car, gas, insurance)

</comment><comment><USER60> If the restaurants don't want the app then why don't they decline? Why is the government involved in setting rates? This never ends well.

</comment><comment><USER61> How many times and places do price controls need to be tried before these idiot government functionaries realize that for any such policy there are winners and losers. Here the losers are those who cannot be profitably served under a fixed cost limit, and so who will not be given the option to pay for delivery as a result.

</comment><comment><USER62> I feel super guilty ordering from food delivery apps. But I seem to have no choice if I want delivery.

<comment><USER63> I'm in the same boat. I was even given a large gift card recently for SkiptheDishes (Canadian food delivery app) by co-workers so I'm forced to use it. I want to support local restaurants, but I'm starting to question whether my order is actually a lose for them.

I read this article and actually looked up my city councillor and emailed him. I asked if council had considered this and told him I would support this type of move.

<comment><USER64> No your order is not a loss. Just because Skipthedishes takes 30% does not mean you placing an order is losing the restaurant money.

</comment></comment></comment><comment><USER65> I can't believe all the crypto hype has led us to bogus "defi" ponzis instead of a widely adopted protocol for transport and delivery that cuts out these middlemen idiots.

Oh and ticketing too, venues and artists pay an absurd amount to Ticketmaster etc. Needs to stop.

</comment><comment><USER66> In my view the sales tax is at least as big a problem as the delivery fees. Delivery fees cover things like healthcare for gig workers, etc. Sales tax pays for the police who kill people.

</comment><comment><USER67> Isn't the SV way to just thumb your nose at local authorities? AirBNB and Uber seem to have done well doing it... I wonder how well Portland will do with enforcing this.

</comment><comment><USER68> Why are they only setting the price on food delivery?

</comment><comment><USER69> Let's see if they roll this into their prices

</comment><comment><USER70> Sad to hear, people really need to learn the concept of "voting with your dollar"

</comment><comment><USER71> So if you're a Portland resident and you see a fee above 10%, what do you do?

</comment><comment><USER29> I'd like to see this rule applied only if the delivery provider insists that the menu prices be the same with or without delivery.

Personally I think a provider of any 'value add' service being able to dictate the price without their service is insane.

<comment><USER72> Is this not the case? It looks like it's a cap of 10% on what the app can charge the restaurant. It doesn't say one way or another, but I don't see any restriction on what the app can charge the consumer. The big problem isn't so much the size of these fees, the big problem is that these fees are hidden. Like you, I'd rather see a 0% cap, requiring the app to charge the customer directly.

<comment><USER29> Some services, like Airbnb for example, specifically say a house owner is not allowed to put a different price on Airbnb Vs some other site. That means the house owner must charge bookings not via Airbnb a higher price than normal to recoup the fees paid on Airbnb bookings.

That should, in my opinion, be outlawed.

</comment></comment></comment><comment><USER73> Oh geez.... welp. Guess I can say goodbye to delivery..

</comment><comment><USER74> Price controls on food. What could go wrong?!

</comment><comment><USER75> How about let the free market decide?

</comment><comment><USER76> Does this need to be a law really?

</comment><comment><USER77> still seems high to me

</comment><comment><USER78> considering the food delivery apps don't make money, I don't see how this will help anything

</comment><comment><USER79> They should have just banned food delivery services.

Oh wait, they just did.

</comment><comment><USER80> Surely _this_ price control won't cause any unintuitive deadweight loss...

</comment><comment><USER81> There was a word in the past for current SF technology companies that are taxing others for passage through their "lands".

Robber Baron

I suggest we update the Wikipedia to add "technologist" behind "industrialist" on the title.

<comment><USER82> Please do not update Wikipedia in the manner you have described. The update you describe would change the Wikipedia pages in question to be ideological in nature, but Wikipedia's preferred ideology is to attempt neutrality. Such an edit would be seen mostly by Wikipedia editors, who may be somewhat sympathetic, but would nevertheless revert your changes.

Wikipedia is not an effective venue to litigate whether technology companies are good or bad. Thank you for not wasting Wikipedia editors' time.

</comment></comment><comment><USER83> In a country where tipping of 20% is the norm ... there is all of sudden a cap of 10% on what the delivery guy can make?

<comment><USER84> It caps the fee that the delivery service can take.

You can still tip the delivery person as much as you like.

<comment><USER85> It's not even that. They can still put a $500 delivery fee on the bill, if they want. They just can't hide it in the food costs anymore, and take it out of the restaurant's cut.

</comment></comment></comment><comment><USER86> The problem with showing a $10 delivery fee on top is that it drops conversion rates by a lot.

But by increasing the prices of each menu item by 20% (to cover the app's cut) and having a palatable $3.99 delivery fee (so the total cost to the customer is the same), you can increase sales.

Amazon and other online retailers figured this out a long time ago. Moving some of the shipping fees into the price of the product can boost sales.

</comment><comment><USER87> Price controls create shortages. They always have and always will. You can't just create by fiat the economic outcomes that you'd prefer. You have to create the conditions under which those outcomes become natural. If you want to limit monopoly pricing of food delivery services, limit monopolistic behavior by breaking up large players. Don't allow one company to dominate an industry and then arbitrarily cap its revenue to some number that feels good.</comment>


TikTok names top Disney streaming exec as new CEO - <AUTHOR> https://www.seattletimes.com/business/video-app-tiktok-names-top-disney-streaming-exec-as-new-ceo/ <comment><USER2> Well ... things are getting super weird. Are we going to see TikTok entering the international entertainment market?

</comment><comment><USER3> I think they mean US-entity CEO.

CCP is the actual CEO.

<comment><USER4> What's the problem with that?

<comment><USER3> Everything, or nothing. Depends on your context and point of view.</comment></comment></comment>


Books For Game Developers - <AUTHOR> http://mrelusive.com/books/books.html <comment><USER2> This list is interesting, but it sort of feels like missing the point for a list of books for _game developers_ \--that is, people making games, not people making game _engines_ \--to be ignoring anything to do with characterization, storytelling, linguistics and spoken construction, cultural dynamics, psychology, sociology, history...the stuff that turns a game from Shootzombiebecauseitsthere to something like _The Last of Us_. Eye candy is nice, but you don't need a hell of a lot of technical proficiency if you can make people care. _Papers Please_ isn't pulling every last bit of oomph out of your GPU, but it's pulling strings in tons, _tons_ of players. _Saints Row The Third_ and _Saints Row IV_ look 2-3 years old even with all the dials cranked all the way up, but I'm playing the hell out of them (and not even looking at _Grand Theft Auto 5_ ) because they're _smart_ games with great dialogue and the self-awareness that makes not having a fully-standing third wall, let alone a fourth, completely work.

To me this list is like giving an aspiring writer a copy of _Warriner 's_. Sure, that's part of it, but there's so, so much more important about making games than being a math grognard.

I'd rather game developers get--and _understand_ \--Shakespeare than Graphics Gems.

<comment><USER3> Perhaps a separate list of books for "Game Designers" rather than developers would be helpful?

\- A Theory of Fun [http://theoryoffun.com/](http://theoryoffun.com/) (Raph Koster's blog is also excellent: [http://www.raphkoster.com/](http://www.raphkoster.com/) )

\- Level Up! [http://eu.wiley.com/WileyCDA/WileyTitle/productCd-047068867X...](http://eu.wiley.com/WileyCDA/WileyTitle/productCd-047068867X.html)

\- Game Design Theory [http://www.crcpress.com/product/isbn/9781466554207](http://www.crcpress.com/product/isbn/9781466554207)

\- Game Design Workshop [http://www.crcpress.com/product/isbn/9780240809748](http://www.crcpress.com/product/isbn/9780240809748)

<comment><USER4> I'd add: \- Rules of Play [http://mitpress.mit.edu/books/rules- play](http://mitpress.mit.edu/books/rules-play) \- Challenges for Game Designers [http://books.google.com/books/about/Challenges_for_Game_Desi...](http://books.google.com/books/about/Challenges_for_Game_Designers.html?id=wzAJLwAACAAJ) \- The Art of Game Design [http://artofgamedesign.com/](http://artofgamedesign.com/)

</comment></comment></comment><comment><USER5> I don't quite understand why somebody compiles a list of books that is less informative than the results list of a book search engine -- no reviews of the books, no personal remarks etc.

<comment><USER6> Yeah I wish there was some actual information, now it seems like you're expected to read every book on the list in some order or something? Just searching on Amazon gives you more info.

</comment></comment><comment><USER7> Are there good resources out there for experienced programmers who want to write games for fun? As someone who last wrote simple games 20 years ago, I'm a little bewildered as to where to begin - should I study OpenGL? Some kind of engine/toolkit above it? What do people use for sound? The world is all different and the past is another country etc.

<comment><USER6> It depends on what you're interested in. If it's creating a engine from scratch then C++ and OpenGL or DirectX but if you just want to start programming games from day 1, I recommend getting the free version of Unity3D.

<comment><USER2> Even if you're not interested in creating an engine from scratch for a production game, I recommend you spend a few weeks learning OpenGL (modern OpenGL--not the fixed-function pipeline). Unity3D is great for some stuff, but understanding the core of what you're doing is valuable.

<comment><USER7> Thanks! How do I learn modern OpenGL specifically - is there an authoritative book everyone knows, or a very good tutorial?

<comment><USER2> Haha...that's the hard part. I wish I had a good source for this, but, honestly? I learned through the guidance of a good friend (ex-nVidia). I wouldn't have gotten there without it, but at this point I can reason about (parts of) OpenGL as it "should" be reasoned about. Not all of it by any means --there is a lot of deep magic there--but I have the foundation to understand what other engines and tools are doing.

</comment></comment></comment></comment></comment><comment><USER8> "Physically based rendering" have a second newer edition: [http://www.amazon.com/Physically-Based-Rendering-Second- Edit...](http://www.amazon.com/Physically-Based-Rendering-Second- Edition/dp/0123750792)

<comment><USER9> "Real-Time Rendering" also has a newer edition: [http://www.amazon.com/Real- Time-Rendering-Third-Tomas-Akenin...](http://www.amazon.com/Real-Time- Rendering-Third-Tomas-Akenine-Moller/dp/1568814240/)

Also, if people are looking for an even bigger list of graphics books the Real-Time rendering blog has a comprehensive list:

[http://www.realtimerendering.com/books.html](http://www.realtimerendering.com/books.html)

</comment></comment><comment><USER10> I cannot speak more highly of _Game Engine Architecture_ by Jason Gregory[0] as an introductory text.

It's extremely readable for an 800 page textbook (I actually read it cover to cover), and covers a wide range of topics including basic software best practices and challenges unique to game development, introductory 3D math, rendering, animation, collisions / physics, and basic gameplay. The author speaks from a wealth of experience from having built several real game engines in the industry.

[0] [http://www.amazon.com/Game-Engine-Architecture-Jason- Gregory...](http://www.amazon.com/Game-Engine-Architecture-Jason- Gregory/dp/1568814135/)

</comment><comment><USER11> Interestingly, the most recent books mentioned in the list are from 2007 (e.g. GPU Gems 3)! What are some of the latest books in game programming that are really good, especially for mobile?

</comment><comment><USER12> I've read or owned several of those books at one point or another. Some opinions:

The _Game Programming Gems_ series has a wonderful variety of articles, and even though many of the graphics tricks are no longer super useful the software engineering and exposure to how other people think about systems is very useful.

The O'Reily _Physics for Game Developers_ is kind of lacking--it's more a cookbook than anything else; the Eberly books are a much better use of time, and actually explore the math much better.

 _Computational Geometry in C_ by O'Rourke is wonderful, but a bit academic for almost any game development purposes.

 _Geometric Tools for Computer Graphics_ has a permanent place on my desk, and was very useful when doing graphics work as well as CAD software stuff. It actually bothers with some of the rigor of the linear algebra you'll use in graphics. Not listed but _An Integrated Introduction to Computer Graphics and Geometric Modeling_ by Goldman does a superb job of the mathematics behind projective geometry for graphics, and is probably one of the best ways I've ever read for getting the real reason _why_ we do the math we do. He's referenced in the _Geometric Tools_ book.

 _Write Portable Code_ has some great insights, but if you've had to deal with cross-platform code for more than a couple of years you probably won't find too much new. For a beginner it's invaluable.

CLRS _Introduction to Algorithms_ is very cool and all, but as Johnathon Blow pointed out in a talk the fact is that for game development you are better off using the dumbest, most straight-forward data structures you can. There are a lot of great things in there, but the sort of workhorse stuff you'll use in games (BSPs, quad- or octrees, hash tables, A-star, etc.) is either already made for you or is better covered elsewhere. Looks impressive on the bookshelf though.

 _AI Game Development_ was a very long, very interesting read, but tended to be somewhat academic. _Programming Believable Characters For Computer Games_ is much better from a practical standpoint, surveying a large number of AI techniques and the implementation of examples for each one (very much a sort of "Seven AI Architectures in Seven Weeks" kind of affair).

~

Not on the list, but two I'd really recommend:

 _Game Scripting Mastery_ by Varanese is basically "Compiler and Interpreter Design and Implementation for High Schoolers". It's a massive tome, and covers both Lua integration and then rolling a scripting engine from scratch (lex and yacc and all).

 _Game Coding Complete_ by McShaffry is utterly fantastic. Another tome (just shy of 1000 pages), it goes over how to structure a game, covering a lot of important but banal stuff like resource management and passing Microsoft Windows certifications and project management and the like. It's also written in a very entertaining manner, and has lots of helpful anecdotes about why things should be done a particular way--often by counterexample of what happens when they weren't.

~

In general, the various _Gems_ series are all worth reading. Morgan Kaufmann does a pretty solid job, and tends to have a lot of math (if that's your thing). Charles River Media is mostly good.

Premier Press Game Development varies widely in quality--some of the books are amazing, many are meh, some are garbage.

</comment><comment><USER13> Couldn't find free download links... Just kidding!

<comment><USER9> Some of the books have been officially released and can be found at the following links:

-GPU Gems [http://http.developer.nvidia.com/GPUGems/gpugems_part01.html](http://http.developer.nvidia.com/GPUGems/gpugems_part01.html)

-GPU Gems 2 [http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.ht...](http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html)

-GPU Gems 3 [http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.ht...](http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html)

The source code in the following books can be pretty dated (assembly level shader language) but the actual articles can be valuable.

-Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks [http://tog.acm.org/resources/shaderx/Direct3D.ShaderX.Vertex...](http://tog.acm.org/resources/shaderx/Direct3D.ShaderX.Vertex.and.Pixel.Shader.Tips.and.Tricks_Wolfgang.F.Engel_Wordware.Pub_2002.pdf)

-ShaderX2: Introductions and Tutorials with DirectX 9.0 [http://tog.acm.org/resources/shaderx/Introductions_and_Tutor...](http://tog.acm.org/resources/shaderx/Introductions_and_Tutorials_with_DirectX_9.pdf)

-ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0 [http://tog.acm.org/resources/shaderx/Tips_and_Tricks_with_Di...](http://tog.acm.org/resources/shaderx/Tips_and_Tricks_with_DirectX_9.pdf)</comment></comment>