Programming is hard - <AUTHOR> http://writing.bryanwoods4e.com/1-poor-poor-child <comment><USER3> OK, here's a really biased point of view. The author says:

        It's OK to suck at math; you won't be using much anyway.

        I'm not sure how this stereotype got instilled in
        me, but I'm slightly embarrassed to admit that I was
        surprised to discover how little math is involved in
        day-to-day programming, ...

That depends. The amazing thing is how knowing math can help in so many unexpected, tangential, apparently unconnected ways. Time and time again the guys I work with do stuff that would be easier if they knew more math. When I pair with them they frequently say that they wish tehy knew more math.

It's OK not to have a PhD, it's OK not to have a degree, but at least knowing about, and having a good, intuitive grasp of what goes on in topology, linear algebra, analysis, graph theory, game theory, logic and more is immeasureably useful.

Unless you're doing the kind of coding that really doesn't require design or algorithms or data structures or communications or database work.

I've never used stuff I did in my PhD, but time and time again, continuously (and I use the work correctly, I don't mean continually) I've used the stuff I learned on the way that enabled me to do my PhD.

Learn more math. It will be useful, even if only to give you the option of rigorous reasoning.

<comment><USER4> I agree with you. I find many reasons to know math during my career and in my programming hobbies. It is hard for me to ever take the statement seriously. We are not even talking about calculus here...

I surprised a fellow developer in the Dark Mists MUD by converting a table into a simple linear formula ("What should Y be when X is at this point in the range?"); this is grade school geometry, right? I just needed the formula for a line!

In my regular work, it is surprising how many times people do not understand the need for variance or standard deviation when they are looking for quality in averages of their data sets.

So web programming? If you have to put up charts of large data sets, things will get hairy without at least knowing how to interpolate the data points. A slow website may be a result of brute-force simplistic approaches in the code. Some of the packages we use (such as jQuery) require some good math knowledge to implement (example: drag-and-drop). We certainly cannot generalize that in web programming, it is acceptable to not know math.

You can get away with not using math in our industry if you leave it to others to do it for you.

<comment><USER5> Spot on. You may not need math if you are working on very very standard boring things, or on some system level stuff. However, the moment you need to work with real data and do cool things with it, you are often left SOL without the ability to figure out the math.

Many people grab a scientific toolkit (psipy and the like), but understanding what a Gaussian filter is vs calling a function for it, does an immeasurable amount of good anytime you need to decide what your particular dataset needs.

</comment></comment></comment><comment><USER6> For some odd reason, whenever you ask whether math is important to programming, there is a strong correlation between the depth of a programmer's mathematical training and his belief in its importance.

There can be many explanations for this, but the simplest is that when you have a tool in your tool chest, you tend to use it, and when you use a tool, you see opportunities to use it everywhere. Whereas if you don't have a tool, you don't see the opportunities it affords, so you don't know what you're missing.

Even if my conjecture is true, this doesn't mean that mathematics is more important than some other experience a programmer might bring to their career, so I am not suggesting that the author is wrong when suggesting it isn't important. Perhaps it's useful but less important than some other skills.

I'm not a mathematician, so I don't know, it's all blub to me.

<comment><USER3> In my experience as someone with a lot of math in my toolkit, many, perhaps most, of the people I work with end up wishing they had similar skills. It's not just me saying math is useful, it's the people who have seen it used.

<comment><USER6> So perhaps:

 _there is a strong correlation between the programmer's exposure to mathematics and his belief in its importance._

?

<comment><USER7> I agree with that, but it's hard to believe something is important if you have no concept of it. (People know that "math" exists, but until they've studied specific areas, they probably will have never been exposed to those concepts or ways of thinking.)

</comment></comment></comment></comment><comment><USER8> While I agree with the general idea behind the article, there are lots of specific details I disagree with. For example:

 _It is absolutely crucial to pick a first language with a deep, expressive vocabulary for this reason, and all programming languages are not created equal._

Not really. I started with BASIC, on ZX Spectrum 48, and I actually used it to write a real-world program which was used by real users; if you're curious, it was a pop quiz for biology classes. Yes, it's probably the worst code I've ever seen or written. Yes, it had all sorts of problems and bad practices you could readily think of and then some that would require you to be very imaginative. No, it didn't cripple my development as a programmer.

The problem is not in which language you pick as your first language. The problems start when you start believing that's all there is. Some of the most important things I've learned were things I encountered when learning a new, more powerful programming language, precisely because they were impossible (or extremely difficult, or too messy) to express using the old language. They challenged my understanding of programming and helped me develop even further as a programmer.

<comment><USER9> Strong disagreement. My first language was also Spectrum BASIC (I'm not dissing it, by the way, a mighty engineering achievement and my life would have been much poorer without it), but it's not a language I'd expose a child to today, because you need to deal with all sorts of accidental complexity to see some of the deep ideas. On the other hand, the Spectrum environment was almost perfect considering the hardware available.

In the same way, if you want to learn OO, learn Java rather than C++, where the same concepts seem very much more complex. And that's probably true even if you want to program in C++ eventually!

Probably better to use python than either, because that's got the least accidental complexity of anything and can express a wide range of ideas, as far as I can tell.

My favourite language at the moment is clojure, but actually some of its nice features like pervasive immutability would make things hard for a beginner. Better to learn how to do everything and then decide which powers you want to not use.

So I guess my ideal beginner's computer today would be a modern ZX Spectrum running a version of python with a lisp syntax (for macros). pg's original vision for arc sounds like a good spec.

And of course an essential requirement would be a printed user manual as friendly and straightforward as the ZX BASIC manual or the TRS80 one.

</comment></comment><comment><USER10> "As a linguistics major, you're no stranger to the idea that a person is only capable of having thoughts and ideas that can be expressed in their language."

This is, IMO, so wrong on many levels. My native tongue is Spanish, but I'm also fluent in English, French and German; however I find myself thinking in all of them with the exception of German (I guess I'm not as fluent as I thought I was in it ;)). In the same way, I started with C when I was around 12 years old, and I've had no problem thinking in C, Java, Ruby or Python (which are the languages I use mainly). I think as long as you understand the language itself you won't have to think back to a different one to process your thoughts.

And don't get me started on the math. Math is extremely important in programming. I have a friend that shares that though that math is not important, and his code is hideous (Ok he uses ONLY Php, as it's his opinion all other languages are complicated and inflexible). Math can help you accomplish a plethora of things easily, faster, and more productively.

<comment><USER11> The idea that language limits what you can think has been obsoleted for quite some time, see <http://www.nytimes.com/2010/08/29/magazine/29language-t.html> for example.

'Languages differ not in what you can say, but in what you must say" -- Roman Jakobson

<comment><USER3> Many linguists claim that the Sapir-Whorf hypothesis (SWH) has been soundly disproved. They have bags of evidence to show that the usual, strong interpretation is false.

And yet every programmer with proficiency in several languages knows that some problems are easier solved in Python, others in C++, and others in AWK. Further, every polyglot I know will shift language according to nuances in the thoughts they're trying to express, because some languages have more/better/finer distinctions about different things.

In Spanish the words for "to wait" and "to hope" are the same. In some contexts the words for "Even" and "Same" are both translated into the Frech as "meme" (as in "meme chose" - "same thing"). Perhaps these conflations of words show a conflation of concept. Yes, the differences in concepts exist in the minds of the speakers, but the language to express them precisely isn't always there.

There's a Spanish joke: "¿Cómo se llama a un ascensor en Inglés?" - "Con su dedo." It doesn't translate into English - you need to read the Spanish. Again, vocabulary conflation.

SWH has been debated here on HN before, many times, and no doubt it will again, with the research-based linguists saying there's no difference in lanugage chosen, and the polyglots snorting derisively.

<http://news.ycombinator.com/item?id=1505365>

<http://news.ycombinator.com/item?id=658951>

<http://news.ycombinator.com/item?id=218862>

<http://news.ycombinator.com/item?id=1595991>

I've repeated this comment in a new submission since I think the subject deserves a discussion of its own:

<http://news.ycombinator.com/item?id=1814973>

<comment><USER12> As a translation to the joke:

"How do you call an elevator in English?" "With your finger."

<comment><USER3> But until you have the punchline the correct "free" translation of the question is " _What_ do you call an elevator in English?". It's only after you've heard the punchline that you have to go back and re-interpret the question.

<comment><USER12> Which is why context-free translation is crap. The question itself is translatable, as is the answer itself. But the composition of the two translations is not the translation of the whole. This is equivalent to the translation of a sentence by compositing the translations of each of the words without taking into account their role in the sentence. "How do you call X in L?" is a perfectly valid and understandable English sentence, although less idiomatic than "What do you call X in L?" or "How is X called in L?". The context informs the translation.

</comment></comment></comment></comment></comment></comment><comment><USER3> Last time this got discussed:

<http://news.ycombinator.com/item?id=1053753>

someone in this comment:

<http://news.ycombinator.com/item?id=1054048>

said:

        "especially for a web developer" is the important part.
        As a fellow web developer, I agree. I'd certainly like
        to get into the mathier side of programming someday, but
        it's rarely necessary for my day-to-day operations.

That misses the point entirely. How do you know it would be useful if you don't have any? And do you only, ever, and always want to be a web programmer?

Why limit your options?

<comment><USER13> "Why limit your options?"

I suspect that focusing on mathy programming jobs would tend to limit your job options, at least in most regions of the US.

<comment><USER3> People seem regularly to assume that getting good at math means you therefore need to do mathy programming jobs. That's exactly what almost every comment here is trying to refute.

It's _not_ doing math that limits your options. I've never seen a prgramming job that wouldn't benefit from the programmers knowing more math. _Every_ programming job I've seen _has_ benefited from more math. And I've seen a _lot_ of programming jobs, Including ATC, weather forecasting, financial, CRUD, web scraping, automotive and more. Even gathering data from a database and presenting it in a template has occasionally benefited from a bit of obscure math.

It's just that people who think math is arithmetic, formulas, equations, calculations and calculus don't realize what they're missing, and just how widely applicable it is.

</comment></comment></comment><comment><USER14> _Furthermore, the first language you become comfortable with will influence the way you learn other languages in the future._

This is true until you learn enough, then it's not true any more.

I used to work with a guy who learned FoxPro (an old database program). Every problem we had on the team, he would look around and say, "Hey, you know what? We could solve this very easily if we only used FoxPro"

Everybody is like that. We just don't see it. So the author is correct as far as he takes it.

The difference is, once you've become exposed to bunch of languages and problem-solving paradigms, you start to see patterns. And once you see the patterns, the languages aren't that important anymore _at least in the way you approach solutions_. The coding itself may be more or less gnarly, but the way you go about fixing the problem is based on principles, not language constructs.

This is like when you learn a word processor. The first time you use one, you begin thinking of all word processing problems through this one lens. But once you learn 3 or 4 word processors, it's all kind of the same. Programming is just like that, only it takes about ten times longer.

I'd also note that no matter what tool or problem you have, if you keep refactoring and clarifying your code, you always end up in mostly the same spot -- some kind of DSL-ish place. That's true no matter what language you're using.

So yeah, he's right. But not really. Instead of focusing on which language you start with, focus on broadening your programming experience. Got enough language zealots in the world. No need to make more.

</comment><comment><USER15> "Besides, computers are way better at math than you are anyway." <\- This is so wrong (at least until we have strong AI). He confuses math with doing calculations.

<comment><USER16> Yes. As a mathematician colleague of mine used to say, "It is not the job of a mathematician to perform basic arithmetic. It is the job of an accountant." Usually in response to screwing up some basic arithmetic, as I recall ;)

</comment></comment><comment><USER17> This article came up before (original <http://news.ycombinator.com/item?id=1053753> ), I'm going to quote Eliezer Yudkowsky ( <http://news.ycombinator.com/item?id=1054201> ):

"Look, I'm sorry to be the one to break this to you, but if you have difficulty with any programming concept, you must not be a supergenius. You're just an ordinary genius at best. I'm sorry. Life isn't always fair.

Of course, I say this as someone who hasn't yet tried to learn Haskell. On the other hand, I know someone who competes at the national level and I never saw him have trouble with anything including Haskell, so...

The sad truth is that there are some people for whom programming comes as naturally as thinking, with code formed as easily as thoughts; and if it takes an effort to understand any aspect of programming, you have just learned that you are not one of those people. Alas."

</comment><comment><USER18> Developing code, especially complicated algorithms and data structures, is all about proofs. Not long, formal proofs but the kind of informal proof you do in your head to convince yourself that your code will work. Studying maths will give you a hell of a lot of practice working with proofs and exposure to lots of different ways of proving things. Even if I didn't use any of the material I learned that will still be valuable.

</comment><comment><USER19> Last time this got posted there was some interesting discussion: <http://news.ycombinator.com/item?id=1053753>

</comment><comment><USER20> Two things.

Programming is too broad an umbrella of a term for any meaningful generalizations to be made from it. It ranges from artisan type crafts work to engineering to pure mathematical theorizing. You can't tell the people doing machine learning, signal processing or physics engines that they won't need maths. That is just pure sillyness. It is very context specific.

\---Second thing---

This person misses the point of math. Its not about arithmetic, its not about calculus or group theory or combinatorics or even numbers or proofs. No. those are by products.

The true point of maths is about distilling observations of past patterns into their essence and core attributes. Packaging them and then using them to lay the foundation to think more complex and less intuitive thoughts. Not unLike libraries in programming. Look at the history of the developments of mathematics - shoulders of giants and all that. Abstraction.

Maths is a creative endeavour and If we had more memory and faster thinking speeds and less fallible intuitions I dare say I doubt our maths would be so 'advanced', abstract. A lot of this would be built in everyday thinking, maybe this is related to why many programmers think they don't need maths - <USER2> mathematical principles of why what they do works and its mathematical nature may not necessarily need to be made apparent in order to get by. Or perhaps this is just a reflection of the youth of the field.

But I do believe though that our maths is so advanced only because we are so stupid!

</comment><comment><USER21> The sentiment of the article is nice. Especially the part about feeling self- conscious and stupid. People need to remember that (myself included).

I'd also add that often people online can excascerbate (sp?) the problem. "What, you don't know how to write an O(n) gnome sort!? Dude you are not a programmer." It's really easy to forget that not everyone is an elite CS programmer who graduated with a 4.0. And not everyone needs to be. Learning is a process and one we should help each other with.

That being said, I'm one of those totally wrong people who disagrees with:

 _You're lucky to have stumbled across a very good first language, but you're likely to encounter developers who will tell you that this decision doesn't matter. These people are wrong, plain and simple._

You won't know what's good and bad about your first language until you try a few others anyway. So don't sweat it. I'd say, avoid zealotry and dogma. Program in as many languages as you can handle.

</comment><comment><USER22> I have a CS degree, I have done my fair share of math, its a requirement. That being said, I'm not amazing at math(working at becoming better), I'm passable for sure, understand concepts, not amazing on the details.

It all comes down to the question "How do you solve a problem you don't know how to solve", a lot of times hints for how to approach these problems are given in certain areas of computer science and mathematics. If you don't have the tools(computer science and math) it can make your life significantly harder for a particular subset of problems which probably align pretty well with the problems you realize you don't know how to solve.

</comment><comment><USER23> I'd like to add: becoming a programmer fundamentally changes your personality and who you are. Seriously.

<comment><USER24> I think this is true but I think a lot of us on HN are either too far gone or started too early to realize.

</comment></comment><comment><USER25> The math question just depends on the type of programming you do, and on your definition of math.

Programming is such a wide field. There are web designers who fit rectangles together all day long, and then there are the people who write Mathematica.

</comment><comment><USER26> Not that hard. It is like other professions: you need skills and intelligence. With a strong math and computer science knowledge base, plus 10 years of programming experience, should be enough for addressing most difficult problems.

</comment><comment><USER27> >> Language does matter.

I would say "Languages do matter. All of them." Now, I certainly don't mean iterations on a single language (though experiencing that evolution first-hand can be very instructive), but insofar as Java 1.3 and C# 1.0 were nearly identical languages, they were still worth learning even at that time because experiencing the vastly different ecosystems completely cuts through all of the dogmatism that every language has.

</comment><comment><USER28> Looking at all these comments. I see, people like to argue a lot; some of them just for the sake of it. I think we should always read an article from the writer's point of view. That won't suppress all our mismatched feelings but will certainly reduce it to a great extent.

</comment><comment><USER29> The language you choose to start with is important. You should start with Ruby because it is less hard (and pretty useful).

<comment><USER30> Compared to what? Your comment is like saying "A house is bigger."

</comment></comment><comment><USER31> What about physic ? I think they also have an important role in programming and no, it's not just for games.

<comment><USER12> Physics is extremely useful in terms of making models of reality. It requires somewhat different ways of thinking in comparison to math, but is no less useful to a programmer. Of course, if you are building things that interact with the real world, it's invaluable.</comment></comment>


The History of Video Synthesizers - <AUTHOR> https://wearethemutants.com/2018/01/09/a-sloppy-machine-like-me-the-history-of-video-synthesizers/ <comment><USER2> Scanimation has always had a huge fascination for me. Not least because Scanimated stuff was in vogue when I was a kid, but their analogue and arguably intentionally imprecise means of production means you never got the same effect twice and every scene was unique. I purchased Scanimate DVD-1 way back when and it not only has a great selection of ads and some other feature productions, but some tidbits on production methods and what actually went into the technology. You can get it here (not involved, just a satisfied customer): [http://www.scanimate.com/DVD1.html](http://www.scanimate.com/DVD1.html)

I think some of the same applies to modern CGI compared to the old blood- sweat-film-and-tears visual effects methods, which doesn't always yield a better result, and sometimes comes off as soulless.

<comment><USER3> One scanimate machine is still running, see:

[https://www.youtube.com/watch?v=0wxc3mKqKTk](https://www.youtube.com/watch?v=0wxc3mKqKTk)

</comment></comment><comment><USER4> On the subject of Video Synths - Teenage Engineering have a preview of their OP-Z:

[https://www.teenageengineering.com/products/op-z](https://www.teenageengineering.com/products/op-z)

Based on their previous offerings I am very excited to see how this turns out (and a little worried for my bank balance)

</comment><comment><USER5> No mention of Jeff Minter? [https://en.wikipedia.org/wiki/Psychedelia_(light_synthesizer...](https://en.wikipedia.org/wiki/Psychedelia_\(light_synthesizer\))

</comment><comment><USER6> Very fascinating machines indeed and of course there are software available to mimic video synth stacks like Lumen and Cathodemer ([http://lumen- app.com](http://lumen-app.com), [http://store.steampowered.com/app/697860/Cathodemer](http://store.steampowered.com/app/697860/Cathodemer))

</comment><comment><USER7> My favorite is Dan Sandin's analogue video synth, from U of I Chicago circa 1971: [https://www.youtube.com/watch?v=8qh6jRzjmcY](https://www.youtube.com/watch?v=8qh6jRzjmcY)

He distributed the schematics free under a "copy it right" philosophy: you had his blessing as long as you didn't mess around with the schematics. All you had to do was send him a video tape asking for a copy, and he'd put them in the mail. If you had questions? Send another tape.

Ten or so years ago I emailed him and got a copy when I couldn't find them on google. They're fantastic, all hand drawn circuit diagrams and pcb layouts. Unfortunately some of the more important ICs are long out of production, and finding suitable replacements is beyond my skill. Not only that, the board he used to generate NTSC color was actually pulled from a specific model of video camera. To reproduce it today you'd have to either design a replacement from scratch or find a different approach.

<comment><USER8> I went to the School of the Art Institute of Chicago in the early 90s, they had a Sandain image processor in the video lab then. I spent many all nighters patching that thing. It was actually part of why I wanted to go there. Someday I'll have to get the VHS of that stuff into a digital format.

</comment></comment><comment><USER9> If you like this and you like programming you might want to take a look at Pure Data (or Max/MSP).

It's math to sound/video output by dragging inputs to outputs.

A lot of great stuff it made by such software.

<comment><USER10> Nato.0+55+3d (released in 1999) was an amazing but notorious extension for Max that enabled live programming of real time video manipulation, networking and display.

[https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d](https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d)

"At the time of its release (the summer of 1999), NATO.0+55+3d was in demand as it appeared several years before other similar infrastructures such as GEM and Jitter (released by the makers of Max/MSP in October 2002). Earlier software such as Image/ine developed in 1997 at STEIM was drawing in a similar direction, but the fact that NATO.0+55+3d was operating inside the Max/MSP framework, using its "visual programming" protocol, provided at the same time greater ease of use and more flexibility, allowing the user to create his own applications and tools. It gained popularity among video artists and performers, who were using it for a large variety of purposes, prominently for live performance and interactive installation."

"The last version of NATO.0+55+3d modular was released in November 2000, while additional NATO objects were developed until June 2001."

I say it was notorious, due to the "art persona" who developed it:

[https://en.wikipedia.org/wiki/Netochka_Nezvanova_(author)](https://en.wikipedia.org/wiki/Netochka_Nezvanova_\(author\))

"Netochka Nezvanova is the pseudonym used by the author(s) of nato.0+55+3d, a real-time, modular, video and multi-media processing environment. Alternate aliases include "=cw4t7abs", "punktprotokol", "0f0003", "maschinenkunst" (preferably spelled "m2zk!n3nkunzt"), "integer", and "antiorp". The name itself is adopted from the main character of Fyodor Dostoyevsky's first novel Netochka Nezvanova (1849) and translates as "nameless nobody."

Salon wrote an interesting article about her and her antics (including her lawsuit against Cycling '74, developer of Max): "The most feared woman on the Internet: Netochka Nezvanova is a software programmer, radical artist and online troublemaker. But is she for real?"

[https://www.salon.com/2002/03/01/netochka/](https://www.salon.com/2002/03/01/netochka/)

"NN's reputation is based on mouth 2 mouth adverti.cement. When something is very well konstruckted and designed with a degree of integrity it stands on its own ... All the cool girls wear NN."

"As a community destroyer, she's fantastic," says Bernstein, the Brooklyn artist. "She's perhaps one of the Internet's first professional demolition experts. She's a real talent."

"The legend is entirely negative, in a sense. But it turns out that people are really attracted to that," says David Zicarelli, the founder of Cycling '74, a small software company in San Francisco,

"Her contribution as a Net artist is in some ways more culturally significant than her work as a programmer," says Beatrice Beaubien.

NN's response to that article:

[http://amsterdam.nettime.org/Lists-Archives/nettime- bold-020...](http://amsterdam.nettime.org/Lists-Archives/nettime- bold-0203/msg00078.html)

        10.  When thrown off a mailing list,

         I have not been thrown off a mailing list.
         I have been illegally transformed into a yellow flower.

         A young girl one day found me, and with half closed eyes whispered:

         Perfection,
         Today you've peered in my direction.

<comment><USER11> I understood very little of that, but if someone named Case or Casey was tasked to discover NN's true identity by a shadowy billionaire or rogue AI I wouldn't be surprised if it was the plot summary from an upcoming William Gibson novel.

With in-depth descriptions of Japanese reproductions of American workwear.

</comment></comment></comment><comment><USER12> LZX Industries is making some nice video synth modules for eurorack:

[https://www.youtube.com/watch?v=iKWq8sLfRFc](https://www.youtube.com/watch?v=iKWq8sLfRFc)

[https://youtu.be/MwrwJXuWI20?t=1m6s](https://youtu.be/MwrwJXuWI20?t=1m6s)

</comment><comment><USER13> It's great to see Big Pauper mentioned toward the end. I visited his workshop about 4 years ago in Portland and purchased a modded device from him. It's a wonderful piece. It's nothing like a real video synth, of course, but I have used it for numerous performances. I use it in a light footed manner. It's too easy to use these modded things without care to achieve sloppy results but Big Pauper aims to isolate the effects in a useful way.

</comment><comment><USER14> Browser-based live coding environment inspired by analog video synths: [https://github.com/ojack/hydra](https://github.com/ojack/hydra)

</comment><comment><USER15> I fell like Winamp AVS and other visualization plug-ins deserve a mention here as well.

</comment><comment><USER10> I've always had a love and fascination for the distortion effects of old video camera tubes, as well as video feedback, and also how the tubes themselves look: like George Jetson's apartment building.

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

"Image Orthicon Camera Tubes": [http://www.r-type.org/articles/art-141.htm](http://www.r-type.org/articles/art-141.htm)

"The 5655 three inch Image Orthicon television pick-up tube is an example of top quality television camera electronics from the late 1940s. These tubes were found in professional studio cameras in the 1950s and they replaced the Iconoscope tube cameras.": [http://www.r-type.org/exhib/aaj0100.htm](http://www.r-type.org/exhib/aaj0100.htm)

They have a beautiful "blooming" effect when you overdrive them:

"Target overdrive visual effects from Concord NEI-17 vidicon camera: This some cool target overdrive effects made from my late 60s Concord NEI-17 B&W vidicon tube TV camera. I had the camera pointed to some items in the kitchen and to my computer and I adjust the external target control knob on the back of my camera up and down to which when the target level is adjusted high you get a bloom/glow effect and when adjusted to extreme excess the picture is solarized, very neat simple way to make instant cool effects! :D": [https://www.youtube.com/watch?v=aRQmAHpTnEQ](https://www.youtube.com/watch?v=aRQmAHpTnEQ)

I wonder if anyone has written a shader that is a physical simulation of a vidicon tube, that can reproduce these effects. Here's an article by somebody who set out to mimic the effect, but I don't think he did a full physical simulation, he just tried to approxomate the effect:

[http://forum.blackmagicdesign.com/viewtopic.php?f=2&t=35148](http://forum.blackmagicdesign.com/viewtopic.php?f=2&t=35148)

Here's the resulting video he made:

[https://www.youtube.com/watch?v=Tq7y4gsW3Yc](https://www.youtube.com/watch?v=Tq7y4gsW3Yc)

The Donnie and Marie show's Disco Finale has some awesome vidicon tube blooming effects with all the disco balls and sequins under spotlights:

[https://www.youtube.com/watch?v=X-99Ux4_vnU](https://www.youtube.com/watch?v=X-99Ux4_vnU)

Portishead's "All Mine" video shows a somewhat subtler and beautiful vidicon tube effect, along with some simple video feedback:

[https://www.youtube.com/watch?v=fsPTbRGu9Yk](https://www.youtube.com/watch?v=fsPTbRGu9Yk)

The chaos researcher James Crutchfield did his PhD thesis at Santa Cruz about the space time dynamics video feedback, using an analog video processing computer. His video explains the theory and mathematics behind effective video feedback, which inspires me:

Space-Time Dynamics in Video Feedback. Citation: J. P. Crutchfield, "Space- Time Dynamics in Video Feedback". Physica 10D (1984) 229-245.

[https://www.youtube.com/watch?v=B4Kn3djJMCE](https://www.youtube.com/watch?v=B4Kn3djJMCE)

Here's a paper he wrote that describes the effects in that video:

[http://csc.ucdavis.edu/~cmg/papers/Crutchfield.PhysicaD1984....](http://csc.ucdavis.edu/~cmg/papers/Crutchfield.PhysicaD1984.pdf)

"Space-Time Dynamics in Video Feedback. James P. Crutchfield. Center for Nonlinear Studies, Los Alamos National Laboratories, Los Alamos, New Mexico 87545, USA."

"Video feedback provides a readily available experimental system to study complex spatial and temporal dynamics. This article outlines the use and modeling of video feedback systems. It includes a discussion of video physics and proposes two models for video feedback dynamics based on a discrete-time iterated functional equation and on a reaction-diffusion partial differential equation. Color photographs illustrate results from actual video experiments. Digital computer simulations of the models reproduce the basic spatio-temporal dynamics found in the experiments."

Some interesting excerpts:

"In the beginning, I argued that a video feedback system is a space-time simulator. But a simulator of what exactly? This section attempts to answer this question as concretely as possible at this time. A very useful tool in this is the mathematical theory of dynamical systems. It provides a consistent language for describing complex temporal behavior. Video feedback dynamics, though, is interesting not only for the time-dependent behavior but also for its complex spatial patterns. In the following section I will come back to the question of whether current dynamical systems theory is adequate for the rich spatio-temporal behavior found in video feedback. This section introduces the qualitative language of dynamical systems [5], and then develops a set of discrete-time models for video feedback based on the physics of video systems. At the section's end I propose a continuum model akin to the reaction- diffusion equations used to model chemical dynamics and biological morphogenesis."

He also talks about "dislocations", which is similar to the effect of the error diffusion dithering that I love:

"A good example of quasi-attractors is the class of images displaying dislocations. This terminology is borrowed from fluid dynamics, where dislocations refer to the broken structure of convective rolls in an otherwise simple array. Dislocations are regions of broken symmetry where the flow field has a singularity. The formation of this singularity typically requires a small, but significant, energy expenditure*. In video feedback, dislocations appear as inter-digitated light and dark stripes. The overall pattern can be composed of regular parallel arrays of alternating light and dark stripes with no dislocations, and convoluted, maze-like regions where stripes break up into shorter segments with many dislocations. The boundaries between segment ends form the dislocations. They can move regularly or wander erratically. Dislocations form in pairs when a stripe breaks in two. They also annihilate by coalescing two stripes. Dislocations make for very complex, detailed patterns whose temporal evolution is difficult to describe in terms of dynamical systems because of their irregular creation and annihilation. Nonetheless, when perturbed very similar images reappear. A quasi-attractor would be associated with global features, such as the relative areas of regular stripe arrays and dislocation regions, the time-averaged number of dislocations, or the pattern's gross symmetry."</comment>


Ask HN:  Help - looking for someone to help my interns learn Ruby on Rails - <AUTHOR>

I have 4 interns who would like to learn Ruby on Rails... they have no idea where to begin or what is the best website, forums, books, etc... please advise! <comment><USER2> <http://rubyonrails.org/>

<http://railstutorial.org/book>

For starters. Of course these resources may not jive with their learning style.

</comment><comment><USER3> <http://guides.rubyonrails.org/> And for Ruby basics, this book: <http://mislav.uniqpath.com/poignant-guide/> and this online tutorial: <http://tryruby.org/></comment>


Ask HN: How do you integrate remote developers? - <AUTHOR> We are a team of 12 developers in our local office plus five to six remote guys. How do you integrate remote developers? On a technical level (video conferencing, IM), but also on a social/personal level (team spirit etc.). <comment><USER2> I have worked remotely for 4 years.

Start by creating a remote-first culture. Everyone should think "remote" first. Thus it should never matter if a local employee is working from home, the HQ, from the other side of the world. Make all work processes remote friendly. That should be step zero when considering hiring a remote person regardless of the reason. The goal should be to avoid a two-tiered culture. Some differences will always be there but if the spirit of the remote-friendly culture is there integration is pretty fluid.

Thus (near) all communication happens in Slack/Hipchat/etc. Group meetings, when including remote people, happen in video conf / Hangouts. Shared Google docs to collaborate on. Have in-person meetups 2-4 x a year for beneficial face-time and for people to get to know each other better on a personal level. When a new person is hired, have them do 20 min 1-on-1's with all team members to get to know each other and their job role. Have monthly video conf/hangouts on non-work technical topics where people rotate presenting.

The biggest element is the decision to be a fully remote team. Which honestly is a major retention benefit as well. Why should local employees not enjoy the same flexibility to work as needed remotely?

<comment><USER3> Your point about a remote-first culture is 110% true. It has to be in the DNA of the company or else remote workers end up as second-class citizens. While it does not have to be the case, it does seem to be true that if a large portion (~50% or more) of the team is not remote, the culture will rarely end up being remote-first. If the culture is not remote-first, you end being just that guy who comes into the office every few months. I'm working now in such a situation and it's not pleasant.

<comment><USER4> A concrete example of this is if someone stops by your area to ask a "quick question" then culturing an environment where an answer of, "Why don't you bring that up in the global chat so everyone can contribute?", is welcomed rather than brushed off as being unfriendly.

<comment><USER5> Would anyone else find this tiring though? I feel like I am omitting the use of basic communication skills in favor of something less than ideal.

I guess I am just not a huge fan of remote work in general though, so I have a hard time coming around to the idea that quick questions must go through a chat at all times.

<comment><USER4> It's a matter of culture.

It may be tiring for some people, but having what I call 'dark meetings' all the time encourages a policy where remote workers are shut out of the process.

This is pretty much the same as a default policy of "Don't IM me one-on-one, IM us all in the group chat", with exceptions for personal issues. I feel it's a good policy in general for two main reasons, first it increases the possibility that an issue is seen by the exact person who can respond to it, and second it discourages the formation of cliques of people who are doing their own thing which no one else knows about. Business requirements can get lost all the time with reasons like "Oh, I PM'd Jim about it, and I though he would mention Helen".

So relating that back to remote workers, most meetings (and at least in my office, most meetings means basically every single one) are not formal meetings where everyone is involved. It's one-on-one's in someone's office, or talking offhand at the break room, or passing in the hall, and almost never officially recorded. That's perfectly fine (and it works with us as we have no remotes), but it hurts when you bring in remote workers because, by definition, they are attending less 'meetings'. Previously working remote, and having supervised remotes, this is one of the greatest issues that they face.

So if the original question is 'How do you integrate remote developers?', then whatever solution that is presented will need to deal with these 'dark meetings'. My personal suggestion, and the one I've seen work the best, is just to try to encourage a culture where people recognize that they are talking about work, and to table that discussion until everyone is present (which in remote workers case is IM). It may sound dumb, but if everyone just said something like, 'Hey, this sounds like an issue Bob or Jane could help with, why don't we discuss that in dev chat', and that was considered Ok, then it flows smoothly.

<comment><USER6> Does this scale well? I don't think group chat would work well for larger chats. I personally ignore a lot of email that I isn't personally relevant. And one-on-one conversations are usually more personally relevant than group conversations.

<comment><USER7> I know of several 100 to 50p person companies that are 100% remote. You just use chat rooms a lot.

I never worked at a giant remote only company or old school Yahoo, so not sure how it scales there.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> In office and working remotely will never be the same experience. I worked remotely for three years at my previous job, where I was part of a team of a dozen or so that was headquartered in a central location. The majority of the team participated at the HQ, and I was remote. We had IRC, video conferencing, and all the necessary technology set up. Regular visits to HQ helped. However, the thing that made the biggest impact was everyone else on the team started to work from home on occasion. This made communication happen in a remote- first manner so it was level playing field for all members. I would suggest reading the book, Remote, for more ideas of how to make it work.

<comment><USER9> This is a huge thing. If you're not mainly remote, let locals work from home, with the same standard as remote workers:

\- be available during core hours on chat

\- mark your calendar when not available or in meetings

\- do video and phone meetings from a quiet space (no dishes, drill, vacuum noise, no kid crying)

This will do two things, it'll reduce the jealousy and tension towards remote workers, and it will increase the local workers understanding of remote working (eg: they'll start to make sure they're always on chat even when in the office).

</comment></comment><comment><USER10> I'm one of a few remote developers on a team of 15.

Daily standups, dialed in on planning meetings and the odd visit for project kick off meetings all help to make me feel a little more integrated into the team. In saying that, I'll never be as integrated as the people that are in the office everyday, but I can live with that for the flexibility remote working gives me.

I should also note that I don't work from home, but rent a desk in a coworking space.

I truly think that this is the future of the work environment. People go to an office to work, but one that is local to them, rather than relocate.

<comment><USER11> I like you're thought about the future of the work environment. Can you tell me, from your experience, how easy was for your company to accept for you to work remotely? I work for a startup in the UK, with a very small team, and can't find an easy way to apply for that.

<comment><USER10> I'm pretty much the same as you. My main client is in the UK and they are a solutions provider. At the beginning I was due to move away from the area local to the company. I made the suggestion that we try the remote working and if it didn't work for either party, we'd call it a day. That was 2004.

The most important part is trust. People know I'm sitting at my desk working and checking in code, because they can see me/call me on slack or Skype and they can see a steady stream of code check-ins nd build server and JIRA tickets being closed off. Never take the piss, always be completely honest and upfront with your time and be respectful. I can't think of any other advice I can give over that, apart from that you should definitely try to work from a coworking space rather than from home!

<comment><USER11> Thanks for your advice! I can see your point and those arguments you described can also be applied to my behavior and actually be a valid argument for my remote working application. I also agree that working from a coworking space can be much more beneficial than from home.

</comment></comment></comment></comment><comment><USER12> We have a 40% remote staff at DigitalOcean. So this is really important to us. Initially, they come to the office for 1-2 weeks when they first start to get face to face introductions with everyone on their team and as much of the company as possible. Part of our standard onboarding is for each manager to take them out to lunch and to host a team event while they are in town. This is social time to get to know them on a personal level. We conduct a remote- exclusive on boarding for an hour to provide them with key tips on being remote and how to be a successful remote at DigitalOcean. This includes booking travel in the future, expensing items when in town, information about corporate apartments, and an introduction to our people team Remote Point of Contact. After they return home with a better sense of the role and company they just started for, the full "remote" experience starts. We have a slack channel that our remotees "hang out" in all day. They created a weather bot to share their local weather, greet each other with a "good morning" and continue on to chat all day as if they were next to each other in a space. This is actually my favorite channel on slack because it encompasses all the random water cooler conversations around the office into 1 area. We do a lot for our employees in house and remote. The key is to not make our remote staff feel like they were a second thought. For example, we had a large company Thanksgiving dinner in November so we sent Thanksgiving pies to all of our remote staff. They received it right around the same time we were all going out to eat. We had a holiday dance party, so we sent our remotes speakers in the shape of droplets (which is our product here). We went to Tribeca Film Festival at HQ, so we sent each remote a box of movie candy and gift cards to the movie theater for them AND their families.

We have built our current office space to be as remote friendly as possible. We integrated Google Chromebox for meetings in every conference room and telephone room. This prevents about 5 minutes of initial setup for microphone and camera. We have already invested in, and continue to invest in, state of the art technology for our All Hands Meetings. Proper microphones, speakers, and cameras in our "Atlantis". Once all presentations are are complete, we switch to the camera view so we can see all of our remotes in the room with us as we continue through our AMA portion.

These are just the baseline of things that we have done to make our remotes feel connected even when they are not in our office. We continue to upgrade the experience often and are continuing to grow our remote staff Internationally.

<comment><USER12> ++ WORKSTATIONS! We give our remote employees the same workstations our in house employees get. Choice of 1 - 2 screens (27" Dell 4K, 1 34" Curved Dell or a Thunderbolt), keyboard (Apple, PC, or Code), and mouse (trackpad, MX, or PC mouse).

</comment></comment><comment><USER13> Scott Hanselman has worked remotely for several years. Unsurprisingly, he's done so loudly and opinionatedly.

[http://www.hanselman.com/blog/CategoryView.aspx?category=Rem...](http://www.hanselman.com/blog/CategoryView.aspx?category=Remote+Work)

Part of the problem stems from the framing of the question. Flipping it on its head as "how do you integrate local developers into a team?" highlights how easy it is to believe the team's core must be determined geographically rather than functionally.

Reframing remote work as the normative context then places responsibility for accommodation on the people who have the habits that make integration difficult.

</comment><comment><USER14> Pretty much the whole team works remotely.

We use IRC for everything, which has the good side effect of preserving knowledge for later. Everyone has a bouncer like ZNC setup so they don't miss anything while they're offline. Managers, directors, and VPs all encourage work from home, and a lot (including my manager) work from home themselves. We have an internal video conferencing system that we use frequently. We have a sync twice per week via video, a weekly 1-on-1 with the manager, and people hop into a dedicated engineering room whenever they want high-bandwidth communication with someone or just want to hang out there.

We also have a non-work IRC channel we use to talk about anything, in terms of social / team spirit related things. We have monthly tech talks that anyone can give. Once a year, we meet up for a week in person to get high priority things done. The company also sends us to open source conferences, so we see each other there a couple times a year. A couple folks play video games together like CS:GO. We are thinking about making an optional weekly gaming event with people, maybe something like LoL.

A totally optional thing that I like doing to preserve some record of my work is IRC standups. We have a web form where you can submit what you did yesterday, what you're doing today, and any blockers which gets posted to a separate IRC channel to avoid spam. Other teams with whom we collaborate on a daily basis also use IRC heavily. My manager doesn't like having this, but I like having an IRC highlight with my name that beeps whenever someone mentions my nick or asks me a question.

With this, we're able to collaborate across quite a few timezones, including one dev in the UK. It's worked out really well. I live near the HQ and sometimes go into the office, but generally working from home has been really efficient for me and a lot of our team.

<comment><USER15> What sort of company do you work for that uses IRC heavily? (IS it a software company or a non-software company)

I assume the latter - but it sounds like a very nice way to do things.

</comment></comment><comment><USER16> Hmm, how do you integrate local developers? Everyone is unique. Bob may not be too excited about the Sweet Sixteen beer fest that Jane and Jim are so pumped over. I'd say developers are most integrated when they have important tasks or areas of responsibility that they handle well, and everyone acknowledges their competency. In other words, they are a solid contributor. So have them work on something important, that's within or near their capabilities. Or if they're more junior, give them tasks that require them to ask questions of more senior, local developers. Remote developers have to be driven and independent, hopefully the kind of people that read the docs and code before asking too many questions.

Then you just have to worry about communication. But the onus of communication is on the remote worker, IMO. The most successful remote people I've worked with were all excellent at written communication. You may think that having extra meetings and video chats are a way to integrate the team, but it could be better to let remote workers leverage the quietness of their remote setting in order to knock out code that requires focus.

That said, chat is huge! But it's like texts, in that it's socially acceptable to answer anywhere from immediately, to an hour later.

For team building, I find it's good to fly everyone in a couple times per year, for product planning and social time.

<comment><USER17> > But the onus of communication is on the remote worker, IMO.

I may be misunderstanding you, but, if I'm not, I mostly disagree with this. Remote workers need to communicate well, but if all 12 local developers are in a shared office/working environment, then it's really easy to exclude the remote devs. If your remote devs are treated as second-class citizens (intentionally or otherwise), they'll never be integrated in your team. Lots of things you get "for free" with local teammates (as far as communication, camaraderie, etc.) you have to be more deliberate about with remote ones.

Part of the benefit of being remote is the ability to be even more self-driven than you are when you're in an office. That shouldn't come at the cost of being left out of the loop and/or not being included in discussions that you could contribute to.

This may not work for everyone, but the way we do things where I work is we use remote-focused communication (chat, video conferencing, Wikis, etc.) as our primary communication. We try to limit any in-office conversation to the relatively trivial or the extremely time-sensitive. However, the way our company is distributed, most of our team leads, internal stakeholders, etc. aren't local, which helps "enforce" that mindset.

As far as specific tech solutions here's what we use:

HipChat Zoom (video conferencing) GitHub Confluence + Jira Jell (distributed/asynchronous standups)

At the end of the day, the tools make remote working possible, but the mindset we approach remote working with is what makes it viable.

<comment><USER16> Yeah, I agree. Everyone should be on chat when you have remote workers (in a similar time zone). Important communication should happen or be tracked in email, slack, code review comments, issue/bug discussions, etc.

</comment></comment></comment><comment><USER18> I have been managing remote devs for 4 years and now running [http://devteam.space](http://devteam.space). So, have a decent expertise at that. Maybe you can apply it too. Here are must have rules:

#1. You need to have a PM for remote devs, on their side. Or decide who is the PM out of these remote devs. This person will be your trustworthy manager. If something goes not right, you talk to him/her first. Ask him to provide all the honest and bold feedback from himself and all the other remote devs if something happens.

#2. Request daily short updates from every developer. Just 2-4 lines of text about what have been done during the day. Explain to them that you will not actually reply to these updates. It's just to keep everything transparent. So, they write - you only read. Rarely reply with some questions.

#3. Set the goals on projects you work on with them, request deadlines, you can set it in sprints. It's like mini OKRs (google it if you don't know what is it). It helps them to be accountant and spend their working hours wisely.

#4. Have at least one 30 min call per week with all the remote devs to chat about what you are doing and motivate them with some good news. So they would feel they actually get paid not just for the code, but they make a difference for your company and for your clients. Share with them what you personally have done during the week. All people want to work with even better people, so it should be clear for them that you are awesome. They will respect you more. Basically, treat them as your usual team members.

#5. Use some reporting tools. At DevTeamSpace we have this kind of dashboard - [http://i.imgur.com/F6Q3COn.png](http://i.imgur.com/F6Q3COn.png) . Maybe it would be helpful for you too.

In fact, so many companies struggle to manage remote dev teams. If you need any help - ping me at alexey(at)devteam.space.

<comment><USER19> I like how you work, can you please contact me?

<comment><USER18> yep, ping me over email

</comment></comment></comment><comment><USER20> The prevailing ideal of a commercial software team is a tight knit tribe. Members are selected for "culture fit", ability to do pleasant small talk around the lunch table, personal hygiene, and so on. The team should huddle around every day for status updates, bonding, and small talk. Communication should be frequent and face-to-face collaboration is considered the ideal.

You can adapt this ideal to remote work situations and there is lots of material about how to accommodate that. But many people who gravitate toward remote work are probably trying to move away from this ideal.

For some it may be because they've experienced open source collaboration and don't see why commercial development can't be done in a similar way.

Open source projects tend to use low-bandwidth, asynchronous communication, perhaps as a cultural heritage from the days of slow internet. That enables collaborators to schedule their work in whatever way suits them.

Many programmers are psychologically introverted, which means that they function best when they're allowed to be by themselves, instead of being constantly communicated with. These programmers are often unhappy in the office environment, especially those with open plans.

If you take a step back and look at contemporary software development offices from a kind of anthropological perspective, it's actually quite a bizarre and extraordinary way of life.

When everyone is in the same house for 8 hours every weekday, the demand for social compatibility is, in some sense, even greater than with most families and friend groups... one way to get around that is for each worker to wear headphones all day, which is also quite a strange situation, socially...

I'm personally yearning to be able to work remotely in a way that suits my introversion and my preference for asynchronous independence—or to be frank: I just don't want to be in the same house all day every day with 10 other dudes, and I really don't want to be on conference call with them all day either.

Nor do I really want a strong "team spirit" in the sense of social bonding. I think work would be more sustainable and enjoyable if team relations were _less_ tight, and if my lifestyle allowed me a wider spectrum of daily social interaction.

I'm motivated by helping to do good software development. I'd rather do this in a way that's like the open source model, preserving my basic independence in terms of location, time, and communication.

<comment><USER21> This is exactly how we work at my job currently. We use pull requests and each programmer picks a task and goes on his way. When it's done, it's submitted to the other programmer for review (we have two full time). Most communication happens in chat and pull requests and we rarely have meetings other than the daily scrum-like sync up meeting (which is tolerable). Most tasks are half a day to a day (except larger tasks) so the turnaround is quick in case something was misunderstood. I think this process could easily scale to more developers as long as they are independent and able to work by themselves most of the time, unsupervised. That doesn't mean they have to be senior, only that they are disciplined and won't get stuck on easy problems.

<comment><USER20> As I see it, that's still far away from the kind of "open source" development model I'm thinking about.

Most obviously, no open source project has mandatory daily status meetings! And usually, tasks are larger. They often have chat rooms, but they're not really used for synchronizing work, more for idle socializing and occasional discussions.

Daily coordination in the "scrum" fashion, I think, is still under the threshold where work tends to become "tightly coupled" and synchronous. I have more thoughts about how I think this can discourage longer-term projects... but, another time...

By the way, I think these are just two different models, with their own flaws and benefits, and it's interesting to think about whether they could be combined in some novel way.

</comment></comment></comment><comment><USER22> My team (I'm the project manager/tech lead) is roughly half remote, with the remotes including my product owner and lead test engineer (among others).

As noted elsewhere, thinking remote-first is required for non-co-located teams to be successful.

Technical items, in no particular order: All meetings are conducted with full video teleconferencing.

Most meetings are configured to default participants as muted (help stop random noise on line).

When we white-board, we use a webcam (or lacking that, frequent cell-phone pics) to keep remotes in the loop.

Heavy use of IM tools, online wikis/notes, etc

Social Things: Try to meet in person occasionally. Obviously doesn't work if people are truly global, but I usually see my team in person at conferences, client meetings, or we fly them in every so often (project kick-offs, major high-level design efforts, etc).

Find team building activities that can be conducted via video-conference. Commit to doing them regularly.

If you conduct 1-on-1s, make sure part of those meetings is social. Take the time to do some "water-cooler" chit-chat.

<comment><USER23> I work remote most of the time and so do almost all of my colleagues. But I think you've highlighted an important issue here. White-boarding!!!

No communication tool comes close to a human drawing pictures to explain complex concepts - a picture is worth a thousand words.

What I did is invest in a Wacom tablet (I do not work for Wacom) to be able to explain and draw to people I'm on calls with. It takes a bit getting used to but definitely makes my meetings much more productive.

From a technology standpoint I'm surprised there isn't a better integrated experience to mimic the actual whiteboard that can be shared across several people on a conference call with a digital pen.

<comment><USER12> Smartboards exist! Also, some competitors are creating comparable items as well. I am looking into this myself so that our engineering team can white board together.

</comment></comment></comment><comment><USER24> Not good general advice maybe, but I had good success working remote with more like telepresence setup. I had small monitor in the corner of the office and people could walk up to it and speak to me. I could also overhear quite a bit of the chatter in the room. It was very important that people could see me on the screen.

Although I missed many of the perks of working remote I felt pretty connected socially. What I discussed with my colleagues they also found it ok.

As said this is not for everyone, but I look forward to technologies that enable people being in same place remotely.

<comment><USER25> I really like this idea for our office, but I'm afraid if instituted, it'd be perceived as just a way to ensure remote workers are butts-in-chair during the day. How useful do you think this would have been as a one-way stream (i.e. remote workers can see the office, but the office can't see the remote workers)?

<comment><USER24> I understand what you mean. For me it was not a problem. If you are working in office people can count the hours you are sitting as well. I didn't view working remote different.

And you can still turn the stream off if you want to concentrate. I can't do that in open office.

If the monitor was turned off for some reason it immediatly turned into eavesdropping as people simply won't feel that you are there. So I think it was important that audio would only travel if person listening was being seen. That really helps the lizard brain to sense that someone is present.

<comment><USER9> What about being available on chat and being able to quickly do a video conf whenever needed?

</comment></comment></comment></comment><comment><USER26> \- Smalltalk can happen over IM, if you work at it. During standup ask for "consumption updates" meaning what movies, books, TV shows people have consumed - great fast way to learn interests. \- Move from oral to written communication. Could a person who could not hear at all make it at your company? Write everything down to keep a remote minority in the loop. \- This is harsh, but teach the remote developer that they need to do some of the work themselves to integrate. They might have to go out of their way to push updates, ask questions, etc. They are the canary in the mine and should tell you when they are left out. Be open to this feedback

</comment><comment><USER27> I've been working remote for the past 5 years at 2 employers.

My first group was very coherent and supportive even if remote. We were constantly in contact via chat/email/phone and there was a sense that we could count on each other to get things done. We only met in person once or twice a year, which didn't seem like a big gap given our close communication.

My current group, while the company strongly supports remote workers, is very detached and isolating. I actually see my coworkers a lot more frequently but don't feel a lot of commonality or support. Some of that is just how this organization is constructed - it deemphasizes peer-ship.

</comment><comment><USER28> @alistairSH is right about taking time for chitchat. I think of it as an investment in a relationship, like any other. Be interested in the other people and what they're passionate about in their lives. Share some of yourself as well. Sending an occasional article or image the other person might be specifically interested in takes very little time, but if it's of quality and a great fit for them it's a nice building block.

</comment><comment><USER29> Picking either in-office or "remote-first" is what matters most. Companies cannot optimally be both simultaneously.

I'm Justin Gordon, the founder of ShakaCode, [http://www.shakacode.com](http://www.shakacode.com). My article and video on telecommuting from Maui is still the number one google search result for "telecommuting maui": [http://www.railsonmaui.com/blog/2014/05/06/remote-pair- progr...](http://www.railsonmaui.com/blog/2014/05/06/remote-pair-programming- tips-using-screenhero/).

I've been a full-time remote worker from Maui, since 2007, a remote freelancer since 2011, and over the last 2 years, I've run a remote consulting and product company. To brador, that says "Remote devs start to have mental health issues from the loneliness and lack of supervision in down times", I'd say that's total hogwash. We spend almost every day video chatting on Skype with people (team members and clients) around the world, and we are very often on ScreenHero sharing screens (often with Skype video), and always on Slack and github conversations. There is 100% no loneliness with this lifestyle. In fact, I'd say spending 1-2 hours a day commuting is a far bigger risk for physical and mental health issues!

Since I founded my company to be 100% remote-first, we've avoided many of the issues that face companies that are schizophrenic about remote work. I've heard numerous stories around Silicon Valley about how companies start allowing "work from home days" and then the senior managers see the parking lot 3/4's empty at 11am, and then there's an ultimatum that you have to work from the office unless you have specific management approval to work from home for one given day. And I'm NOT EVEN EXAGGERATING ONE BIT!

One of the keys to my firms success is to hire team members that love what they do, either programming or design, and that typically interact well on open source. To that end, I've found almost all my team members though our popular open source, [https://github.com/shakacode/react_on_rails/](https://github.com/shakacode/react_on_rails/) (1238+ stars), which is the number one package that integrates Ruby on Rails with React via Webpack and NPM.

</comment><comment><USER30> In our team there are 4 remote guys. We communicate in Slack, share Google Docs when needed, track tasks in JIRA, collaborate on the product design in RealtimeBoard app, conduct daily meetings via Skype. To support the team spirit we organized several AMAs within the team via Skype. There was no restriction on the questions, so we also learned some facts about employees private life (f.ex. when they have shown their pets).

</comment><comment><USER9> In addition to everything said here, one thing I find that helps is framing video meeting. Are you calling to mainly shoot the breeze and talk a little bit about work? Or is it literally 5 minutes to get a specific answer? Or a 30 minutes formal meeting with an agenda and take always?

If you don't some people will become very reluctant to video conf as they'll see it as constant water cooler talk that prevent them from working.

</comment><comment><USER31> First, all remote developers must first work on site for a few weeks/months. That way people know what they mean between the lines and vice versa, and what their personality is like etc. So communication becomes much more fluid once remote again.

I also would insist on tools equivalent to screenhero and floobits to facilitate pairing, whether remote or inhouse.

I would also have a convention of not switching off webcams in meetings. People often do that, thinking why do people need to see my face, but it is essential that they do so that visual communication/presence also works.

I also like the idea of having a skype/hangout running all day long so remote people are aware what happens in the office, who is around etc. At one startup I hurt my leg and was WFH for 3 weeks. They left an ipad running skype all day on my desk. It was great as people would walk up to my desk to ask quick simple questions / water cooler comments etc, instead of most likely not send a hipchat/slack message as not important enough.

</comment><comment><USER32> We're quite dependent on all the Google tools: chat, Hangouts, shared Docs. We do screenshares often as well as normal face-to-face video conferencing all in Hangouts. It's worked for us for many years.

We also use Basecamp on a daily basis for specific project tracking.

All in all, we are pretty "integrated" using this rather minimal set of technology.

</comment><comment><USER33> I tried remote developers and couldn't get it to work efficiently. Remote devs start to have mental health issues from the loneliness and lack of supervision in down times. Regular employees can start to feel jealousy towards them, and organizing teams and talks becomes hell with a random face showing up.

My advice - have a core team in house and out-source what you would have given to a remote dev. You're going to be parcelling out jobs to the remote dev(s) anyway, but with freelance they're not your problem if they get lazy and you can next them easily. Also, a single cost for the job and no employee paperwork to deal with.

Plus, if a freelancer proves themselves an excellent part of the team you just throw them more and more projects of increased scope.

It's win-win.

<comment><USER34> "lack of supervision"

If you need to "supervise" your employees, you have either hired the wrong people, or not given them agency to just do what needs to be done. In either case, remote isn't going to work, but it's not necessarily because they're remote.

</comment></comment><comment><USER35> With difficulty:

1) Use as many visual techniques as possible e.g. Screen sharing and drawing pictures and sketching examples of what you're talking about.

2) open chat channels all day

3) ability to build rapport e.g. During standup calls look at what the weather is like in their country or share something about what's happening in your area at the weekend. Ice breakers if you will

4) if possible get them to visit you so they understand the culture in your office and understand the people. the most success we've had is when people visit the local team soon after joining

<comment><USER36> Do you have a preferred sketching tool? One thing I've yet to figure out remote is a seemless whiteboard session.

<comment><USER35> I'm quite happy with SnagIt - just take a screenshot of my starting position and start to annotate it. Or start with a blank image in SnagIt and start to draw my boxes and arrows.

</comment></comment></comment><comment><USER37> Automattic, the makers of Wordpress is an all-remote company. Here are a couple of good articles on how they make this work: [http://www.businessinsider.com/automattics-awesome-remote- wo...](http://www.businessinsider.com/automattics-awesome-remote-work- culture-2013-8)

[https://automattic.com/work-with-us/](https://automattic.com/work-with-us/)

</comment><comment><USER38> Good quality time together when you can get together. Initially I'd try to conduct as much business as possible during office visits, building rapport and friendship is more important. Eat together, talk about non-work things. Do team building.

Beyond that, you have to practice the technical bits, conduct all meetings on a google hangout. If people don't offer remotes that opening to talk, they have to make it.

</comment><comment><USER39> Make everyone work from chrome books....they will learn how to remote real quick even when they are in the office.

</comment><comment><USER40> [https://perch.co/](https://perch.co/) is useful for us.</comment>


Ask HN: Anyone here writing Python applications for Google App Engine? - <AUTHOR>

I am most interested on how people write unit and integration tests for App Engine applications and, if they don't, why is it so. <comment><USER2> I do this all the time. The main idea is documented here:

[https://github.com/renzon/tekton/wiki](https://github.com/renzon/tekton/wiki)

You can see tests all over my repos starting with prefix "gae".Here you have a example of a app that I build to automate form validation:

[https://github.com/renzon/gaeforms/blob/master/test/ndb/form...](https://github.com/renzon/gaeforms/blob/master/test/ndb/form_tests.py)

It includes db access and i18n mocking.

<comment><AUTHOR> I think I took a longer path with [https://github.com/rbanffy/testable_appengine](https://github.com/rbanffy/testable_appengine)

I like your approach with mocks.</comment></comment>


Ask YC: Release a founders "starting-up understanding" template that has cliffs? - <AUTHOR> <comment><USER2> First off, a share in what? Is this assuming that, like most startups seeking investors, the company is formed as a Delaware corporation? Or do you want something more along the lines of a partnership agreement, to use before any of the founders form an actual entity?

The form of this agreement would heavily depend on the context.

</comment><comment><USER3> I'm a neophyte here, but I don't understand what that means. Are you asking past YC founders to release a short statement regarding "starting-up understanding"? And what are cliffs?

<comment><AUTHOR> Yeah, basically, if the shift founders had signed a 1 page non tremendously complex statement saying that there is a 1 year cliff and this is what happens if someone isn't there (An advisor share for example) there wouldn't be a lawsuit at the moment.</comment></comment>


Boeing sued by 400 pilots over 737 MAX's 'unprecedented cover-up' - <AUTHOR> https://mobile.abc.net.au/news/2019-06-23/over-400-pilots-join-lawsuit-against-boeing-over-737-max/11238282?pfmredir=sm <comment><USER2> Yeah today's Seattle Times expose was tough to read.

So sad when profit comes before the loss of life.</comment>


The United States has been most conspicuous for one trait: manic energy - <AUTHOR> http://www.nytimes.com/2009/03/17/opinion/17brooks.html?partner=rssnyt&emc=rss

<comment><USER2> David Brooks seems like a priest here, signaling to the herds of traumatized readers the way forward is the road that has gotten us here.

<comment><USER3> So that one can go in circles( or waves for that matter ! )

</comment></comment><comment><USER4> "Americans work longer hours than any other people." <\- Not true.

[http://en.wikipedia.org/wiki/Working_time#Differences_among_...](http://en.wikipedia.org/wiki/Working_time#Differences_among_countries_and_recent_trends)

I'm personally in favor of working long and hard though - just not doing it stupidly. If you program, time you spend learning a new language is "working." Work's gotten a bad rap these days - it implies something we don't want to do.

But it's not mandated anywhere that you have to hate your work. The sweet spot for me is doing something that I greatly enjoy, that doesn't feel like work, that provides value to others, that I get compensated for. "Playing around for the benefit of society and getting paid for it" - sign me up for as much of that as I can get.

<comment><USER5> Some of the other things, AFAIK, are true. Switching jobs and moving, for example. They're probably more important than working long hours. Flexibility, not hard work.

<comment><USER6> I totally agree. I now believe that all progress in life and society is the result of informative failures. A job that didn't work out or a company that didn't work out are examples of such failures. The country that tries more things faster will learn and progress more. The US leads the world in innovation and job churn. I don't think it's an accident.</comment></comment></comment>


The myth of the silver bullet - <AUTHOR> http://www.jslogan.com/content/view/168/ <comment><USER2> Great insight</comment>


Oculus to Discontinue the Rift S, Quit PC-Only VR Headsets - T-A https://www.tomshardware.com/news/oculus-to-discontinue-the-rift-s-quit-pc-only-vr-headsets <comment><AUTHOR> I don't understand that business decision. One problem is certainly the low spread of devices, the other is that there is a limited amount of software available for VR.

I doubt too many devs would want to develop against Oculus if the market is reduced in favor of store lock-in.

Maybe VR overall wasn't a success and they just want to fortify a niche.

I think VR could really be used in quite a few applications like modeling and animation, but I don't see that happening outside a PC environment. Not that the cable to the device isn't a huge pain.</comment>


Detroit in Ruins - <AUTHOR> http://www.guardian.co.uk/artanddesign/gallery/2011/jan/02/photography-detroit#/

<comment><USER2> Dramatic imagery, but check out this for a counterpoint [1]:

[http://www.guardian.co.uk/music/musicblog/2010/oct/20/dirtbo...](http://www.guardian.co.uk/music/musicblog/2010/oct/20/dirtbombs- detroit)

Watch enough of the video to see the mention of the photos of the "abandoned" high-school ... as the camera pans over towards the brand-new high-school next-door.

[1] Found via: <http://news.ycombinator.com/item?id=2059208>

</comment><comment><AUTHOR> Given the lack of comments on this, I thought try and write why I posted something that's not exactly HN material

I found this collection of pics put me in a very melancholic mood. For me, they remind me that everything we do, no matter how much work, sweat and love we pour into it, is ephemeral. Work is required to keep decay at bay and slow the increase in entropy, and one day, sooner than we expect, people (sometimes us) will decide (often not a conscious decision) that what was once worth preserving/keeping is no longer worth the effort

Saddest of all was the picture of the library _with books still on the shelves_. It's like it wasn't worth the effort moving them to another library (or even giving them away!) or perhaps they were never willing to admit this was the end; perhaps they were always telling them selves it was just temporary, _someday_ they'd reopen the library. someday soon. so sad

</comment><comment><USER3> I don't understand ... what is the systemic problem that is keeping these buildings from being bought and repurposed into something else? Is it a screwy tax code or building code situation? What?

</comment><comment><AUTHOR> Reminds me so much of this well known verse

      This thing all things devours:
      Birds, beasts, trees, flowers;
      Gnaws iron, bites steel;
      Grinds hard stones to meal;
      Slays king, ruins town,
      And beats high mountain down.

</comment><comment><USER4> I have heard a lot of negative comments about Detroit in my life but had not seen anything like this before. It is not too different from pictures of cities abandoned near Chernobyl because the high radiation makes them no longer habitable -- only people _still_ live in Detroit. The city still exists.

It also makes it all the more clear that buildings are the way they are only so long as living humans make active use of them and, thus, routinely maintain them. I think I and most people tend to think of buildings as being more static and permanent than they really are. Our cities/structures are imbued with life only as long as people imbue them with such, not because of the buildings that were once built there.</comment>


Initial TechCrunch Coverage of Hacker News (2008) - <AUTHOR> http://techcrunch.com/2008/03/10/little-known-hacker-news-is-my-first-read-every-morning/

<comment><AUTHOR> Was this back when users with high karma were rewarded by having their name in gold?</comment>


Ask HN: Best web search API(s) - <AUTHOR>

I have previously coded a project using both Google search API and Bing API.  Google was problematic because of query limits without paying.  Bing addressed the issue with the query limits, but I figured I would get some HN opinions.<p>I looked into DuckDuckGo because I liked the idea of a search engine that did not collect info of searches, but my understanding of the DDG APIs are that it is not the full DDG web results but there "0 click answers" (I could be wrong but likely due to DDG's use of other search APIs for their web results).  So perhaps another question of interest is what API(s) does DDG use? <comment><USER2> On Google's Custom Search API: As far as I am understanding this you won't be able to retrieve a "normal" result as provided by coogle.com by the API, even if you are paying them. The API is always bound to a custom search engine (which won't be updated as often as Google's standard index).

<comment><AUTHOR> Per the API TOS and my personal experience you are correct, the API results are not identical to actual google results (at least the non-paid, but I believe you are correct and even if paying API results will not be the same as google).

That said I never had complaints regarding the quality of the results on my custom engine using google API, only that the query limits make it impractical for my purpose. Do you have a suggestion for search API, other than bing with no query limits?

<comment><USER2> Sorry to say no. I've done some with the old REST API (using the free quota, cf: [http://www.masswerk.at/google60](http://www.masswerk.at/google60) [http://www.masswerk.at/googleBBS](http://www.masswerk.at/googleBBS) [http://www.masswerk.at/googleAsteroids](http://www.masswerk.at/googleAsteroids) ) which is due to expire sometime in the near future, but I don't see any backup for this with same functionality. Bing killed their API in favor for the Azure Market Place last year (in August). DuckDuckGo's API looks nice, but results are not on the same level (as of writing this).

BTW: Google's results using the REST API (free quota) seem to vary with usage. When there's some load, there will be only a limited set of result on the next "page".

Edit: As free quotas are very limited with the new APIs (10/day), I'ld guess the days for any experiments with search operations are over. (If a project gains some interest, you are due for 1M hits/day, and the fees for this are more than anyone would afford for a pet project.) You could try to make a deal with the vendor in question before, but this would result in an amount of planning that is out of scope for a project, which is essentially shoot-and- go.</comment></comment></comment>


Privacy Threats Through Ultrasonic Side Channels on Mobile Devices [pdf] - <AUTHOR> http://christian.wressnegger.info/content/projects/sidechannels/2017-eurosp.pdf <comment><AUTHOR> In this paper, we explore the capabilities, the current prevalence and technical limitations of this new tracking technique based on three commercial tracking solutions.

To this end, we develop detection approaches for ultrasonic beacons and Android applications capable of processing these. Our findings confirm our privacy concerns:

We spot ultrasonic beacons in various web media content and detect signals in 4 of 35 stores in two European cities that are used for location tracking.

While we do not find ultrasonic beacons in TV streams from 7 countries, we spot 234 Android applications that are constantly listening for ultrasonic beacons in the background without the user's knowledge.</comment>


Great Scott! Timing Attack Demo for the Everyday Webdev - <AUTHOR> https://www.simplethread.com/great-scott-timing-attack-demo/ <comment><USER2> a complex often unconsidered security issue well described in a well written article.</comment>


Live streaming a new SaaS product - <AUTHOR> https://www.youtube.com/watch?v=1LNj3cKWzMg <comment><AUTHOR> going live in 48 mins... should be fun!

am also the founder of Fomo: [https://www.indiehackers.com/interview/fomo-05b996966c](https://www.indiehackers.com/interview/fomo-05b996966c)</comment>


Generate fake data using your own schema - <AUTHOR> https://github.com/ueg1990/faker-schema <comment><USER2> Too bad it doesn't support [http://json-schema.org/](http://json-schema.org/)

<comment><AUTHOR> I think thats for a difference use case. In my project the schema refers to available data types in the faker library where the types refer to real-world data rather than data types like int, float, string etc.

Can you give some examples how json-schema can be used? What I am thinking is that for JSON types, we find the relevant faker method for e.g. if someone defines an int, faker-schema calls random_int from faker</comment></comment>


PR secrets? bullsh*t. - <AUTHOR> http://www.loiclemeur.com/english/2008/05/pr-secrets-bull.html

<comment><USER2> "Participation is NOT marketing

The most important asset that a startup CEO has or should build is his community. It has nothing to do with marketing. I took me 8 years since I started blogging in 2003 to have a community and it is no marketing. It is about sharing every day thoughts, tips, advise, learnings with the community."

Um, but that is marketing. If marketing is "the process or technique of promoting, selling, and distributing a product or service" then by building a community you are marketing yourself and thereby marketing your product whether that is your intention or not. (see "The Cluetrain Manifesto")

</comment><comment><USER3>
        "I[t] took me 8 years since I started blogging in 2003..."

hm, someone lives in the future...

<comment><USER4> to be fair it -feels- like 8 years

</comment></comment><comment><USER4> Is it getting cool to bash TechCrunch now? Or is it already cool and I'm out of touch?

<comment><USER5> It's been cool for a while. Techcrunch is the Teen People Magazine of the scene. All the cool kids don't like it but secretly want to be featured.

EDIT: I'm wrong. Brainfart. Techcrunch is more like Scientific American or Psychology Today. Popularizing, OK for interested laypeople, but a quite poor way to learn the topic.

Valleywag is our Teen People Magazine.

Sorry to the folks that bring us techcrunch for confusing them with valleywag. When I read "Already not cool" I must of just had valleywag pop into my head.

</comment></comment><comment><USER6> All those non-secrets may apply for Loic, who was already a well-known blogger and promoter with a large community before he created his startup. His advice is just not applicable for everybody.</comment>


Show HN: I wrote a book about getting started pentesting (50% off for HN'ers) - <AUTHOR> https://leanpub.com/bughuntaquickstartguidetopenetrationtesting/c/wgHzufHgE8cb

<comment><AUTHOR> Hi all. I wrote a book introducing the fundamentals of web application penetration testing, expressed in language I hope is friendly to coding hobbyists and beginners. I've written a few walkthroughs for basic vulnerabilities and plan to build it out with more vulnerabilities, tools, and extra resources (scripts, payload lists, etc).

I'd also like to offer all HNers half off. If you're curious and would like to get a taste of some of the content, visit [http://bughunting.guide](http://bughunting.guide)

Thanks HN!

</comment><comment><USER2> What is your background?

Have you found bugs for large companies? How many?

:)

<comment><USER3> Same here, I'd like to understand a bit more about your background.

Also, is the book specific to the web attack only or does it look at the whole environment (ssh, keys in the git repos etc...?)?

Is it focussed on js only, or holes in other language/framework as well?

Thanks.</comment></comment>


IPhone Game iShoot earns the Developer $600K in a month - <AUTHOR> http://www.iphonedev.in/iPhone/iShoot-Developer-Makes-$600K-in-One-Month.html

<comment><USER2> I wonder if he gets a lot of support email.

Anyone on HN have an iPhone app out there with a low price point? It already takes a lot of time working on a desktop app and answering support emails. I'm wondering if it takes even more time with a low price product and tons of customers.

<comment><USER3> do iphone developers care about support? it's not like anyone can try the program without buying it or ask for a refund. worst case someone leaves a one-star rating saying "this program sux!" which no one reads anyway.

<comment><USER4> nobody reads those reviews, but those reviews drag down your overall rating, possibly making you lose sales to a better rated competitor.

colloquy's reviews are pretty much like that..except for the insane people leaving feature requests (and rating accordingly?! on what world do these people think that'll make a difference?), the rest of our reviews are 4-5 stars with a handful at 1 from the people that, for whatever reason, decided to buy an irc client without knowing what the hell irc was in the first place, and another one that made my day wondering why the fuck we don't have ICB support in the mobile client while we do in the desktop client...but we didn't mention anything BUT irc in the app description in the app store.

(Bonus: check out our latest reviews. the distribution is hilarious: [http://img.skitch.com/20090214-df5e6ptrhqpmii4dy4yw8gbrhc.jp...](http://img.skitch.com/20090214-df5e6ptrhqpmii4dy4yw8gbrhc.jpg) )

And speaking of those people, we regularly get people on our support channel asking for where to find more chat rooms and what IRC was to the tune of at least a couple people a day, if we're lucky, and people who act like complete assholes for no reason and several more people asking what IRC is if we're not. You would be surprised.

edit: someone else on the colloquy team wanted me to mention we have an actual button in the app to connect directly to the support channel and that most apps don't have something like that.

</comment></comment></comment><comment><USER5> One thing I don't understand:

> After getting off his shift as an engineer at Sun Microsystems, he worked on > iShoot eight hours a day, cradling his 1-year-old son in one hand and coding > with the other. He didn't have the money to buy books to learn how to write > an iPhone app, so he taught himself by reading websites.

I think there's one or 2 main books on writing iPhone apps(both by OReilly) and they're like $35 at Borders(so probably cheaper online). If you're an engineer at Sun, and spending 8 hours a day on this app, how could $35 be stopping you from buying a book?

<comment><USER6> There is more info in the original Wired article. The author responded in comments:

 _"As for how I was broke while making a great salary working at Sun, it was primarily due to medical bills after a my family had series of emergency room visits, a couple of emergency surgeries, and we spent a year taking care of and financially supporting a mentally ill relative. Sun had also discontinued all bonuses due to the financial climate, which didn't help."_

[http://blog.wired.com/gadgets/2009/02/shoot-is- iphone.html#c...](http://blog.wired.com/gadgets/2009/02/shoot-is- iphone.html#c148364123)

<comment><USER5> Cool. I figured it was just the Wired author spicing up the story.

</comment></comment></comment><comment><USER7> so...does anyone else see the smart phone as a reboot for consoles? all these games doing well are the kind of games that could have been run on an NES. As we get more and more powerful smart phones will we see the same things?

<comment><USER5> Like this game--iShoot, is basically ScorchedEarth which came out for DOS in like 1994 (or that's when I first played it anyway).

It is fun though--I bought one.

<comment><USER8> I played this game back on my first DOS computer with Gorillas throwing bananas. Found it: <http://en.wikipedia.org/wiki/Gorillas_(computer_game)>

It looks like it originated on Apple II in 1980, <http://en.wikipedia.org/wiki/Artillery_game>

</comment></comment></comment><comment><USER9> i'm going to say that the app looks harder to build than it appears. i haven't messed much with open gl or any low-level stuff, but based on what i've heard/seen, it's pretty complex to build graphics/animation-driven apps.

</comment><comment><USER10> Good for him. It sounds like he really had a rough go of it before he released iShoot. Stories like this always inspire me.

</comment><comment><USER11> What's interesting is this is one of the top iPhone games, if not the top. Compare it to one of the top Facebook games. Mob Wars makes 2x that much money every single month, and unlike iShoot, it won't fall off of the store and into oblivion very soon. It probably took far less work to launch too.

</comment><comment><USER12> You've gotta be kidding me.

I'd totally build one of these things if Apple would ever actually _respond_ to me. It's been almost a month - anyone else experience this kind of delay?

<comment><USER13> This kind of delay? 3 months. The wait was excruciating.

<comment><USER12> Was that for reviewing an App, or just accepting you into the actual program?

<comment><USER13> 3 months for both paid and free contracts. The 2 apps submitted during that time was approved pretty quickly.

The first was submitted and approved in the first month (December). But without the contract, both (paid) apps couldn't be sold. Hell, I can't even provide free apps even if I wanted to. The contract paperwork was only completed earlier this week, meaning the apps can now be sold. I blogged about it here - [http://motionobj.com/blog/stopping-development-of-iphone- app...](http://motionobj.com/blog/stopping-development-of-iphone-applications) \- actually stating that I will state any further development of my apps until it was done. Being without without income due to seemingly simple paperwork delays and with 2 more apps ready to be submitted anytime was very frustrating.

Since the App store is very skewed towards apps which are mire recent (by submission/approved date, whichever), it means that the 2 apps which were previously submitted now hang at the back of the app listings which, again due to the way it works, makes it stay there pretty much.

While there are quite a number of glamorous stories about developers striking rich in the greenfield opportunity of iPhone apps development, there are still a few fundamental pitfalls that can break things if you are not careful. Looking back, I'm not sure what I could have done to speed this up actually, since emails sent seems to go to /dev/null. Not all the emails, but those I really needed responding to never received any.

</comment></comment></comment></comment><comment><USER14> But now, everyone will start making "Lite" versions of their apps, and the same trick will not work as well as it did for this guy.

<comment><USER15> Making a "lite" version is the same thing as making a demo, which has been around for decades. I don't think this is a cat that just got out of the bag, or anything.</comment></comment>


'The Sounds Of Star Wars,' Now At Fans' Fingertips  - <AUTHOR> http://www.npr.org/2010/12/12/131968222/-the-sounds-of-star-wars-now-at-fans-fingertips?sc=fb&cc=fp

<comment><USER2> I heard this interview on the radio. Quite interesting, especially when you find out that Darth Vader's breathing sounds are scuba-regulator-breathing, slowed down somewhat.

I don't know what the viewpoint was in 1977, when "Star Wars" came out, but right now, the sounds of Star Wars seem to verge nearly on a "mash-up". The jealously protected "intellectual property" comes straight out of the public domain, or maybe from sources that didn't explicitly authorize the use of the sounds, like the scuba regulator manufacturer.</comment>


Why Scientists Fall for Precariously Balanced Rocks - <AUTHOR> https://www.atlasobscura.com/articles/precariously-balanced-rocks <comment><USER2> This pagoda and rock are nigh-unbelievable: [https://en.wikipedia.org/wiki/Kyaiktiyo_Pagoda](https://en.wikipedia.org/wiki/Kyaiktiyo_Pagoda) I am amazed that, despite all the traffic and building, the rock has not moved.

<comment><USER3> could be it has secretly been bonded at some point

</comment></comment><comment><USER4> These are amazing. AO always has great articles. The "near me" filter is a good tool to find some interesting things nearby.

</comment><comment><USER5> Not just scientists:

[https://jalopnik.com/rock-beats-axle-1841001414](https://jalopnik.com/rock- beats-axle-1841001414)

</comment><comment><USER6> Also, James Bond Rock: [https://duckduckgo.com/?q=james+bond+rock&t=ffsb&iax=images&...](https://duckduckgo.com/?q=james+bond+rock&t=ffsb&iax=images&ia=images)

</comment><comment><USER7> An almost sculptural rock in this category that I think about is Mexican Hat Rock in Utah. It is shaped in such a way that it looks like strong wind would have eventually blown it off balance.</comment>