Rather hilarious & honest dev job posting - <AUTHOR> http://www.work.io/jobs/ai3lw/

<comment><USER2> I don't really see why it's hilarious. It's good-natured, and a direct and fairly clean job ad for a junior/intern position at a startup. And it's got some sensible interview questions, too, that will very quickly tell the geeks apart from the non-geeks.

If every startup job ad followed this model, the world would probably be a better place!

<comment><USER3> _And it's got some sensible interview questions, too, that will very quickly tell the geeks apart from the non-geeks._

I'm actually concerned that the screening questions aren't splitting geeks vs non-geeks. They seem like personality questions more than technical ability questions (which isn't necessarily a bad thing).

I'd be curious to see responses to them that were above the bar and just below the bar. I suspect it may have to do with personality fit more than technical ability.

</comment></comment><comment><USER4> Not the "right" answer, but the rude as fuck and honest answer that I'd give:

 _It's Friday, a feature you're working on is due on Monday and all you have is some spaghetti code and that academic paper you don't understand. What do you do?_

First, if the writer of the spaghetti code is still with the company, I go over and ask him (politely; maybe this was _his_ deadline code) to explain why he wrote his code in such a way. (Maybe there's a good reason for it and the problem isn't bad code but a lack of understanding on my end.) I let him know that I'm going to have to spend an entire weekend on a critical feature and ask him to make himself available, if not work with me, while we figure this out. Involving him will radically improve my chances of success at meeting the deadline.

I've had enough experience to know that even with great people making solid efforts, most deadlines slip. It's not like school where deadlines are exceedingly well-tested and failing one is usually a reflection on the student, not the situation. Just out of professional responsibility, I have to let my boss know that I may not be able to succeed by Monday.

I may not do it, but it's my job to work as hard as I can. That said, the most important thing is bringing in the developer who wrote the original "spaghetti code". Working alone, it's more likely than not that, even with great effort, I'll fail it: new features are always more complicated than they look. If I can involve the writer of the "spaghetti code" in my weekend rush, that's a huge benefit and I just might make it.

It's possible that the writer of the code is gone. This is scarier. If the guy was fired, then I congratulate the trigger-puller on her good sense, but I ask why we're still using terrible code of someone who was fired. If it'll take me less than 6 hours to replace it, I do. I'll make that time up over the weekend because dealing with shitty code is exhausting and infuriating and will cost me more than that.

If the code is so terrible, I tell the manager that this code really needs to be replaced and that it is a very high priority because it's necessary for a critical feature and an unmaintainable mess. If I get the feeling that she doesn't care about source quality, I GTFO of the company.

In terms of how I manage my own time, I work till 10 on Friday night, get a good night's sleep, work out at 7 and start working at 8. The morning (8 - 12) I spend reading the paper and the code (when I'm sharpest, because reading code is harder than writing) and the afternoon (2 - 10) I spend writing. No all-nighter on Friday or Saturday because that's fucking stupid-- you pay for it the next day, and productivity in a double-all-nighter is negative. All- nighter on Sunday if needed. Take Monday off, except possibly to verify that the feature worked, if I work past 10:00pm on Sunday.

If we're established enough that "vacation days" exist in a limited allotment and bad things happen to you if you take more, I better get 2 vacation days for the weekend I worked or I am fucking quitting. I don't mind working weekends but I won't be taken advantage of.

I also mandate that I'll be allowed to spend Tuesday and Wednesday cleaning up _my_ shitty code that I produced to meet the deadline. I'm very good, but my deadline code stinks as much as anyone else's.

Finally, I ask why the feature was "due" on Monday. Who made this promise, and why? Can we stop making unrealistic promises to clients and focus on delivering what we understand, well? Weekend heroics are occasionally necessary, but if they become a common occurrence and management starts requiring or relying on them, that's a bad sign. There are a lot of companies (some startups, some not) that exist to take advantage of dumb young people who don't know their rights but I am 27 and far too old for that shit.

Maybe I make the deadline and maybe I don't. Maybe I even get fired when I tell the management not to make unrealistic promises to clients anymore. Most often it's unintentional when things like this happen, but there is a really fucking parasitic (I don't put it this way; I'm not _that_ rude) anti-pattern you sometimes see where client-relations guy makes unrealistic promises and becomes a star while inflicting suffering (impossible deadlines, perpetual crunch) on technical people. You know how unskilled programmers always inline because "it makes the code go faster"? Unskilled managers always create "crunch" or "urgent" conditions because "it makes people work harder". Client- facing people who make unrealistic promises are the enablers of those shitty managers.

If that particular anti-pattern is in place: in a startup, I leave if I can't get the CR guy out because he'll bleed talent and the startup has no future because its clients don't respect it. In a mid-size company, I try to get the parasite plucked out-- but am most likely to fail; the fact that he's in client relations means he has better social skills than I do. Still, it's always worth a try to make a company better, no?

"He's single" but I'm guessing half of my readers can see why. New York based.

<comment> contol-m > "He's single" but I'm guessing half of my readers can see why. New York > based.

What do you mean by that?

<comment><USER4> On the market. Gave notice today.

"Half of my readers can see why" is an attempt at self-deprecation, since technology people respect the attitude in that (semi-joking) rant/post but a lot of people don't.

</comment></comment></comment><comment><USER5> I can't wait to see a startup job posting that asks for 'candidates previously exposed to software engineering industry best practices, such as _Programming, Motherfucker._ '

</comment><comment><USER6> not looking for a job, but might do the assessments anyway :)

</comment><comment><USER7> "If the two main priorities in your life are inherent security and the ability to rely on things planned months ahead, please stop reading this now and do something else."</comment>


Essential Math for Games Programmers - <AUTHOR> http://www.essentialmath.com/tutorial.htm <comment><USER2> I think many analytic-type of people (I am part of this group) live in a fantasy land in which the smarter you are, the better game you'll make. Wrong. It's cute that you know how to interpolate quaternions from memory, but that won't make you spit out a good game. First of all, lets look at the term "game programmer": this term is slightly odd -- often times, especially when just starting out, you'll be making games in an indie environment; in such a case, you'll need to be a good game _designer_. Making an amazing indie game is probably the best way to get in the game industry. Studying math is not.

I'd sum up the most important skill like this: "learn how to finish projects". You can know all the math (or design) in the world, but if you can't finish anything, no one will be impressed unless you want to be code monkey #3249 at EA (and who wants to be that?). This seems easy when read on paper, but in reality it's fucking hard a shit. I've probably abandoned about 95+% of game projects I started. Anyone that says they finish more than 50% of the projects they start is full of shit. This is a skill -- and it's by far the hardest one to hone.

Note that it's not that I don't approve of OP's hard work compiling the list, I just think it perpetuates the idea that good games == good technology. Carmack is a CS genius, sure. But more importantly, he's a damn good game designer.

<comment><USER3> I agree with most of this post except this:

> Making an amazing indie game is probably the best way to get in the game > industry. Studying math is not.

There are many specialized graphics programmers in the industry. They do not design games. They do not write dialogue. They do not make any art. They don't make sound effects. They don't design plots. But they absolutely do need to know linear algebra and a lot of the stuff listed here. I think the only problem with this post is that its title suggests it's aimed at the general game programmer, but it's actually aimed at the graphics or physics programmer, the sort of guy who would work on the Unreal Engine itself, not a game made with the Unreal Engine.

EA is probably a really crappy place to work (don't know for sure, but that'd be my guess). However, I've heard amazing things about, e.g., Valve, and I think they'd be more than happy to hire a brilliant graphics programmer who's never shipped an indie title that he built from scratch.

<comment><USER2> Fair points. But afaik you won't work at Valve unless you have a shipped title. Where they _do_ make exceptions is with people like the CS devs or Icefrog (DOTA). So I still think that if working as a game dev is what you want to do, making a mod/indie title is the best way to go.

I know 3 people that work at EA. One of them likes it and two of them hate it. I guess it's like working in any big company. My dad worked for IBM and hated every moment. I, like him, don't think that could never really work at a big company where my creativity/intelligence/drive is inconsequential.

Edit: let me just say that maybe there are extenuating circumstances -- for example, if you presented some novel shading algorithm at SIGGRAPH or something. But for the most part, I think my claim holds.

<comment><USER4> Valve isn't an ideal place to work. It has a floundering management structure, hidden office politics and a failed bonus structure. It's only relevant because of its meteoric success of Steam and skill of acquiring/courting quality teams/devs.

It's been a long while since Valve has worked on one of their own ideas.

<comment><USER5> Portal 2 came out just two years ago

Dota 2 this year

</comment></comment></comment></comment></comment><comment><USER6> I can only recommend for any programmer to get into graphics/game programming even if you dont have any prior knowledge. The required skills are vastly different from web development for example. While in Web Development its alot about Architecture, Services, binding countless of Technologies together in the right way, game/graphics programming is alot more about programming clever and well-performing algorithms and math. Add some network programming (multiplayer) to the mix and you have one more extra level of complexity to master. Gave me alot to learn!

<comment><USER7> Game dev certainly also requires a lot of high-level architecture work. Making a good modern game basically requires being world-class at everything, all at once.

<comment><USER8> And being paid significantly less for it.

</comment></comment></comment><comment><USER9> Probably worth noting that over time the games industry has become more specialised. The skills listed are essential for working in certain areas, for example rendering, engine work and physics.

Knowing how to interpolate a catmull rom spline is not required of a network programmer.

If you're considering a career in the games industry the best advice I can give you is to create a demo of your work. Do not build something ontop of a mod, build something of your own, be original and creative (something that the list does not emphasis). Don't worry if you can't draw, it matters not.

<comment><USER2> I disagree slightly. I think that building a mod is, bar none, the best way to test the waters of game design. Furthermore, many (many) extremely talented game designers got into "real" game design by modding: from Counter-Strike, to DOTA, to Natural Selection, building a good mod is easier and far more consequential than slogging through building yet another Pong clone.

</comment></comment><comment><USER10> Wow this resource is awesome. I don't really write games per se, but I enjoy writing interactive visuals - and this will definitely help me get to the next level. Thanks!

<comment><USER11> Besides this, are there any other resources you would recommend for getting into writing visuals?

<comment><USER10> Thats the thing - Its hard for me to give you an exact resource - since the first thing I ever coded was a visual, using logo, when I was a wee lad. Over time I just kinda picked stuff up here and there, mostly by reading code that others have done. For a long time I was obsessed with coding straight up pixels, and writing putpixel routines. Even lots of the html5/canvas stuff I do these days is just getting the context imagedata buffer and writing straight to that. It was a totally organic process with zero structure.

So if I were going to start again from scratch, I would probably do the following:

          - Choose one platform to target (HTML5/Canvas, WebGL, OpenGL, DirectX, etc)
          - Pick up a book and learn the basics of that platform, and do the exercises
          - Learn what you can about the APIs and start playing around.
          - Fractals and cellular automata are always fun - you can find Mandlebrot and game of life examples in pretty much any language.
          - Think of something in your head and try to make it happen!
          - Add interaction
          - Rinse and repeat

</comment></comment></comment><comment><USER12> This is only useful if you're writing your own 3d engine. For 2d and for using existing engines just go read about polar coordinates and get really good at trigonometry in general, both not much represented on this ... probably a requirement new reading any of those anyway.

</comment><comment><USER13> I really wish they'd use PDF instead of powerpoint.

It's really surprising there's this much math in videogame programming.

There is all kinds of awesome geometry algorithms out there but I didn't know if they were used in the real-world. [http://www.cs.jhu.edu/~misha/Fall09/](http://www.cs.jhu.edu/~misha/Fall09/)

My background is in math without too much knowledge about specific video games but I really love shapes. I wonder if I could fit in there.

<comment><USER14> The universe is governed by math. There's a surprising amount of math in everything.

</comment></comment><comment><USER15> As a starting web programmer who has to create a lot of css/javascript animations, this is amazing.

</comment><comment><USER16> i'm always wary of this kind of stuff. learning things upfront - not just for games, but in general for programming - is often a fantastic waste of time. the greatest skill to learn imo is how to research a problem effectively when you hit it and how to (re)invent wheels when you need to... also, my experience is that things learned this way stick better and are understood more thoroughly.

</comment><comment><USER17> Commenting to save.

<comment><USER18> No need. If you up-voted the post:

[https://news.ycombinator.com/saved?id=kyle_martin1](https://news.ycombinator.com/saved?id=kyle_martin1)</comment></comment>


Who here believes the universe is a computer simulation? - <AUTHOR> Just out of curiosity, I wanted to see how many people here think the simulation theory of the universe is quite probable. If you're not familiar with it, here is a good synopsis: http://www.simulation-argument.com/simulation.html <comment><USER3> I believe that it is a moot question.

Let me explain what I mean. Some people say that Ben Franklin messed up when he named positive and negative charge -- that the charge which is on the electron should have been called "+" instead of "-". Imagine legions of physicists arguing back and forth over this issue, some vigorously defending "=" and others advocating for "-". It would all be wasted breath: they are just NAMES, and it doesn't MATTER which name you use. What matters is building a transistor, which depends on understanding that it's electrons that carry the charge, not on what the charge is called.

Similarly, any time that two MATHEMATICALLY equivalent theories both explain the facts, I personally don't care which one is true... I don't want to spend time debating it, and honestly I don't believe that one is more "true" than the other. Is classical mechanics driven by Newton's laws or by the Lagrangian "action is zero"? Both! Either one implies the other.

And this is how I view the question of whether the universe is a simulation. Finding out the laws of our universe seems interesting. Finding out whether those laws are implemented by a universe or a computer simulation of a universe... there is no meaningful difference so I don't care.

<comment><USER4> if we are in a simulation, we could possibly hack our way out of it.

i've thought for a while now that the "speed of light" limit is a result of a distributed consesnus algorithm taking a bit of time to convergd.

also, quantum mechanical noiss is leakage current flipping bits in memory.

<comment><USER5> "if we are in a simulation, we could possibly hack our way out of it."

Interesting, software engineers know there are no programs without bugs. Some weirdest things in physics like quantum entanglement may just be bugs in the simulation :)

<comment><USER6> They act more like quick fixes used to get it running on schedule

</comment></comment></comment></comment><comment><USER7> We'll never know. If the universe is a simulation then it's similar to a virtual machine running on top of a hypervisor. The virtual machine doesn't know that it's not a real machine unless its hypervisor tells it so. From inside the virtual machine, there is no meaningful distinction to be made between being a real machine and being a virtual one.

<comment><USER8> We could know. If we ever broke out, that'd be a definitive proof that there is a layer above our reality.

To continue your VM and hypervisor analogy, there is a class of hacks in which virtualized software breaks out of the VM and is able to observe and/or mannipulate host. For example, [http://www.theregister.co.uk/2008/02/25/vmware_critical_vuln...](http://www.theregister.co.uk/2008/02/25/vmware_critical_vuln/)

[edit]

Moreover, even without breaking out, it is -- in some cases, at least -- possible to detect presence of hypervisor by carefully timing computations. Albeit those methods seem to depend on access to a timing source that is reliable (i.e., outside of hypervisor's control). For example, [http://www.cs.cmu.edu/~jfrankli/book_chapters/virtual_machin...](http://www.cs.cmu.edu/~jfrankli/book_chapters/virtual_machine_detection.pdf)

<comment><USER9> The hypervisor analogy is silly IMO, because it assumes 'hardware assisted virtualization', i.e. that the simulated matter/instructions are implemented simply by using real matter/instructions in their normal way, but in a controlled environment.

For the general case of virtualization, breaking out of the simulation would be as impossible for us as it would be for a video game character.

<comment><USER10> If the computer running the simulation is on a network, and robots/spaceships etc exist, we could break out onto other devices and recreate ourselves as programmed robots.

</comment></comment></comment></comment><comment><USER11> This is like asking whether god exists. Until there is some evidence one way or the other, it is pointless to consider the question seriously. Though it's worth noting that the total ignorance implied by the lack of evidence about the purpose of the universe implies that any specific speculation on the question is almost certainly incorrect.

Fun to think about, though. Have you read Greg Egan's _Permutation City_ or _Diaspora_?

[http://gregegan.customer.netspace.net.au/PERMUTATION/Permuta...](http://gregegan.customer.netspace.net.au/PERMUTATION/Permutation.html)

[http://gregegan.customer.netspace.net.au/DIASPORA/DIASPORA.h...](http://gregegan.customer.netspace.net.au/DIASPORA/DIASPORA.html)

<comment><AUTHOR> I haven't. They look interesting. I'll check them out.

</comment></comment><comment><USER12> This seems to fail Occam's Razor. The argument boils down to "Our observations are consistent with what we'd see if we were in a simulation, so we're probably in a simulation" modulo some specious asymptotic extrapolation. There's nothing _impossible_ about the idea that we're living in a computer simulation, but unless the idea is falsifiable it does not constitute a rational, scientific theory.

<comment><USER13> Perhaps it is falsifiable. Perhaps there is some object with a fractal property that would be enormously expensive to compute, but that nature can determine without computation. Perhaps such an object could be produced, and it could be shown that its property would be of such near-infinite complexity to rule out us running in a simulation.

Or perhaps I've just spouted some technobabble. The point is that we are at such an early stage of thinking about such things that they may yet be put on a scientific footing. And if we do find answers to age-old philosophical conundra (the universe-simulation one not being much different to older questions about what we can determine about reality) then any answers that come will come from science, not philosophy.

<comment><USER8> _> and it could be shown that its property would be of such near-infinite complexity to rule out us running in a simulation._

I believe a fractal is not a viable experiment.

You hinge the experiment on assumption any simulation would be bound by memory size or time taken to compute. Practical constraints aside (matter and space is quantized at very small scale, so the depth of computation is finite), I don't believe we can just assume such limitations.

I believe memory shouldn't be a problem for a fractal, because properties of the fragment you are trying to observe can be computed directly from equations describing the fractal, never mind the scale.

As for time taken to compute, it is _not observable_. We don't know of any reliable timing source outside of the hypervisor[1] to compare time taken for computation to; the supposed VM is free to take as long as it needs to to advance to compute state, before advancing one <http://en.wikipedia.org/wiki/Planck_time>

* * *

It could be argued the <http://en.wikipedia.org/wiki/N-body_problem> of all the celestial bodies already puts our _supposed_ VM to a good test ;-)

\---

[1] if we knew one, it would make the experiment moot, as we would have a direct proof we're inside of a simulation ;-)

</comment></comment></comment><comment><USER14> It's an interesting question, are we in a Matrix, or computer simulation, or the slightly older theory from 1641 where Rene Descartes imagined an omnipotent demon lying to him. Maybe I'm simplifying the question, but I reckon it boils down to how do we know what we know? Am I sat in front of a computer screen now, or do I just believe I am?

I'm not really a philosopher, at all, but the Oxford Companion to Philosophy says:

"Do you know that you are looking at a... book right now rather than, say, having your brain intricately stimulated by a mad scientist? The sceptic carefully describes this alternative so that no experiment can refute it. The conclusion that you really are looking at a book, however, explains the aggregate of your experiences better than the mad scientist hypothesis or any other competing views."

which I think makes sense to me. I've met one or two people who say they believe that they live in a Matrix/Alien computer simulation, but observing, they live as if they don't.

<comment><USER7> Kant had an interesting reply to Descartes.

He said that the "world of objects in themselves" - i.e. numinal reality, or a reality independent of our perception - must exist in order for us to have experience at all. The reason? We know that there is a reality because something must persist between each one of our "computations" - <USER2> perceptions - in order for us to be able to order our perceptions in time.

We just don't know anything about that reality besides that it exists.

To sum up: We do live in reality at some level. How many layers we are removed from the bottom-most substrate,how many simulations-within-simulations we are in, is something we might not ever know. Kant actually said we can't ever know.

</comment></comment><comment><USER15> "Any sufficiently advanced technology is indistinguishable from nature" Karl Shroeder

[http://www.kschroeder.com/weblog/archive/2011/11/30/the- deep...](http://www.kschroeder.com/weblog/archive/2011/11/30/the-deepening- paradox)

</comment><comment><USER16> BELIEVES??? What is this? A religion?

You can suspect. (That's honest.) Then, not being intellectually lazy like "believers," you have to apply the scientific method to test your suspicions. (Note: Using philosophy and semantics is no proof at all. It's physics or nothing. You could start with the double slit photons experiment.)

</comment><comment><USER17> Yeah, sometimes I think we're just some kid's high school experiment. God only knows. :-)

I really wouldn't put too much time into this. Votes don't matter. Even if we all agreed, it wouldn't matter.

I'd put more time into things that do matter.

</comment><comment><USER18> It's a pretty compelling thought experiment... the largest implication would be that there potentially would be some sort of "afterlife"-esque thing possible if we are in a simulation. Either being simulated more often, or possibly "promoted" to a layer above where we're currently at.

If it was true, and you wanted to exist some more, then it might be thinking about what would be make you in-demand in the higher level up. Perhaps some generalized broadbased creative knowledge combined, combined with an interesting well-thought perspective, and good communication skills?

</comment><comment><USER19> Not me. It boils down to the meaning of universe - if you define it as everything, nothing outside it exists, as there's no outside, in particular there can't be any machine, that simulates the universe, otherwise we wouldn't call it universe. If you define universe as computable subset of everything we have access to, it might be possible to simulate that universe, using computing machine if this machine had access to enough resources outside that universe to hold its state.

</comment><comment><USER20> A while ago, this article was on HN: [http://www.theatlantic.com/technology/archive/12/03/were- und...](http://www.theatlantic.com/technology/archive/12/03/were- underestimating-the-risk-of-human-extinction/253821/)

The article is based on an interview with Nick Bostrom, a philosophy professor at Oxford. His thoughts on the computer simulation scenario are very interesting. I've reproduced them below, but I recommend reading the whole interview; it's very fascinating. From the interview:

"Can you explain the simulation argument, and how it presents a very particular existential risk?

Bostrom: The simulation argument addresses whether we are in fact living in a simulation as opposed to some basement level physical reality. It tries to show that at least one of three propositions is true, but it doesn't tell us which one. Those three are:

1) Almost all civilizations like ours go extinct before reaching technological maturity.

2) Almost all technologically mature civilizations lose interest in creating ancestor simulations: computer simulations detailed enough that the simulated minds within them would be conscious.

3) We're almost certainly living in a computer simulation.

The full argument requires sophisticated probabilistic reasoning, but the basic argument is fairly easy to grasp without resorting to mathematics. Suppose that the first proposition is false, which would mean that some significant portion of civilizations at our stage eventually reach technological maturity. Suppose that the second proposition is also false, which would mean that some significant fraction of those (technologically mature) civilizations retain an interest in using some non-negligible fraction of their resources for the purpose of creating these ancestor simulations. You can then show that it would be possible for a technologically mature civilization to create astronomical numbers of these simulations. So if this significant fraction of civilizations made it through to this stage where they decided to use their capabilities to create these ancestor simulations, then there would be many more simulations created than there are original histories, meaning that almost all observers with our types of experiences would be living in simulations. Going back to the observation selection effect, if almost all kinds of observers with our kinds of experiences are living in simulations, then we should think that we are living in a simulation, that we are one of the typical observers, rather than one of the rare, exceptional basic level reality observers.

The connection to existential risk is twofold. First, the first of those three possibilities, that almost all civilizations like ours go extinct before reaching technological maturity obviously bears directly on how much existential risk we face. If proposition 1 is true then the obvious implication is that we will succumb to an existential catastrophe before reaching technological maturity. The other relationship with existential risk has to do with proposition 3: if we are living in a computer simulation then there are certain exotic ways in which we might experience an existential catastrophe which we wouldn't fear if we are living in basement level physical reality. The simulation could be shut off, for instance. Or there might be other kinds of interventions in our simulated reality."

<comment><AUTHOR> Thanks for the clear breakdown.

</comment></comment><comment><USER21> This universe is a simple computer program. Starting from the building blocks of life. Hydrogen has one proton and one electron, Helium 2, Lithium 3 and so on.. Adding one proton changes the whole element. Mixing these makes the whole universe. What we see as solid is 99% empty space. What we think we see is 1% of the visual spectrum. Soooo i wouldnt even bother thinking. We dont even exist.:)

</comment><comment><USER22> A computer simulation of what? A universe?

How about this: the universe is an artificial life machine aimed at generating some interesting diversity. The intention is that the slime on planets begin performing galactic-scale engineering. Yes, we're a brilliant ant farm in God's den.

</comment><comment> daniel-cussen Anybody else who's played Minecraft :)

I've toyed with the idea, with the notion that the laws of physics are written such that it's easier and cheaper to simulate the universe.

But then one would have to ask, If the universe is a simulation, what is the seed number?

<comment><USER23> 42?

<comment> daniel-cussen Oh My God.

</comment></comment></comment><comment><USER24> I believe it. I think that the fact that we can conceive of the concept strongly implies that it's possible, and therefore there's a pretty high probability that that's what our universe is.

</comment><comment><USER25> I'm still leaning towards you all just being a figment of my imagination. I'm not crazy, but being the only being in the universe it's understandable that I would have imaginary friends.

</comment><comment><USER26> I'd say it's not a simulation but a crappy, cheap emulation. Lack of FTL, 'nuf said.

</comment><comment><USER27> If so, let's hope no one hits ctrl + c.

<comment><USER7> Who cares? If someone hits control-C then our process is killed immediately and we were none the wiser that we ever existed. Of course, if our process has shut down hooks it would give us time to think about what's happening, which might suck.

I would rather someone 'kill -9'ed us instead of using Control-C.

<comment><USER28> Like if we were turned into a zombie process?

</comment></comment></comment><comment><USER29> I dont't think so, but my avatar does.

</comment><comment><USER30> Mind of God.

</comment><comment><USER31> It seems rather ontologically extravagant. I think they're vastly underestimating the amount of computing power it would take to seamlessly simulate a universe.

Still, there's one way to test the simulation hypothesis: build our own planet-sized universe-simulating computer and see if our own universe has a segfault.</comment>


Glyphosate perturbs the gut microbiota of honey bees - <AUTHOR> http://www.pnas.org/content/115/41/10305 <comment><USER2> >Since fewer than 20% of bees reintroduced to the hive were recovered, recovered bees may not represent the total effect of glyphosate on treatment groups.

I'll say! What a damning line. How many trial replications does it take to create resultant certainty when each trail loses >80% of it's data?

<comment><USER3> its data

<comment><USER4> I sympathize with orthographic passion but can you please stop posting many such corrections to HN? An unsubstantive comment is worse than a superfluous apostrophe.

</comment></comment></comment><comment><USER5> I am curios how it affects human gut microbiota if at all, as our gut microbiota appears more and more to be vital for our health and also manage general weight.

<comment><USER6> I think scientists know too little about the gut microbiota. There could be a million things disturbing it.

I heard the main difficulty is being able to do experiments, and it might be too difficult to reproduce the conditions to observe it.

<comment><USER7> Glyphosate harms organisms shikimic acid pathway. It's not supposed to "exist" in non-plants(?). But it definitely affects microbiota. I would almost guarantee it affects gut microbes in humans - for one because it affected microbiota in bees.

<comment><USER8> > It's not supposed to "exist" in non-plants(?).

No, it exists in many clades, which include many bacteria. It's most notable for being absent in Animalia. "exist" doesn't need to be in scare quotes, it simply means that animal genomes don't have the genes that encode for this pathway.

The basic premise of the paper - that glyphosate may be affecting animals indirectly via their gut microbiota - is sound enough, but the paper itself is of very poor quality. It follows a pattern of dubious papers critical of glyphosate (e.g. Seralini) that 'throw data against a wall and see what sticks'.

* 20% recollection rate of already small samples (n=80 IIRC, so just over a dozen to compute statistics on, patently absurd).

* No dose response: 10mg/L exposure shows no results, while 5mg/L does.

* The affected microbes appears random and likely a result of poor sampling and multiple comparisons.

The paper is a joke. A bad one. Any of those three issues should result in immediate rejection. Think whatever the hell you want about glyphosate, Monsanto, etc., but science matters and this isn't fucking science.

<comment><USER7> I used quotes to indicate my lack of surety in using that term. This is the more traditional use of quotes. Nothing passive aggressive/"scary" intended.

</comment></comment></comment></comment></comment><comment><USER9> Previous discussion on HN: [https://news.ycombinator.com/item?id=18084054](https://news.ycombinator.com/item?id=18084054)

</comment><comment><USER10> Someone smarter than me discussing this paper: [https://m.youtube.com/watch?v=xdnW8ldDoZU](https://m.youtube.com/watch?v=xdnW8ldDoZU)

</comment><comment><USER7> Looks like not even organic food is free of glyphosate. Is there any way to buy (vegan) food without any glyphosate?

<comment><USER11> Organic is the only route I know of to avoid it. Where did you find organic food with glyphosate?

<comment><USER12> I used to work on an organic farm.

We used glysophate because it technically "doesn't touch the plants meant for consumption", therefore it doesn't matter if it's not organic.

Wind and soil leeching obviously make this untrue, but legally our product was still "organic" as long as we didn't directly spray our crops.

<comment><USER13> This doesn't square with the experience my friends on a small family farm had - they could not get organic certified because a neighboring farm was using glysophate. That was admittedly ~16 years ago, so maybe something has changed.

<comment><USER12> Interesting. What country/state was this?

<comment><USER13> US, Michigan. I assume organic requirements are the same across the US though.

</comment></comment></comment></comment></comment></comment><comment><USER14> If colony collapse disorder escalates to all pollinating bees then we're gonna have to figure out artificial pollination</comment>


JSFarm: a distributed raytracer that runs in the browser - <AUTHOR> http://feep.life/~feep/jsfarm/info.html <comment><AUTHOR> Remember PoVRay? Those were the days. :)

It's not the fastest, and it's not the most accurate, but it should be fun to play with.

If you link a render, please link the scene as well! You can just copypaste the URL after saving.

<comment><USER2> > Remember PoVRay?

What, did it go somewhere?

[https://github.com/POV-Ray/povray](https://github.com/POV-Ray/povray)

<comment><AUTHOR> I meant that more like "Remember when PoVRay was the hot stuff in raytracing". PoVRay and Fractint were basically my childhood. (In the early 2000s. I was a little behind the times.)</comment></comment></comment>


Two million Raspberry Pi sold - <AUTHOR> http://www.raspberrypi.org/archives/5265 <comment><USER2> One of those two million is sat under my desk, collecting dust. I know a few others that are, and, I wonder what percentage of that 2 million are in the same situation?

Because you need a few bits and bobs to get your pi working there is a major disincentive to complete and finish whatever that hobby project was to be. Hence the situation with my pi - the wait for bits and bobs, a small bout of illness and the initial enthusiasm gone.

I think that the price of those extra bits and bobs is also quite a bit. Sure, everyone has spare power supplies and SD cards knocking around, but maybe not a spare video lead, keyboard, mouse, whatever is needed for the project. Just one of these parts missing from the misc. hardware drawer means a hurdle to getting started.

It is bit like buying a barebones car where you just need to put in a motor, a few seats, a few door panels, oh, and paint it yourself. You would learn a lot about auto engineering, for sure, but, it would cost more than initially expected.

What I would like to see is a raspberry pi that works like a 'hardware virtualbox', networking over USB, power over the same lead so you just plug it into your PC/Mac and you have something right there, ready for whatever web/hardware development needed.

<comment><USER3> > What I would like to see is a raspberry pi that works like a 'hardware > virtualbox', networking over USB, power over the same lead so you just plug > it into your PC/Mac and you have something right there, ready for whatever > web/hardware development needed.

But it is. My Pi's are running headless and I access them over Ethernet. They suck less power than a VM running on a more powerful hardware and that's the point.

edit: I admit that it's easier for Web dev than for HW dev. I'd use Arduino for HW hobbies before a Pi if the project can be done with both.

<comment><USER4> The Beaglebone / BB Black does exactly this - you can have it connected with a single USB cable.

<comment><USER2> Thanks for that - a very tempting option, not in stock right now with RS Components in the UK, but seems the price of a months hire for a VPS, give or take, and roughly the same spec - therefore perfect for dev work where performance needs to be targeted.

</comment></comment></comment></comment><comment><USER5> I am running two Tor nodes on two raspberries:

[https://atlas.torproject.org/#details/B679923178D2B63F22C984...](https://atlas.torproject.org/#details/B679923178D2B63F22C98489E689E1F91B899624)

[https://atlas.torproject.org/#details/0A7028F6600F940D1A680A...](https://atlas.torproject.org/#details/0A7028F6600F940D1A680AEBCD928509A17AE8FC)

A single pi can push about 600 kb/s. This includes a lot of circuit requests and other encryption. Thinking of buying some more.

<comment><USER6> Interesting - I've been thinking about doing this for a while. So I take it from the atlas page that you are running a standard (non-exit) relay?

<comment><USER5> Yes. As you can see my first relay started out as an exit relay, but my fascist ISP (whom I can not choose or contact) kept on blocking my router's mac address, which made my relay unstable. Since I am not an exit anymore the relay has been running fine.

<comment><USER7> You can't contact your ISP? Will they contact you if you stop paying?

<comment><USER5> I wish and I would. But I am co-located with facilities I cannot choose. (Yes, I am a student). Also housing is too difficult to be able to move out.

</comment></comment></comment></comment></comment><comment><USER8> What's the plan for future devices? It would be great if some low cost device like this would have a 12-18 month upgrade cycle and create the sort of buzz as an Apple or Samsung device. Moore's law has benefits at $30 too. Maybe release a $99 version every year then make last year's model available at $35. Get Intel involved? They're really working hard to get into low-power devices.

<comment><USER9> Yes! I am waiting desperately for a Raspberry Pi with an updated CPU!

<comment><USER10> What about the CPU are you waiting for? Higher performance? 64 bit vs 32 bit? And what is the application that is made possible by that you can't do now?

<comment><USER9> More cores, mostly. I tried using the Raspberry Pi with server software such as Owncloud or calendarserver. It just barely works, but it is still _very_ slow. Like, response times upwards of four seconds.

Recent smartphone processors have since about doubled their clock speed and quadrupled the processor count. Even half that would bring response times below a second, which would be much appreciated.

<comment><USER11> Its not really that slow; try different software. Low power means you need to be slightly efficient.

<comment><USER12> Well, for today's software, it kind of is slow. Its IPC performance is about 1 DMIPS/Mhz vs ~3.5 for the latest high-end ARM chips, which also have 3x the clock speed of RPi, and come in quad-core variety. Do the math. That's a 10x-40x delta. Of course such a board wouldn't cost $30 anymore, but they could still improve performance by at least 3x with another low-end, but more modern, CPU, even as single core, but even more as dual-core or quad-core. Even a single core Cortex A7 at 1.2 Ghz would be about 3x faster than Raspberry Pi (90 percent faster IPC * 70 percent faster clock speed).

Personally, I think they should wait until they can make a dual-core 1.5 Ghz Cortex A53 with 1 GB of RAM for $25, which may be possible by 2015, and maybe a quad-core 1.5 Ghz Cortex A53 one with 2 GB of RAM (and perhaps a few extra stuff), for under $50 (I would make it for $40-$45 so the total cost with shipping and whatnot still remains under $50 for most people, instead of going over that price point). A single core Cortex A53 at 1.5 Ghz (its stock clock speed) would be ~5x faster, and also 64-bit. By the way, Cortex A7 and Cortex A53 are both the true successors of the ARM11 CPU RPi is using, and they serve the same markets.

The $25-$50 market, is still probably their _best_ market, since a lot more companies compete at the $100-$200 level.

<comment><USER11> Kind of slow, but the OP is talking about seconds in response time, something is going badly wrong. Software issues not CPU throughput. It doesn't help that IO is terrible, there is no point putting in a faster CPU without SATA and a bit more throughput overall.

They are in a great position for volume, so should be able to do better than the current choice that was suboptimal in so may ways. Not clear that the 64 bit stuff will be that cheap soon (plus porting code will take a while) but it depends when they are going to do something. Cheap is important.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I am using two of those two million RPis with camera modules to record pollinators visiting flowers (backpackable; activated by motion; solar powered). I'm still ironing out some kinks with the software, but the quality of footage produce by the camera module, the low power requirements and the flexibility you get with the RPi are really pretty amazing considering the price.

<comment><USER14> Do you have any pictures or footage? I'd love to see.

<comment><USER15> I use a camera module to capture and catalog a daily timelapse video of the sky and weather above Boston: [http://guipinto.com/skylapse](http://guipinto.com/skylapse)

<comment><USER16> That's really excellent.

Is this website being fed in real-time by the RPi?

What framework/tool are you using to create the UI for your website?

<comment><USER15> I have the raspi collecting images every 5 seconds, then shipping them off to a local box i'm dedicating to render the videos using ffmpeg (ffmpeg -r 30 -i "images_*.jpg" [+ x264 and crf at 23]). Then I ship them off to S3 for storage/serving. The UI was custom built and is still very bare right now. Simply includes HTML5-video object with 2 video options (ogv and mp4). The quality of the rendered video, as well as capture settings (controlling exposure instead of auto, etc.) still needs a lot of work, and this is an ongoing project for me.

</comment></comment></comment></comment></comment><comment><USER17> I got a Pi and a case and connected it via a USB-to-MIDI cable to my electronic piano, and now I can play and record performances to midi files on the Pi. Really cool. It basically gave my piano a technology update so I don't have to spend hundreds of dollars for one of those newer keyboards with a USB port.

My next mini-project is to build a web app that can run these midi tools and list the performances in a nice UI, so that I can control the piano with a tablet or phone on the wifi network (using something other than an SSH terminal).

I am thinking of getting a couple of other Pi's for webcam use. I had one hooked up to a cam but it kept dying for some reason. Maybe because of the cheap wifi dongle.

It's an amazing little gadget and the sky's the limit on what you can do with it.

<comment><USER18> Ah cool, I do the same thing (with arecordmidi)! Would really love a web interface if you make one.

<comment><USER17> I'll try to remember to reply here when I get it working.

</comment></comment></comment><comment><USER19> I'd like to hear a little about the educational successes that RPi may have achieved since launch. That was the goal, right?

<comment> sean-duffy My university sent out all the new computer science undergraduates a RPi each and held two challenges at the start of term, here's a video of the event: [http://www.youtube.com/watch?v=PgjbiBG2sf8](http://www.youtube.com/watch?v=PgjbiBG2sf8) .

<comment><USER20> My university gave us all one when we arrived. It's just been gaining dust as my laptop runs Linux and I just do all my programming on there. That and if I wanted to do a hobby project, I have coursework to do.

</comment></comment></comment><comment><USER21> I absolutely love how ubiquitous these things have become. They're genuinely useful for a lot of different purposes but, to me personally, I like how eco they are. I realize this sounds a bit eco-hipster, but I really mean it: Whereas people used to have big media center machines under their TVs, you can just pop a Pi underneath your TV, install RaspBMC, and that's all you need. It takes 3-4w, nothing more. Lovely.

Having said that, a 60" TV and surround sound receiver will probably also take a least a few watts, if I had to guesstimate :)

</comment><comment><USER22> What's great is now you can just pop onto Amazon, order a model B for $40 shipped and have it at your door in 48 hours.

<comment><USER23> Try element14. 1/2 the shipping time for $8, and you can order a tonne of other electronics stuff for the same shipping price too. Very good customer service if anything goes wrong too.

</comment></comment><comment><USER24> I have found mine very useful. It turned my old USB printer into a fancy-pants wifi printer. It has been running tiny-tiny rss since google reader shutdown. It runs an irc bouncer for me. It runs a dyndns updater for me much better than my buggy router.

It would also run an rss-full-article-fetcher process I wrote but it turns out to be impossible-mission to get ghc to compile or cross-compile anything for arm.

I've found it really useful for lots of low-power bandaid solutions to various problems I have had.

</comment><comment><USER25> How reliable are they as always-on 'servers' wrt running off an sd card? Doesn't it wear out the card in a few months time if you consider all the writing to /var/log? Anyone had one running for close to the two year's it's been out now?

<comment><USER26> I think there is wear leveling that's pretty similar to SSDs. If you use a filesystem without journaling, it shouldn't be an issue. If the wear leveling is good enough, it could be that even with journaling, there's no problem. One could of course use jffs2 or another flash fs that has wear leveling in it if it proves to be a problem.

</comment></comment><comment><USER27> Too bad that miscellaneous issues prevent them from getting an Android port out -- regardless of RAM and CPU requirements, I've been trying to get a decent accelerated web view going on it since I first got one, and _nothing_ works well enough (Qt5 took forever to stabilise - and still isn't quite there yet, X11 still has no hardware acceleration, there are no browsers that take advantage of Wayland, Firefox OS is still not stable enough, and even the JavaFX preview ships without a web view).

But hey, they can play back video pretty OK, so I eventually settled on a mix of video and live streaming a desktop browser rendered on a normal PC:

[http://the.taoofmac.com/space/hw/RaspberryPi/Streaming](http://the.taoofmac.com/space/hw/RaspberryPi/Streaming)

Thing is, omxplayer crashes out of the blue for no apparent reason (either halts the player process or locks up the RPi _completely_, on any hardware rev) and have an alarming tendency to corrupt SD cards, so I'm moving to the Beaglebone Black ASAP.

They do make very nice low-power servers (I have one doing AirPrint via CUPS for iOS devices), though, and of course I try out a bunch of things on mine - if it runs quickly enough on a Pi, then it's blisteringly fast on a "normal" machine.

<comment><USER23> I've had Android running on the BBB.

The BBB's main issue is the lack of support from TI for the graphics chip. Android is 'acceptable' on BBB, but the lack of hardware accel graphics puts a major damper on the fun (aka no youtube).

</comment></comment><comment><USER28> I would love to get a Raspberry Pi but I don't know what I would like to do with it. Suggestions?

<comment><USER29> Log temperatures in your apartment/house: [http://thule.mine.nu/html/](http://thule.mine.nu/html/)

<comment><USER28> Woah, really neat. Thanks!

</comment></comment></comment><comment><USER30> Would I notice any performance gain from using a cheap pc over a pi for something like BT sync?

The Pi's processor is equivalent to a 300MHz Pentium 2, and that's kinds scary.

<comment><USER31> Certainly. The RPI is not able to even remotely saturate its network card + a USB harddrive.

<comment><USER32> Especially with an encrypted disk.

</comment></comment></comment><comment><USER12> I wonder when they plan to make one based on Cortex A53/ARMv8. I assume sometime in 2015, to get it a little cheaper?

<comment><USER33> The Pi already has a trailing-edge ARMv6 SoC for cost reasons. They'll probably be reluctant to move until the fab line used to make the current chip shuts down.

And Arduino is still very popular with a much simpler chip.

</comment></comment><comment><USER34> Although perhaps better suited for arduino, I have one sensing bathroom availability in my old office. [http://briiiiian.com/bathroom-f- graf](http://briiiiian.com/bathroom-f-graf)

</comment><comment><USER35> Who is buying these? 2 Million is way above hobbiest usage.

<comment><USER10> Actually not above 'hobbiest' usage. Its comparable to sales of other comparable things like Arduinos which have sold north of 2M units at this point if you count all the variations.

That said, like the Arduino, there are a small mix of custom-commercial uses in there, some educational where the units are purchased as part of a curriculum, and of course some 'novelty' purchases where people think "I should get one of these" and then never use it again.

So it has good penetration in the hobbiest market which, depending on who you believe is 3 to 5 million 'seats'.

<comment><USER36> hobbyist

</comment></comment></comment><comment><USER37> A website to buy second hand Pi in bulk might work.

<comment><USER38> Or a place to donate all of the ones that are collecting dust. Like other commenters have said, I'm sure computer departments at community colleges could use them.

</comment></comment><comment><USER39> I just got mine on the weekend! I have it set as a home theater PC with Rasbmc, so far I am absolutely loving it.

</comment><comment><USER40> Great little boards, I use these as mini portable file servers/Git hosts in my lab.</comment>


Ask HN: How do you find a colorscheme for your project? - <AUTHOR> Assuming that you do webdesign yourself, at least initially, how do you go about finding a good colorscheme?
Do you "borrow" from a site you like, get help from design-savvy friends, use online color tools, or do you just have great design sense and come up with breathtaking colorshcemes at the drop of a hat?
If there are any good online resources for this please share them :-)
Thanks! <comment><USER2> I grab a camera and take pictures of things that were obviously put together by someone who knows color.

There is a neighborhood full of very well-painted homes that has inspired a few of my designs. One time I pulled a color scheme from macro shots of my backyard. My client said, "Wow, I really like that brown, what is that?"

It was dog poop.

<comment><USER3> Ah yes, the Caganer color theme. It just goes to show you that sometimes people don't realize what they want.

</comment></comment><comment><USER4> I mostly pull colors from images, but <http://www.colourlovers.com> and <http://www.wellstyled.com/tools/colorscheme2/index-en.html> are sometimes helpful. FireBug is real helpful for experimentation.

The best advice I know regarding color schemes: spend time up front finding a good 6-8 colors to cover everything from backgrounds to link hovers, and then, stick with that scheme for your first iteration so that you don't get hung up on choosing colors all the time.

</comment><comment><USER5> Abject thievery.

As I waste-time on the internet (err, do market research) I bookmark attractive sites. My only scruple is that I try to pick a site that is totally off-topic in a completely different industry. One of my projects recently "was inspired by" <http://heroku.com/>. I hope they take that as a compliment.

<comment><USER6> I employ a similar method. Rather than thievery I think it is just influence. I will use bits from several designs I think work well (layout ideas from one, colurs from another etc etc.).

<comment><USER7> Remember that the secret of creativity is how well you hide your sources. ;) Most creative works now stand on the shoulders of giants.

</comment></comment></comment><comment><USER8> A well-known designer trick I've used is to spend 20 minutes paging through a stock photo site (I like sxc.hu), find a picture you like with some good color contrasts, and pull it into an image editor to eyedrop colors out.

Kuler has tools that support this workflow too.

What I don't get is the "shopping for color schemes" workflow that sites like Kuler support by default. I have also never liked anything that came out of a "generate split complements" color wheel tool; the real aesthetics of things like triadic schemes depend too much on saturation/value, and not enough on hue.

</comment><comment><USER9> Work with grayscale first. Design your UI with contrast in mind rather then color. Then when all the main elements are in place, pick a good color scheme. I've always found colourlovers.com to be an invaluable resource.

<comment><USER4> What about for images? Rounded corners, gradients, logos, etc. I would imagine going back and messing with all those later would be a real pain, which is why I think choosing and settling on a color scheme from the start is important.

<comment><USER10> Not at all - it just depends on how good a designer you are and/or comfortable with html/css.

<comment><USER4> images don't have anything to do with html/css

<comment><USER10> It depends - are you prototyping by making wireframes in an image editor or prototyping by coding up a rough working copy? If you're a designer and prefer mocking stuff up in Fireworks or Photoshop, then you should have the chops to build upon the gray boxes and text and layer in effects to add visual polish. If you're a coder and would rather create crude functional demos first, then you should have the html/css chops to layer in visual polish via background images or etc.

Either way, designer or coder, it helps to concentrate on the rough functionality first and then layer things in later, like typography, logos, icons, color schemes and other visual polish.

I'm giving a talk at Adobe in about a week and a half on the subject of rapid prototyping in Fireworks, I think there'll be a screencast or video going on, for anyone interested:

<http://www.meetup.com/Fire-On-The-Bay/calendar/9583191/>

And don't just take my word for it, Mark Boulton's got a great PDF book out with the same approach, if you're interested in improving your process as a designer:

<http://www.fivesimplesteps.co.uk/>

</comment></comment></comment></comment></comment><comment><USER11> I am absolutely not a graphic designer. Usually I start with a dominant colour that I like (for example the default orange header here) and I'll plug it into a colour-match system like <http://colorblender.com/>

Another resource I've used to good success is <http://kuler.adobe.com> (requires flash) which lets people (some of whom are quite a lot more competent than I at this) create and share colour themes.

Finally, a neat tool that I saw make the rounds recently is <http://www.gpeters.com/color/color-schemes.php> which lets you search on a word and uses Yahoo!'s image search to come up with some colour suggestions. That is not a theme place, but it's a fun way to perhaps stumble across a colour you like to use with tools like those above.

</comment><comment><USER12> I'll second <http://kuler.adobe.com> as a great tool to find or piece together a color scheme.

</comment><comment><USER13> Hire somebody that's good at this stuff; same as dealing with icons and images and such.

Creating good color schemes and good icons is as much a specific skill as creating good code.

If you're serious about a product, it's worth the investment. The first thing folks see with your project is the UI; the colors and the icons and such, after all.

<comment><USER14> Is this really good advice? I assume the OP asked because he wants to learn. You don't learn when you pay someone to do things for you.

Also, not everyone has money to spend at the beginning of their startup.

<comment><USER15> I think the quality of that piece of advice depends on a few things.

One obvious one is the audience you're expecting. If you're selling to a bunch of other coders, maybe a great design is less important than your feature list and the first-glance at documentation. If you're trying to do something social aimed at college students, or moms, or something, it may become worth considering, depending on the second point.

The other, less obvious (and less insulting than it sounds) one is, frankly, if you're any good at design. This might sound harsh (and will maybe be disregarded coming from a designer), but good design is harder, and more subtle, than most people think. Many programmers (and managers/producers/friends/pets) know just enough about design to be dangerous. Unlike the source code, _everyone_ on a project sees the design, and _everyone_ has seen and interacted with a million designed websites and front-end interfaces. Hell, most people on most teams have probably built their own full site from scratch, often many times over.

What that means is that when it comes to the design of your site and whether or not to call an outsider, you need to be honest with yourself. Do you know enough, or do you know enough to be dangerous? When you're making decisions about how a piece of art looks, or how a point of interaction works, are you thinking first and then acting, or are you acting first on something that seems cool and then retroactively filling in reasons behind that act to reassure yourself that you're being smart? Do you like a widget on that site because it maps to a specific end-user need you're trying to fulfill, or because of their fancy javascript implementaton?

As for wanting to learn to be a better designer, I think my best advice is to not do it on the job. If your motivation is truly to learn and gain skills for the future, it makes no sense to risk your current project by using it as a classroom for your own benefit. Would you let your graphics designer friend check chunks of code into your site to teach him how to program?

If it is a matter of not having the funds, then obviously you must make the best with what you've got! If what you've got is yourself, no free time, and no money, then there is definitely some excellent advice for how to inspire yourself in a pinch spread across this thread.

If you have time, though, I think that as a designer, beginning or seasoned, the most important question to ask at any juncture is "why?" Most of the advice earlier in the thread seems to stop at "I find some colors that I like and just use them." That's sound advice, as long as it takes the next step! Why did the designer of this other bicycles-themed site choose these colors? Were they really trying to communicate some mood or tone or feeling about the product, or has their parent company's logo just been a blue and yellow plaid since 1936? Why did the designer of this site decide to make the login panel side down instead of just appear instantaneously? Further, why wasn't the login panel simply visible the whole time, why was the decision made to hide it by default in the first place? Was there some sort of intended user behavior or control of site flow there, or was someone just excitedly jerking off because they'd discovered ui.jquery.com?

If you have the time to explore, start a smaller or less risky project, personal page, or hobby endeavor, and use that to learn the ropes, to find out what your strengths are, what you like about designing things. That might sound a tad touchy-feely, but finding out what you like about design and what you do well will help you when its time to sit down and do something real.

Also, if after some exploration, you do find that design really just isn't you for whatever reason, your best bet is to instead spend the time learning the language of design so you can properly talk to and problem-solve with people who _are_ really into design and (if they're good) share your goals of building quality things. Learn the basic terms surrounding typography and colors, of desktop publishing and layout. Learn what is complicated for a designer and what is easy, and remember that, like programming, while designers strive to achieve results which look very simple and clean to "outsiders," the path they take to get there is never as easy and simple looking as the output it presents.

That was certainly more rambling than I intended. Sorry, guys.

</comment></comment></comment><comment><USER16> There's a fantastic (physical) product design blog at <http://www.thedieline.com/> that I often use as inspiration, especially since many of the product ranges use a palette of 3-7 colors.

</comment><comment><USER17> I just make them up. They don't come "at the drop of a hat"; it takes time and a lot of hard work, usually. Often there are false starts and wrong turnings. One site design I did a while back went through four utterly different designs before I was happy with it. Sometimes that's just how it is; usually things go a little more smoothly.

Usually it's art that I draw from, rather than the work of other designers-- Rothko, Hokusai. Recently I saw an understated gem of an exhibition: Vilhelm Hammershøi at the Royal Academy. I would love to incorporate some of his subtle tones and textures into something.

</comment><comment><USER18> I usually pick a theme I want my site to have, like "education", then do a Google image search for the term to see how others have represented it with color. After getting a basic idea of what color I like I hand it off to the designer with very general suggestions. I have learned this is one area I am better off delegating to someone more talented.

</comment><comment><USER19> I generally pick a main color i want to use and pick colors that are on either side of it in the color wheel (Also that are similar in brightness and so on) if I don't want a monochromatic site.

Or if I'm at a loss, i have this widget: <http://www.colorschemer.com/galleria_info.php>

</comment><comment><USER20> on hndir.com, i basically got my inspiration from the textmate editor theme "Blackboard." many of them can be found here: <http://wiki.macromates.com/Themes/UserSubmittedThemes>

i guess after a while, you like black as a background so much that it creeps into your projects ("black's da new white, yall!").

our next project, which we should have ready in march, is also themed the same way. dark background, neon'ish colors. i need to get over it. there was a phase i went through where everything was white and blue. i honestly have no idea where i get these fetishes (fetishii?).

but yeah, great artists steal. anarchy has no rules, so declare a form of government and go ballistic ("maybe wrong in YOUR country, but in mine, which i happen to login via root, it's perfectly acceptable.")

</comment><comment><USER21> Try to define the subject of your branding. It your logo is a monkey, for example, find some photos of monkeys and pick the colors. Make a palette of these colors and see what is matching well.

Hint : it's good to mix some cold and warm colors. Try to keep some white space (or at least, light tones).

</comment><comment><USER22> I prefer Black and White as <http://mobify.me/> does.

</comment><comment><USER23> I ask myself what I want a user to "feel" when they visit my site. Then, I choose basic colors which elicit that feeling. After that, I look at different color schemes to see which complementary colors I like (this part is mostly subjective).

</comment><comment><AUTHOR> I found these by by asking Google:

<http://colorschemedesigner.com/>

<http://www.colourlovers.com/palettes/top>

but found them pretty wanting..

</comment><comment><USER24> Has anyone ever tried Adobe Kuler. It has a lot of themes put together by I guess designers. I admit some of them are awful but it gives one an opportunity to see how different colours complement each other...

</comment><comment><USER25> I just kind of go into it intuitively. I guess you could call it synesthesia, but that's a bit overwrought a description. I pick colors that feel right and jiggle until it comes together perfectly.

</comment><comment><USER26> Oh I would definitely hit up <http://www.colr.org> :)

...unless my project IS www.colr.org.

Then I stick with white and gray.

</comment><comment><USER27> I used <http://www.gpeters.com/color/color-schemes.php>

</comment><comment><USER28> I like to check out wordpress themes.

</comment><comment><USER29> ask a designer (-:</comment>


Ask HN:What CMS should I be using? - <AUTHOR>

A client wants a site with a built in CMS. Is Wordpress the easiest route to go down? Any good jquery and HTML alternatives? <comment><USER2> It depends on what your client wants on the site, but Wordpress is a great CMS. And as for jquery/html; that depends on the theme you will choose to make/buy.

<comment><AUTHOR> Wordpress it is I think. Going to use a naked theme and build from there.</comment></comment>


Ask HN: What are incentives for scientists to perform replication studies? - <AUTHOR>

We often see headlines in print/online articles proclaiming "numerous scientific studies have shown that X causes Y".  My naive question is: What are incentives for researchers to perform replication studies?  It seems like the first published study gets a lot of acclaim and prestige within the research community, but it's much less prestigious to be like "oh, I saw that UC Berkeley economists did a study on dataset A, so I just used dataset B from a different country and replicated their study.  I achieved similar findings"
It seems like it might be difficult for up-and-coming assistant professors to make a convincing tenure case if they simply performed replication studies (seems like originality and 'being first' are more valued for tenure), and veteran researchers probably also want to venture out to perform new breakthrough studies rather than doing replications.  I'd like to learn more about the incentives that scientists have for performing replication studies; it seems like they're very important for making sure that results are robust, but I don't see any reason why an ambitious scientist would spend time doing them rather than doing his/her own original experiments.  thanks! <comment><USER2> A key insight here is that in many fields you can implicitly confirm results from a study by basing your own research on them. If the foundation is rotten, you should be able to figure that out sooner or later, which will lead you to trying to replicate the original results---initially, to see what you're missing---and from there you are in a position to falsify them.

</comment><comment><USER3> Replication is important because initial results are often wrong because of misinterpretation of the results, experimental error, or experimenter bias. Others in the field want to make sure their work is on strong ground.

<comment><AUTHOR> ah very interesting ... i guess replication studies are often done as like a 'step 0' of a new original study, just to make sure that the new study is on solid footing and not based on results that are tenuous</comment></comment>


What is Symplectic Geometry? (2016) [pdf] - <AUTHOR> https://www.ams.org/journals/notices/201611/rnoti-p1252.pdf <comment><USER2> This really doesn't make it clear what symplectic geometry... is, or why I should care about it. I have eventually figured out an answer that was satisfactory to me, after much frustration: it is math on a manifold that has a concept of paired-off coordinates, like (x,v) in mechanics. Typically this is interesting because it is an alternate characterization of the mathematics of a space where the relevant quantities are a variable and its derivative.

(In classic mechanics, particularly, there is an unusual symmetry to position and velocity, such that the laws of mechanics look roughly a rotation x -> v, v -> -x, which is why this works so well.)

<comment><USER3> What does "paired-off coordinates, like (x,v) in mechanics" mean? What is x and v here?

Thanks!

<comment><USER4> Generalized coordinates and their "conjugate" momenta. These are the basic dynamical variables used to describe mechanical systems in Hamiltonian mechanics:

[https://en.wikipedia.org/wiki/Hamiltonian_mechanics](https://en.wikipedia.org/wiki/Hamiltonian_mechanics)

For certain systems (e.g., particles in euclidean space interacting via conservative forces dependent only on position), the momenta coincide with velocity, but mathematically they are different objects: velocities are vectors, and momenta are covectors. They transform differently under coordinate transformations.

I wish I knew a concise self-contained exposition off the top of my head, but I don't. You can probably find something on-line. I think there's likely a discussion in Structure and Interpretation of Classical Mechanics (Sussman & Wisdom):

[https://mitpress.mit.edu/sites/default/files/titles/content/...](https://mitpress.mit.edu/sites/default/files/titles/content/sicm_edition_2/book.html)

Try looking up "cotangent bundles" (mathematical name for the type of spaces appropriate for Hamiltonian mechanics, formulated in terms of generlized coordinates and momenta) and "tangent bundles" (more appropriate for Lagrangian mechanics, formulated in terms of generalized coordinates and velocities).

</comment></comment></comment><comment><USER5> Quite interestingly, Symplectic Geometry is currently under review/investigation for some of the foundational papers in the field having serious gaps and outright errors after closer inspection. These concerns were always spoken of in hush hush tones and only in recent times have people stated their concerns publically. Some of the original authors refuse to retract their papers despite being assured their academic positions (which realistically, came through the reputation built up by these papers) are secure. Here's a quanta article about this fiasco: [https://www.quantamagazine.org/the-fight-to-fix- symplectic-g...](https://www.quantamagazine.org/the-fight-to-fix-symplectic- geometry-20170209)

<comment><USER6> As a result, lots of recent work is being done in the algebraic setting (rather than analytic), where the foundations are on much firmer footing.

Being algebraic symplectic is a much stronger condition than analytic symplectic, but is still interesting enough (and, for geometry related to linear algebra problems, as is often relevant in CS, is not a very strong restriction at all.)

</comment></comment><comment><USER7> For those into physics, I wholeheartedly recommend Marsden and Ratiu's book, "Introduction to Mechanics and Symmetry", which deals mainly with the different formulations of physics applied to symplectic and associated geometries.

<comment><USER8> Thanks for the recommendation! I didn't know this one. I try and lap up everything I can by Marsden, (though more often through the lens of applied researchers: e.g. Desbrun, Hirani, Crane, and others -- much involving computer graphics and/or discrete differential geometry applied to physical simulation. In short, I better say that I am not familiar with the scope of Marsden's work. I am sure much of it is beyond me, but gosh darned it, the exterior calculus is beautiful and these guys write brilliantly readable stuff for an engineer.

Even as a hydrodynamics software guy, I found the computer graphics research community to be the easiest entry-point for, especially, the topology and modern differential geometry. It's especially nice when they do a simulation paper with a high end geometric/analytic approach.

This might be a good place to go in order to have a start at, say, Arnold's ``topological methods in hydrodynamics'' or anything TQFT-esque.

</comment></comment><comment><USER9> Importantly, the Hamiltonian formulation of classical mechanics has symplectic form, with the conjugate variables (position, momentum) making up the dimensions.

</comment><comment><USER10> @agronaut: most interesting to me: why did you post this? What were you working on that led you to this?

</comment><comment><USER11> This was quite a treat !

</comment><comment><USER12> This seems to have crossover with topological data analysis.

<comment><USER13> In particular, for geometrizing semantics. Montague grammar is a tarpit, and pragmatic utility of inference on distributed representations has been abundantly demonstrated in the past decade. Symplectic structure is one of a small class of structures which capture and relate essential features of natural semantics in a metric (read, tractable) representation. This offers a tantalizing prospect for bridging the gap between computation and cognition.

<comment><USER12> Hear here!</comment></comment></comment>


How dangerous are swans? - <AUTHOR> http://www.bbc.co.uk/news/magazine-17736292 <comment><USER2> Wow, that's really sad. Unfortunately as humans we don't react well to being attacked by animals.

Assuming you can't use your head to avoid being attacked, you need to remember to be merciless and beast-like in your counter attack. Otherwise, if you handicap your reaction you could end up severely injured or dead.

It's not that hard to kill a swan or to blind a larger animal. The problem is realizing you need to.

My Experience: My dog was violently attacked by another dog when she was a pup. I stupidly jumped on the other dog and immediately went to work on prying the dog's mouth open. That didn't do much, it was a 50lb pit bull. Had I gouged its eyes out I would have gotten my pup loose a lot sooner (the attacking dog had to be put down anyway).

I learned my lesson after that. A few years later my dog was attached by a shepard mix (we're just lucky I guess). That time I reacted without mercy and kicked the other dog in the ribs as hard as I could which made it let go instantly. Then it lunged at me and I punched it in the face, again, as hard as I could. It hobbled away stunned.

It sounds terrible, I know, but compared to the first attack where my dog had several puncture wounds and my hands got pretty cut up, I didn't have a scratch on me and my dog was in pretty good shape too. Obviously, never do these terrible things to another animal unless you're defending yourself.</comment>


Your Best Hire: It May Surprise You - <AUTHOR> http://www.businessweek.com/managing/content/jul2008/ca20080724_402370.htm?campaign_id=rss_topStories <comment><USER2> _Long ago, a boss told me: "Hire into your weakness." That's a tough pill for managers to swallow. If we hire people who are stronger than we are in certain areas, we run the risk of looking incompetent. We may look foolish, or be in a position to have to ask for advice more often than we like. If we hire people who are better than we are in some realms, they may not respect us._

good lord. do people really think like that? if so, i think they've got much bigger problems than merely hiring people like themselves.

<comment><USER3> The process doesn't have to be conscious. People who are competent in areas one doesn't understand can come across as vaguely intimidating, while being weak in areas where one is stong might be interpreted as stupidity. As such, unless you are extremely honest with yourself you run the risk of underestimating those that differ from you, and overestimating your mirror image.

<comment><USER2> what surprises me is to see an article like this on hacker news, and to see it getting serious upvotes.

if you ask me, the author of that article is not part of the solution, she's part of the problem. she's describing a framework where decisions are made based on ego and pride. exactly the sort of environment that the average hacker news reader wants to avoid.

then she goes on to describe how you might fix one small part of this -- by deigning to hire someone not exactly like yourself. while leaving the rest of the ego-based framework intact, no doubt.

i'm guessing the _real_ problem she's describing is deep insecurity. i'd prefer to see her tackle that one, rather than some tiny insignificant facet of it, as she's chosen to do here.

<comment><USER4> The degree of _Hackerness_ on HN has been going down since that techcrunch post, now days it's a lot like reddit a few months before the condenest sale. Of course, this is my subjective opinion.

These days the challenge with any community is that once the masses find out about it, it's all downhill in a matter of months, unlike years before.

<comment><USER5> I'll make you two a deal. If you submit _hackerish_ stories to HN, I'll keep an eye on your profiles and vote for them.

I'm serious. I'd actually see more hackerism here.

<comment><USER6> I sympathize. In an attempt to help I wrote and submitted the item below, but I think it got zero visibility on the site due to my newness and lack of karma. As far as I can tell it's the sort of thing you want to see more of, but if not please tell me.

Why Hacking Exists: <http://news.ycombinator.com/item?id=247513>

</comment></comment></comment></comment></comment></comment><comment><USER7> Good observation.. those differences probably starts with your co-founder and trickles down through subsequent hires. Reminded me of the value of tools like DISC, myers-briggs, the book 'Now, Discovery your Strengths', and the '5 dysfunctions of a Team'. Anyone else know of any useful tools or proverbs along this line?

<comment><USER8> DISC is awesome. Is there a link to it somewhere? I've never managed to find it online for some reason...

</comment></comment><comment><USER9> _The process doesn't have to be conscious. People who are competent in areas one doesn't understand can come across as vaguely intimidating, while being weak in areas where one is stong might be interpreted as stupidity._

it's important to remember this not just in a business setting but in a social one as well.

</comment><comment><USER10> A narcissist always enjoys a good mirror.

</comment><comment><USER11> Not to sound flippant, but wasn't this the idea behind the Beatles? Lennon and McCartney's balancing each other is what made the Beatles so great.

</comment><comment><USER12> An honest self-assessment is essential for hiring into your weakness. Unfortunately, most people are unable or unwilling to do that.

</comment><comment><USER13> Not as good as the Yegge essay "Done, and Gets Things Smart", except that it's shorter.

<comment><USER11> Brevity is the soul of gettingpeopleonlinetoactuallyreadwhatyou'vewritten. Shakespeare said that.</comment></comment>


ImageOptim - Make websites and apps load faster (Mac app) - <AUTHOR> http://imageoptim.com

<comment><AUTHOR> ImageOptim's quite well-known actually, but there are always people who haven't heard of it before; so I though re-submitting it doesn't hurt anyone!</comment>


How Path Gets Clicks and Why Foursquare Flops - <AUTHOR> http://blog.jasonshah.org/post/18441800859/how-path-gets-clicks-and-why-foursquare-flops-ux-for

<comment><USER2> There might be a simpler reason: most Foursquare links are not photos, just check-ins, which by themselves are no fun.

The real dilemma is this: if Path A/B tested their current design against one similar to that of Foursquare, and the Foursquare design had better conversions, then which one should they choose?

<comment><AUTHOR> Fair point. Photos definitely are (IMHO) more engaging than plaintext or even Google Maps of where someone is. But this post compared photo posts on either platform, so to be fair, the medium was the same -- but you're still right in that Foursquare doesn't have as much of a focus on photos as Path does.

Really interesting counter-question you posed. It appears to then be a decision about Path's conviction to how things SHOULD be designed vs. immediate conversion lifts (and how significant those lifts were/what future engagement was like/other conversion and engagement metrics).

For example, I imagine Facebook has tested designs that increased user engagement but didn't fit with a bigger picture strategy or violated some core tenets. They probably scrapped it and stuck to their conviction in a lot of cases when there were alluring potential upticks in conversions with alternate designs.

<comment><USER3> It doesn't matter that Foursquare added photos later, people have been seeing boring foursquare links on Twitter / Facebook for years now. I don't even notice the [pic] tag because I've been trained to mentally filter out those links because they're boring.

Path is inherently about the photo first, I'm never clicking through to Path to figure out where the person is, only to look at the photo.

<comment><AUTHOR> This underscores how important it is for companies to get as close to right early on, no matter how MVP.

Arguably if 4sq. started including photos sooner, or had a less boring UX on those UGC landing pages in the first place even if they lacked photos for a while, they could have counteracted this sort of apathy towards their links and avoided, or altered, the mental filter you mentioned.

<comment><USER3> Yes, without a doubt. Look at how few people use their lists feature. It was months before I even realized it existed, and I check in constantly. People have a very clear picture of what Foursquare is and what it provides, and that makes it incredibly difficult for them to break out of that mold.

</comment></comment></comment></comment></comment><comment><USER4> One place Path definitely falls flat on the click through links parts is in emails they send out. If I'm not on a mobile device the "Someone wants to share their path with you" links are frustrating since they just lead to a download the app page. I have a number of friends that are in my queue on Path simply because I generally handle emails from my computer rather than my phone, so they're pretty much guaranteed to languish underneath a pile of other social media notifications.

In contrast, for as long as I can remember foursquare has had a way to accept friend requests from the web, even when the overall web experience was minimal. I know that Path wants to drive people to the mobile app, but the best way for me to want to use the app is to make getting friends into it as seamless as possible. Right now, it always seems like a two step process of seeing the email and then remembering to actually accept the friend request (yes, the notifications are theoretically turned on, but they rarely seem to come through properly for Path on Android).

<comment><USER5> I'm pretty positive they are working on the various elements of the web experience you've mentioned, while still focusing on driving people to the app. During the Path 2.0 launch, the website was pushed to a lower priority, but they will get there.

That said, am I alone in basically turning all email notifications off these days? I filter out, or turn off, emails from Facebook, Twitter, and Path (my primary networks). I'm using those networks often enough to not miss anything important, and you can generally have anything urgent sent as a push notification (direct messages, being mentioned in a post, etc).

</comment></comment><comment><USER6> I think the main difference is just that Path only lets you follow such a small number of people. Thus you are immediately saying these people are credible to you & whatever links they share are most likely worth looking into. Versus Foursquare where each link posted is just another drop in the hat for people how have hundreds or thousands of people they follow.

<comment><AUTHOR> That IS a difference, but I don't follow anyone on Path (yet). The Path links I consume are via Twitter, as were the Foursquare ones, so arguably the credibility and selection bias are equalized.

Since the links I consume have been shared on Twitter (by people who don't follow me, and whom I don't follow) people are breaking out of the Path limitations by automatically, simultaneously publishing their updates to Twitter as they're being posted on Path. Effectively people have subverted the 'private' differentiation the Path offers in a lot of use cases from what I am seeing.

</comment></comment><comment><USER7> This is a great comparison on UX for any app or start-up. What i really want to show the user when he lands up on a page, and what next. This is like the Coca-cola add, where they dont sell the brand, but show a soda bottle with Coca-Cola (in small) for a short duration. Engage the user in what you want, no need to sell the brand-name. He will praise you more if he likes your work :).

</comment><comment><AUTHOR> I have noticed a personal trend that I click all the time on links shared via Path for all sorts of people (friends and people I have never met).

But I don't do the same for Foursquare. For what other apps do people click through when links are shared on Twitter and Facebook?

<comment><USER6> Yeah Facebook & Twitter for sure, also Tumblr. But the people you're clicking on Path are in your group right? You can't just see anyone, or am I wrong?

<comment><USER8> I don't have any people in my group and I've been able to look at others' links.

<comment><USER9> Only the person who posted the photo can share it (and as far as I can tell, only at the time they post). As I understand it, by sharing it they are basically giving access to anyone who has the URL.

</comment></comment></comment></comment><comment><USER10> I can't remember the last time I saw a Path link in my Twitter stream, but I see a few 4sq ones a day.</comment>


Man used online ticketing glitch to scam American Airlines out of $160K - <AUTHOR> https://www.stltoday.com/news/local/crime-and-courts/ladue-man-used-online-ticketing-glitch-to-scam-american-airlines-out-of-160k/article_472f226c-e0ad-5b68-ad31-55e55afb20eb.html <comment><USER2> I missed the scam? Buys gift cards on his credit card, redeems for tickets, gets ticket refunded to his credit card. Where did $ out become larger than $ in?

</comment><comment><USER3> [https://archive.is/sje2O](https://archive.is/sje2O)

Now with less geomancy.

</comment><comment><USER4> 451: Unavailable due to legal reasons

We recognize you are attempting to access this website from a country belonging to the European Economic Area (EEA) including the EU which enforces the General Data Protection Regulation (GDPR) and therefore access cannot be granted at this time. For any issues, contact firstname.lastname@example.com or call 314-340-8000.</comment>