The Making of Underrun – A WebGL Shooter in 13kb of JavaScript - <AUTHOR> https://phoboslab.org/log/2018/09/underrun-making-of <comment><USER2> Awesome to see the stupid trick to abbreviate object properties that I came up with in 2010 [1] is still a living part of the mini JS demo scene.

[1]: [http://marijnhaverbeke.nl/js1k/](http://marijnhaverbeke.nl/js1k/)

<comment><USER3> > the _stupid_ trick

Funny how "stupid" can be interpreted in multiple ways here. One entirely appropriate, the other very much not so. I certainly am not smart enough come up with a trick like that!

<comment><USER4> don't sell yourself short stranger

</comment></comment></comment><comment><USER5> Also from the same year of the contest, Wander[0] is a 3D explorable world complete with grappling hook and save points!

[0] [https://js13kgames.com/entries/wander](https://js13kgames.com/entries/wander)

<comment><USER6> wander is awesome - i spent over an hour playing this great game... very nice!

</comment></comment><comment><USER7> Reminds me of 64k shooter kkreiger: [https://en.wikipedia.org/wiki/.kkrieger](https://en.wikipedia.org/wiki/.kkrieger)

This one is a hybrid with some predefined (tiny!) assets and some procedural generation (instruments, texture placement).

<comment><USER8> kkreiger was by Farbrausch who make some of the most incredible demos out there eg Quantum Mysterium from last year - [https://www.youtube.com/watch?v=DAyQeX8a-Bw](https://www.youtube.com/watch?v=DAyQeX8a-Bw) \- that's done in 48Kb of code.

<comment><USER9> A recent 8 kB intro "One Of Those Days" by Loonies is pretty funny and impressive: [https://www.youtube.com/watch?v=fp0t2jCMGZE](https://www.youtube.com/watch?v=fp0t2jCMGZE)

<comment><USER10> That's so awesome! Especially because it's inspired by Candide Thovex's One of those days. Link for those who aren't familiar(he also used CGI for some of the things that would be super dangerous, he skied the line, but people weren't actually there): [https://www.youtube.com/watch?v=ygxufRprWpY](https://www.youtube.com/watch?v=ygxufRprWpY)

<comment><USER9> Also a parody of [https://www.youtube.com/watch?v=jB0vBmiTr6o](https://www.youtube.com/watch?v=jB0vBmiTr6o)

And probably there are more things it parodies.

</comment></comment></comment></comment></comment><comment><USER11> Good game, but unfortunately I was able to get stuck on an edge. Player's upper left edge caught on wall's lower right corner. Perhaps the problem is in the collision checking: [https://github.com/phoboslab/underrun/blob/master/source/ent...](https://github.com/phoboslab/underrun/blob/master/source/entity.js#L32)

If there's a collision in _either_ X or Z, both should be rolled back to their last positions. I think there is possibly an edge case hidden in there otherwise.

P.S. Nice code by the way.

<comment><AUTHOR> Should be fixed with [https://github.com/phoboslab/underrun/commit/2477c5a45f5be4d...](https://github.com/phoboslab/underrun/commit/2477c5a45f5be4db10be21f7afb37b32600b67f1)

Rolling back X _and_ Z when any collision occurs would prevent you from "hugging" (i.e. sliding along) walls. The problem was that a near corner collision wasn't correctly detected when the player didn't collide in X direction in the last frame (last_x) but does collide in the current frame (t.x), allowing the player to move into the corner in Y direction.

Thanks!

</comment></comment><comment><USER12> Incredible casual game in 13k, fun to play, looks lovely, challenging enough and runs smoothly on 4k full screen.

Congrats.

</comment><comment><USER13> Fantastic project!

A fun alternative for the players model that also takes little space is to slice up the model into horizontal layers. See [http://www.like100bears.com/writing/2d-3d-in-gamemaker- studi...](http://www.like100bears.com/writing/2d-3d-in-gamemaker-studio) for example.

</comment><comment><USER14> >>> The game never needs to rotate any geometry

Fixed geometry was the first thing I noticed ;)

Could probably even increase level size manyfold and would still run quite smoothly. For large generated mazes. With this phenomenal skin-crawling sound design. Would make a very immersive "escape" labyrinth game!

</comment><comment><USER15> I love the idea of low resolution of "virtual screen", moreover it's reduced to 256 colors! It allows to use low-resolution textures, simple cubes and "billboard" sprites. I think this idea can be useful not only in demoscene, but in commercial indie games too. Usually indie developers avoid 3D altogether, not because of complexity of 3d engines, but because of complexity of 3d assets. With low-res "screen" you can hand-draw small textures, use sprites instead of 3d models, use rough 3d models and so on, so you can build a game without having large team of artists.

<comment><USER16> Games seeking this property of low-cost art through pixelated graphics generally choose not to have a retro virtual screen though - which frees them to have different pixel sizes between different parts of the UI, place things precisely (even sub-actual-pixel positions!). I'd prefer they didn't do those things, but I'd also rather have these games get made than not get made.

</comment></comment><comment><USER17> Nice :)

But I kinda hate you right now, because now you inspired me to develop games in 3D again, just when I'm in the making of 2D pixel-game ;)

(Love the retro-3D feeling, very good work!)

</comment><comment><USER18> This is amazing, both in process and in result. Very well done, and a pleasant reminder that great things can come in small filesizes.

</comment><comment><USER19> Wow this is phenomenal.

</comment><comment><USER20> Very cool. Has a guantlet vibe

</comment><comment><USER21> I wonder if this could be brought to the web in 97kb [https://en.wikipedia.org/wiki/.kkrieger](https://en.wikipedia.org/wiki/.kkrieger)

</comment><comment><USER22> Really good writing style. So much info in such short, simple sentences.

</comment><comment><USER23> Amazing work.. Love the lightsource following the projectile. Was the large pixels a compromize to keep the fps up? Anyway, amazing what you can do with 13k!

</comment><comment><USER24> Hmm.. Seems to freeze on Chrome for me after the click to initiate deployment, and the console shows a javascript error.

</comment><comment><USER25> Wow this is one of the cooler projects I have seen for that little amount of code.

</comment><comment><USER26> nice game, beautiful audio... this guy helped with that [http://no- fate.net/](http://no-fate.net/)

</comment><comment><USER27> I wish for non qwerty support. Otherwise its genius

<comment><USER28> I just needed directional keys + mouse clicks

</comment></comment><comment><USER29> Nice Game & Code. Keep the great work up

</comment><comment><USER30> Love it, the audio is great.

</comment><comment><USER31> kb != kB

</comment><comment><USER32> Why is your post about your Coinhive authorship [0] gone?

[0]: [https://phoboslab.org/log/2018/03/about- coinhive](https://phoboslab.org/log/2018/03/about-coinhive)</comment>


Civlization VI to Be Released on Linux on Feb 9th 2017 - <AUTHOR> http://boilingsteam.com/civilization-vi-out-this-thursday-on-linux/ <comment><USER2> > Cross-platform multiplayer will only work between Mac and Linux at release. > But the good news is that they plan to make it compatible with Windows > clients later on.

Are the mac and windows versions the same product? I hope my windows purchase transfers over.

<comment><USER3> It will, but it won't count as a linux or Mac sale.</comment></comment>


Solving a Mystery Behind the Deadly 'Tsunami of Molasses' of 1919 - <AUTHOR> http://www.nytimes.com/2016/11/26/science/boston-molasses-flood-science.html <comment> semi-extrinsic It's all down to the Reynolds number, which relates viscosity ('sluggishness' of the fluid) n, length scale L and speed v. Re = v*L/n; if this number is low, stuff "happens slowly", if large, stuff "happens quickly".

So if you scale things up, making L larger, you can get fluids that we usually think of as "slow" to act like they're "quick". Like magma: very sticky, but a big enough lava flow can outrun a car.

<insert standard disclaimer about handwaving in above comment>

<comment> semi-extrinsic Also, as someone in fluid dynamics, I find it interesting that this student project is featured in the NY Times. I mean, it's not trivial, but it's certainly less work and less interesting/innovative than e.g. what the average PhD student produces.

Would it have been in the NY Times if someone at a less prestigious university, led by a less well-connected advisor, had given this project? Somehow I doubt it.

<comment><USER2> It paints a bizarre picture of people running from and being killed by waves of gooey, molten sugar, hence a story of interest to the general public, yet one based in science and engineering.

<comment><USER3> There's an old saying in journalism "if it bleeds it leads." Holds true even in science coverage, and even at the New York Times.

</comment></comment></comment></comment><comment><USER4> For those interested in this unusual event, the book _Dark Tide: The Great Boston Molasses Flood of 1919_ chronicles the run-up to the disaster and the enormous court case which followed, in which USIA attempted to blame Italian anarchists for the tank's destruction.

The book also suggests that the behaviour of warm molasses was a likely factor, notably the effect of combining it with the cold molasses already in the tank. So this new research fits perfectly.

</comment><comment><USER5> I will never describe sluggish software as "running like molasses" again.

<comment><USER6> Always specify cold molasses, or molasses in winter.

<comment><USER7> You do realize the event in question occurred during a Boston January?

<comment><USER6> The molasses itself was fermenting raising its temperature significantly. It cooled and slowed very quickly when it was out of that environment.

<comment><USER7> It was still molasses in winter. ;-)

</comment></comment></comment></comment></comment><comment><USER8> Why is it that causes of death like this are simultaneously ridiculous and horrifying? Is it my brain reacting to the horror accounting for the hilarity, or is it just that molasses seems so benign?

</comment><comment><USER9> One of the issues of Murder Can Be Fun was on the great flood

[https://www.amazon.com/Murder-disasters-Boston-molasses- floo...](https://www.amazon.com/Murder-disasters-Boston-molasses- flood/dp/B0028GMM96)

</comment><comment><USER10> Someone watched Drunk History last night.</comment>


Valve Talk at Harvard CS50 Course – Portal Problems - <AUTHOR> https://www.youtube.com/watch?v=ivyseNMVt-4 <comment><USER2> I find it really fascinating that one of the prevailing themes throughout this talk was "in game development, good enough goes a long way." I wonder if it applies to other fields of development as well.

<comment><USER3> There are a lot of areas on this topic that interests me.

Just look at graphics, specifically say beach waves. We now have super advanced looking deep water, but I've never seen any game even try to replicate beach waves, apart from some basic texture effects where the water goes in and out.

On the other side, I don't think I've ever heard a single comment about it from reviewers or players.

Of course as soon as someone does do it, then you're going to be hearing about everyone else lacking it in every review.

</comment></comment><comment><USER4> Thanks for posting the video, OP. It was really interesting. Shame it didn't get very many comments.</comment>


Ask HN: When you realize your idea isn't that original - <AUTHOR> A month ago while getting my feet wet with deep learning, I realized that it's a pain to find pre-trained models for use and inspection, so I've been working pretty hard to build a tool to host these models that are sparsely scattered across the web. However, tonight I found out that https://algorithmia.com/ does something pretty similar, albeit with less of a community-first, open source vibe.
I've fallen for this trap of thinking my idea is original before, and I have been wrong every time I've made that assumption.
Does anyone have any wisdom to impart for handling the realization that your idea isn't as special as you thought--after you've spent some time working on it? <comment><USER2> i have had some original ideas, and the key to having original ideas is not what you think.

It's less about actually having original ideas, but more about being able to perceive whether an idea is original or not.

In your case, you lack that quality, and that's why you "thought" your idea was unique. It has nothing to do with whether you're an original person or not.

Let's say you come up with 100 ideas per month. If you're unable to figure out if your idea is original or not, you will probably go with the first idea you thought was cool. After one month you'll realize it's not original at all.

This is NOT a failure of yourself as a creative person. This is a failure of yourself as a person who can't lack knowledge about the field AND lack ability to do good enough market research. Imagine what you could have done during that one month if you were better at telling original ideas from unoriginal ones.

So the solution is simple:

1\. Keep studying and trying new things in different fields. You'll soon have enough knowledge to be confident that when you come up with an idea you think is original, it actually IS original.

2\. Learn to be better at research: This is crucial. The more you do this the better you'll get at this, and you'll pick up your own skills. After a while, you'll become so good at market research that you can be at least 80% confident that your idea is original in a field you've never seen before, after a couple of days of market research.

</comment><comment><USER3> If it's a good idea, many people will have it. You have to win through better execution.

</comment><comment><USER4> For one idea, there's always going to be lots of ways to deliver a product/service for it so you should be able to find a niche. If you came up with a 100% original amazing idea it would likely be copied quickly anyways.

</comment><comment><USER5> You are 99.999% a clone of every other human being. You are physically incapable of having an original idea. However, all human beings are blessed with creativity and have strong BS engines. Use your creativity and BS engine to make your idea seem fresh and new. Execute better and sell, sell, sell. Don't listen to haters and keep moving forward. That is all.

</comment><comment><USER6> It's good that you realized it. 99% of people don't.

Just look at all the apps, websites, software, companies out there. It's crazy. The vast majority of them are worthless duplicates.</comment>


Show HN: An awesome portal to awesome sites - <AUTHOR> https://awesomeweb.herokuapp.com <comment><USER2> This feels like the product of a basic coding test. Which is fine, and if so well done. But I was hoping for something more.

I clicked four times, hoping that it would get better. Three of those four were distinctly un-awesome, and felt a bit dated - "ihasabucket.com", really? Hello 2008 - and one of them wouldn't load.

It would probably have been more interesting if you said what criteria are used to determine the "awesomeness" of the sites, and what more - if anything - there is to this than randomly selecting from a pre-populated list.

</comment><comment><USER3> This took me to [http://yeahlemons.com/](http://yeahlemons.com/) \- my day is saved!

<comment><USER4> Uh... I feel like having a lemonade now. [https://www.youtube.com/watch?v=rLKwGCtfoq4](https://www.youtube.com/watch?v=rLKwGCtfoq4)

</comment></comment><comment><USER5> What, just what?

<comment><USER6> I second this. I was taken to a whole host of frankly terrible sites, most of which were broken or even suspicious looking.

<comment><USER7> This looks like all the URLs [https://github.com/vedipen/awesome- website/blob/e46bb314b383...](https://github.com/vedipen/awesome- website/blob/e46bb314b383794bc2df7d57469e67b0583d877f/db/seeds.rb)

Also reminds me of early 2000s kind of content</comment></comment></comment>


20,000 users in a week - Jetstrap HN Front Page Stats - <AUTHOR> http://blog.jetstrap.com/2012/10/20000-users-in-a-week-hn-front-page-post-mortem/

<comment><USER2> Re: Pricing

I think $20-30 is in the agreeable range of what designers with paying clients will pay for things.

However, I think you can go higher if you emphasized the pain that something like this solves and how it can shave hours of time off the setting up a new bootstrap-based design - the cost can be subsidized by the account owner's clients.

If I were you, I'd look at the data you have now (your current users) and see how you could segment them into customers (Hobbyists, Freelancers, Agencies) and charge accordingly (for example, $19, $99, $249.) Thinking outloud.... but higher tiers could allow for multiple users and even client roles per account, along with restricted features that the lower tiers wouldn't have.

<comment><AUTHOR> Thanks! Great ideas. I think segmentation is really the way to go. Initially we wanted to do a one size fits all, but I think this would be a better fit for the different types of users we have.

<comment><USER3> One size fits all seems nice for it's simplicity, but you end up leaving too much money on the table.

Some users will pay less, some will pay more, you want a pricing scheme that allows them to do that.

</comment></comment></comment><comment><USER4> A free Heroku setup survived the front page of HN? Cool. Makes it all the more unacceptable when sites do go down under the traffic. Especially when they're just blog posts.

<comment><USER5> We once had 2 links on HN front page for <http://backspac.es> for the better part of a day -- although neither made it to number one spot -- running only 1 dyno. Something like 18K uniques.

Also had two techcrunch posts about something I made (<http://venturecrapital.us>) running on a single micro ec2. tornado + nginx + mongodb and proper indexes go a long way. Similar traffic.

</comment></comment><comment><USER6> [EDIT: I misremembered my experience with Jetstrap -- of course the software actually exists, you can try it immediately. My apologies to the Jetstrap team]

[...]

How well do signups from HN correlate with actual paying customers? I recall a blog post from several years ago that concluded there were 10,000 people who would sign up for _anything_ if it was featured on top tech aggregators.

<comment><AUTHOR> The product exists, you can sign up and play with it. Is there something we could do to make that more clear?

<comment><USER6> My apologies. I did try out Jetstrap, but forgot that I had done so. I remembered watching the video but somehow blanked on playing with the software.

I don't know if there's anything you can do about people as dumb as I am. ;)

That said, there is a lot of deception going on with "coming soon" pages. Not from your team though.

</comment></comment></comment><comment><USER7> For those that are interesting, here is the original HN discussion:

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

</comment><comment><USER8> you might want to remove your sample page on your blog

<http://blog.jetstrap.com/sample-page/>

it's accessible from the footer - SAMPLE PAGE link.</comment>


In a Down Economy, Angel Investors Change Course - <AUTHOR> http://gigaom.com/2008/08/08/in-a-down-economy-few-angels-fly-away/ <comment><USER2> "There are about 258,200 angel investors in the U.S., and in 2007 they invested $26 billion in 57,120 deals, according to data from the Center for Venture Research at the University of New Hampshire."

Those numbers seem quite high to me. I wonder how many of those deals were tech related?

<comment><USER3> Only a tiny fraction. Most are presumably people investing in their friends' restaurants.</comment></comment>


Irony alert: Microsoft Office skills needed for some of Google's jobs - <AUTHOR> http://www.neowin.net/news/irony-alert-microsoft-office-skills-needed-for-some-of-googles-jobs

<comment><USER2> Saying that 90% of business don't need the advanced capabilities of office and will find google apps sufficient for their needs is not in any way the same as saying google apps is equivalent for office.

You could certainly discuss the veracity of that number, but there is really no need to misinterpret the message, what a poor article ...

</comment><comment><USER3> My first thought was that yes, this is rather ironic. I realized, though, that Google Docs isn't even intended to be used for advanced use cases - it's intended for that "90%" who don't need those features. Apparently some jobs at Google require those features.

This silly headline got a reposted on a lot of different sites for no real reason.

</comment><comment><USER4> This is naive at best.

All big companies require some sort of technical knowledge in competitors products: Microsoft hires Java gurus, Apple takes engineers for compatibility on their products on Windows so I dont know what is the fuzz.

</comment><comment><USER5> Um... Irony alert: Mac skills are required for some jobs at Microsoft.

lol this article is fail.

</comment><comment><USER6> another non-story</comment>


Africa's most famous trees are dying, and scientists suspect a changing climate - <AUTHOR> https://www.washingtonpost.com/ <comment><AUTHOR> If you are hitting the paywall, the same article can be found here:

[https://www.msn.com/en-us/news/msn/africa's-most-famous- tree...](https://www.msn.com/en-us/news/msn/africa's-most-famous-trees-are- dying-and-scientists-suspect-a-changing-climate/ar-AAyvbeU?PC=GOOGLE-PLAY)</comment>


"It's easier to port a shell than a shell script" (1998) - <AUTHOR> http://gopher.quux.org:70/Humor%20and%20Fun/Microsoft_KSH.txt%7C/MBOX-MESSAGE/1 <comment><USER2> I thought this was quite amusing when I read it back in the late 90's. At one point their proposed shell was called "Monad". I wondered "Why do they want to do this?"

I have gone to a number of conferences with MS employees over the years, especially MS lawyers, and with respect to software, they often seem like they have been indoctrinated into a cult. As if the existence of software outside of MS Windows does not exist and as if MS holds the key to solving all problems. But MS does not offer solutions. They create problems (e.g., for anyone who has to deal with their licensing) and then offer "solutions" to the problems they created. It is like someone who proposes to "simplify" something by introducing more complexity.

The idea of MS embracing a proper shell seemed laughable to me. Windows users expect pointing and clicking (and today they want to be able to touch the screen).

Now fast forward to 2015 and it seems like PowerShell has a significant number of users. I am sure it is helping Windows users greatly. Good for them.

But I still think it is laughable. The name still makes me laugh.

I'd rather use something like Back Orifice (which has a simple UNIX client) to control Windows from a proper shell on a computer running UNIX. Or SSH via Cygwin. Or even SUA which has ksh and tcsh. Alas no simple Bourne shell (better for writing portable scripts).

<comment><USER3> You should try powershell. It's actually pretty good and is much better than unix shells.

<comment><USER4> It has it's pros and cons, but in the end it's fundamentally _different_. Powershell wouldn't work nearly as well on a UNIX system, where much of the tooling is already just text, provided by _many different sources_ , and uses a much more diverse set of utilities. Text makes a good lowest common denominator in that situation.

<comment><USER5> "Text" only makes a good lowest common denominator on UNIX because the designers of UNIX decided that ASCII would be the lowest common denominator of the system. The designers of modern Windows decided that MSIL objects would be their lowest common denominator.

If the UNIX designers had chosen some other lowest common denominator, all of these diverse utilities would be communicating over that protocol instead of ASCII. The choice to use "text" came first and the ecosystem came afterward.

<comment><USER6> Can you explain me a bit the difference if you mind (I don't know much about Windows).

In Linux/Unix I can also pipe audio to /dev/audio for example. And image processing through a sequence of steps by pipes is quite often done. Are these objects coming with default metaparameters to make piping easier? Or are there other things implemented that might be cool?

<comment><USER5> I have never used PowerShell, so I don't know a lot about the details. But PowerShell pipes .NET objects from one command to the next, which are not just bytestreams but are objects, with methods and such. It's fundamentally different.

In UNIX, you have bytes, and the underlying system doesn't know what they represent. Most tools assume they're ASCII or UTF-8 (or whatever) encoded text, but that's all they agree on. In practice, you're working almost always working with structured data - tables or lists or mappings - but you have to remember that for the output of this program, you want to cut on '=' and take -f4, and first you need to pipe it through head and tail to clean up some junk output[1], and this other thing for that program, and whatever.

[1] This is a way to get the `time` field from the output of `ping`.

<comment><USER7> _> It's fundamentally different._

That's because the object pipeline is functionally analogous to function chaining within a single runtime like in Python or Ruby, not streaming data between arbitrary executables like in Unix pipelines.

This would be a lot clearer if PowerShell advocates compared it to things that it's actually functionally analogous to, but they are trying to position it as a Unix shell competitor.

<comment><USER8> > That's because the object pipeline is functionally analogous to function > chaining within a single runtime like in Python or Ruby

No it is not. See my response below.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I could have easily put Korn in his place if I had been that Microsoft person.

Ah, but no; I would end up saying some things that would have been too ironic to come from a Microsoft person, such as:

\- why are you Unix people making a POSIX standard which covers the shell command language, if you're going to insist on one reference implementation being used on everyone? Just dump the source code listing of that into a document, add a few comments here and there, and call it the standard.

\- isn't it healthier to have multiple implementations rather than a "monoculture"? Do we all use the same C compiler?

\- the MKS shell could be made to diagnose and reject the use of Korn shell extensions, helping the programmer write a more portable script.

\- wait, did you say your name was Korn, or Bourne? I didn't quite hear you from the back. If you're Mr. Korn, I would appreciate it if Mr. Bourne would now stand up, if present, and ask you why you don't just use the shell with _his_ name on it.

<comment> vezzy-fnord You think these are zingers, but they're really just worthy of cringing.

a) Red herring. No one is talking about a reference implementation of Unix shells, but about Korn shell compatibility in particular.

b) Red herring. Don't imply it's a Korn or Korn-compatible shell - that's the issue here.

c) Red herring. Though the conversation was never recorded, it's implied that nothing was said about "portability", per se, but in particular compatibility with the Korn shell language specification.

d) Red herring and an insult. Stephen Bourne didn't write the first Unix shell. Ken Thompson did. Is your implication that no one should iterate or create new designs? Microsoft creating a Unix shell is fine, but the issue at hand is that it _wasn 't a Korn shell_ like they claimed it to be.

<comment><USER9> Microsoft wasn't creating anything; they were working with MKS:

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

MKS claimed to have a Korn-shell workalike, AFAIR.

> _The MPM asserted again that the shell was pretty compatible and should work > quite well_

which sounds reasonable, and isn't an assertion that MKS has _the_ Korn shell in it such that it is 100% compatible. (And could anything even be 100% compatible, if not running on Unix? The Korn shell source ported to DOS woudln't be 100% compatible with the Korn shell, just "pretty compatible" so that many things work "quite well".)

They probably had some good reasons to with MKS, because in fact it isn't easy to port a shell: not to the DOS environment. Or Windows. The minimal example of doing this reasonably well might today be the MSYS environment used by MinGW, which has to re-create significant infrastructure (a whole C library from the ground up and other things).

Maybe Microsoft also had favorable licensing with MKS, avoiding the AT&T license.

</comment></comment></comment><comment> vezzy-fnord Also covered by WikiWikiWeb: [http://c2.com/cgi/wiki?KornShellStory](http://c2.com/cgi/wiki?KornShellStory)

</comment><comment><USER10> So the title of this link is from the title of the email. That in turn is a quote from Larry Wall, who do not seem to be present in the story at all.

<comment><AUTHOR> Well, I assumed that the point of the quote is that it's fitting for the story, mentioning Larry was for attribution (which I see got removed from the title, I don't mind but I think it should've stayed in there for credit)

<comment><USER10> Yeah, i just came expecting to see something about the issues of porting scripts between shells or something. especially as there has been a whole lot of pro/con shell scripts as of late.

</comment></comment></comment><comment><USER11> And then microsoft's feelings were hurt so badly that one day they decided to write powershell.

<comment><USER12> Somehow I doubt it took them more than 8 years to write Powershell.

<comment> steve-howard Maybe not, but it does take me 8 hours to get a Powershell script right.

</comment></comment></comment><comment><USER13> Seeing a link to a gopher:// site and discovering that Safari in iOS still supports it made my day.

<comment><USER14> Alas, it's not a gopher:// link; gopher is just the name of the host. (Perhaps it _also_ is a gopher server, or once was.)

<comment><USER15> It's running pygopherd

[http://gopher.quux.org:70/devel/gopher/pygopherd](http://gopher.quux.org:70/devel/gopher/pygopherd)

<comment><AUTHOR> Exactly, that's how I stumbled upon this. PyGopherd has a very nice feature that supports serving gopher and http on the same port...

</comment></comment></comment></comment><comment><USER16> 1998

</comment><comment><USER17> I wish I saw that. That would've been epic.</comment>


3 Reasons That Got Us into Y Combinator - <AUTHOR> https://www.konsus.com/blog/y-combinator/ <comment><AUTHOR> would be great to hear about other YC folks' experiences</comment>


Show HN: This is basically how OAuth2 works - <AUTHOR> http://i.imgur.com/sI1BRib.png

<comment><USER2> Love these things. I'd love to see something at the auth provider that steped up authentication if required

<comment><AUTHOR> Thanks!</comment></comment>


Django snippets.org hacked - <AUTHOR> https://djangosnippets.org/snippets/4058/

<comment><USER2> Not seeing any sign of "hacking" other than someone having submitted a bunch of spammy snippets.</comment>


5 month – 5 products – $5,000 revenue - <AUTHOR> https://www.indiehackers.com/forum/5-month-5-products-5-000-revenue-42965462f1 <comment><USER2> I like the sheet to site idea. I've made a few importers from sheets to web, so this looks useful to me.</comment>


Porfiry: A beautiful, interactive deconstruction of the Mueller investigation - <AUTHOR> https://fathom.info/porfiry/ <comment><USER2> Useless.

There's no indication of what the points are, nor what the connections mean, nor can any real person take the time to sweep through hundreds of points to try to get a sense of what this graph even looks like.</comment>


China's secretive spaceplane may launch in 2020 - <AUTHOR> https://arstechnica.com/science/2017/11/chinas-secretive-spaceplane-may-launch-in-2020/ <comment><USER2> Plenty of scepticism about this online. Personally I am all for advances in space travel regardless of nationalistic feelings (I don't have much choice really being a Brit, a previous government having given up on space a long time ago and given our technology to the French!).</comment>


Can Technology Reinvent Education? - <AUTHOR> http://blogs.hbr.org/innovations-in-education/2011/03/-robin-willner-is-vice.html <comment><AUTHOR> It's sort of a blanket overview of AI technologies and a plug for IBM Watson, but I'm kind of shocked they didn't bother to mention Imagine K12 given its timely relevance to this topic.</comment>


On RESTful API Standards – Just Be Cool: 11 Rules for Practical API Development - <AUTHOR> http://techblog.appnexus.com/2012/on-restful-api-standards-just-be-cool-11-rules-for-practical-api-development-part-1-of-2/#more-1299 <comment><USER2> I don't think adding metadata to your responses goes against the ideas of HATEOAS. On the contrary, HATEOAS requires enough metadata about the application state and possible transitions so that a consumer can fully interact with the API without relying on out-of-band information (URL patterns being the most common example).

<comment><USER3> Some people argue that whatever you get back from the request should be the exact json/xml/whatever object representation.

<comment><USER2> Can you point me to a source for this argument? I'd be interested in taking a look at the reasoning behind it. Obviously, that's an approach that a lot of people take for pragmatic reasons, but it doesn't seem to allow the kind of hyperlinking that's the core idea of HATEOAS. Of course, the term "object representation" is pretty generic, and may obviously somehow include links to related resources and application states.

</comment></comment></comment><comment><USER4> Yes, pretty much this is how I've been doing JSON API's for a couple years now. Making things all about convenience and ease of use for the API consumer, that's really what an API should be about. Afterall, API's are UI for developers.

<comment><USER5> Generalizations are bad. At work, although our front end uses our REST API, it is also used by many different backends of clients that integrate with our service.

<comment><USER6> All generalizations are bad.

</comment></comment></comment><comment><USER5> Developers that view "Practical API Development" as something more important than agreed-upon standards is also the reason Microsoft Internet Explorer has a long history of suck.

"But honestly, why would your users be creating an object with an id?" They aren't. You should not be PUTting endpoints with an id. I get more more and more scared as I type, thinking about this change-the-standard-for-my-own- purpose attitude.

</comment><comment><USER7> I'd appreciate other people's input on these choices. I'm currently implementing an API much in the way of these standards, but I'm almost buckling and implementing PATCH since I feel dirty having PUT do so much, so incorrectly.

<comment><USER8> You have to analyze your target audience. Will people who are new to using a restful api being using your api? Will you provide a wrapper yourself?

There are about a million questions you must ask yourself in order to come to the right answer for YOU. At the end of the day what matters is that the person using your API finds it easy and intuitive. If that means that you use PUT for updates, and POST for creation, so be it. It could even mean that you convert PUT to POST requests, and treat them all the same. If you take that route, you check to see if the resource ID is specified in the post data. If the ID is in there, you update that resource, if it's not in there you create a new resource.

While you go forward, keep in mind one thing. If your API is hard to use then no one will use it. If no one uses it, then your API doesn't matter. If your API doesn't matter, then you made all the wrong decisions.

Also, have fun with it. Creating APIs is incredibly fun, enjoy yourself, and enjoy creating something people will enjoy using.

<comment><USER3> One thing to keep in mind about wrappers is that now a days kids like accessing APIs from mobile applications. With iOS you cannot simply just wrap curl calls like you would in PHP. Developers use weird and random REST API accessing frameworks in iOS.

<comment><USER8> I would be interested in finding out more about these REST API accessing frameworks in iOS. Do you have any links?

<comment><USER3> Just off the top of my head I know of <https://github.com/AFNetworking/AFNetworking>, <http://allseeing-i.com/ASIHTTPRequest/> (no longer supported but still used), and <http://restkit.org/>

</comment></comment></comment></comment></comment><comment><USER9> ARGH! PATCH is for partial updates, not PUT!

<comment><USER10> Does this really rise to the level of an "ARGH!"? I mean, look: REST is nice because it simplifies front end network APIs that were getting out of hand. That is its value.

Replacing the nonsense of SOAP and XML-RPC with equally ridiculous pedantry about HTTP minutiae is not helping your cause nor your software.

<comment><USER11> There are all of _nine_ HTTP methods, using them correctly should not be that difficult.

edit: Well, ajross has a point. There are actually all of _eight_ HTTP 1.1 methods, and PATCH is not one of them.

<comment><USER10> The cargo-cult fallacy that there is a "correct" way to do something as complicated and varied as web service provision is exactly the kind of nonsense I'm talking about.

It is "easy" to blindly follow any rule. In most cases it is also wrong.

<comment><USER12> Also how do you make a PUT or PATCH request from programming languages like Actionscript (and quite possibly Javascript though I'm not sure) which only support POST and GET requests currently?

<comment><USER13> Many frameworks overload the POST operation and allow the desired verb to be specified in the data.

Rack::MethodOverride does this for Rack-based apps by using the value of the _method parameter as the http verb.

</comment></comment></comment></comment></comment></comment><comment><USER14> I found this to be practically useful:

[http://www.youtube.com/watch?v=QpAhXa12xvU&list=PLD90BAD...](http://www.youtube.com/watch?v=QpAhXa12xvU&list=PLD90BADB5FD29BB3E&index=7)

</comment><comment><USER7> In a lot of APIs I've dealt with, you can create resources with ids that match your own resources, hence wanting to use PUT for creation, e.g. if you have users in your application and you want to extend them to this web service, instead of having to store an additional "foreign key" per user, you can just PUT users in the web service with ids from your own service.

I'm doing this for the API I'm building, as modeled on FatSecret's API.</comment>


Adopting Feature Flag-Driven Releases - <AUTHOR> http://blog.launchdarkly.com/feature-flag-driven-releases/ <comment><USER2> It's funny that this is just becoming a thing. I heard about flag-driven releases from somebody in DevOps at Facebook last year, and how integral they were to their release process there.

I ran my own SaaS as a self-taught, solo developer from about 2002-2008, and I used to insert feature flags all the time to test stuff out. Later, when I joined the corporate world and learned more industry standard best practices, I assumed feature flags were just another bad practice I needed to leave behind with my old PHP project. But come to think of it, it was very convenient to:

\- test things on a small scale live,

\- preview features with the biz folks,

\- and it was almost always very smooth to remove the flag and make a feature live, because it was already part of the program's overall control flow.

Funny the things you come upon out of ignorance, versus the drive to do things some way because that's the way everybody does them, and the good/innovative ideas that may fall through the cracks in the rush from the former to the latter.

<comment><USER3> I dabbled with feature flags once. We had... issues.. with our DBAs who, it seemed, couldn't make any changes to a database without taking it offline for a cold backup first. We floated the idea of feature flags as one way to perform certain live deployments. The ops guys refused outright for reasons which stank of protectionism at the time.

Time passed. I was tasked with rewriting a fairly complex piece of code and I put the new code behind a feature flag. At the time, there was no facility in place to support feature flags so I had to introduce one as part of the deployment. It all went into a test environment but the deployment scripts didn't set the config to enable it. This was deliberate because I wanted to verify that we wouldn't change existing behaviour (i.e. break anything) by deploying with the flag disabled. The testers, however, were looking for the new functional behaviour and raised a defect.

\- when the project manager found out, he claimed that this was responsible for a timescale slippage (the delivery into test was massively late, naturally)

\- when my line manager found out, he told me I'd be fired if I tried a "stunt" like that again

\- when the DBAs found out, they decreed that, henceforth, all database updates which resulted in a "functional change" would be subject to the full release process (i.e. cold backups).

So the experiment was a total failure. Or a total success. It depends on how you look at it; one amusing moment was when the PM came out of a meeting and, with some gravitas, suggested that we might have to rip out half the new code in an effort to salvage the timescales. When I demonstrated that we could achieve that in, oh, about 5 seconds by flipping the flag, the notion went away. The guy was a contractor and I suspected he was just trying to create more work to keep himself around.

To me, the biggest question with feature flags is managing the removal of dead code. In this case, it was never removed because the task of deleting it would trigger a full project release cycle and the company didn't see the point of spending the money.

<comment><USER4> We used feature flags to update "live" code but using if conditions based on hard coded test user/client ids. I wrote everything necessary to respect a database flag instead but that never made it out of a test db whilst features kept being added behind "id" based flags.

So now to remove said flags you just hunt through code for the special id string and remove the "no" branches. Oh, and for Gods sake don't accidentally make the wrong thing live.

Flawless.

</comment></comment></comment><comment><USER5> Feature flags should be used judiciously. They are better suited to frontend- type changes, enabling a button or something visible.

Flags to enable a web service call or the like is clutter most developers can live without.

I find architects perceive them as the perfect fix for release management. To me, they result in too much config bloat with minimal value.

<comment><USER6> I agree that feature flags, like any tool, should only be used where it makes sense. I disagree that they should only be used for visual changes though. Often, backend changes can have performance impacts that are only visible at scale, so being able to roll something out gradually can help there.

Also, a flag can be used as a permanent control to disable a part of the system (like an external call) if that part of the system is having problems. Imagine if you had a github activity feed integration, and you wanted to be able disable that feature when a github outage caused that call to take a very long time. Being able to easily disable that feature without needing to change your code can be immensely useful.

nb- I work for LaunchDarkly.

<comment><USER7> How exactly does the api work? Is every call to check a flag making a HTTP request to LD or does the ld client sync periodically?

<comment><USER6> No, every call to check a flag is not making any sort of network connection. The flag ruleset (includes details like specific users that should get each variation, or particular user attributes that should indicate a specific variation, or a percentage rollout) is streamed to the SDK in a long-lived background connection.

The SDK maintains these rulesets in memory, and when you need to evaluate a flag for a given user, the ruleset is evaluated. This way, there is no I/O at the time that a rule is evaluated, so there is no real performance impact. At the same time, because of the way we stream the rulesets to the SDK, any rule changes take effect immediately.

[https://launchdarkly.com/performance.html](https://launchdarkly.com/performance.html) has some diagrams, etc, detailing this (sorry for the marketing fluff :)

<comment><USER7> Great, we will be looking at applying this in a new project of ours, and replace our existing feature flag implementations in other systems if things work out.

</comment></comment></comment></comment></comment><comment><USER8> When are those conditionals deleted? I assume after a few conditional features it can be hard to make sure all the possible combinations work well.

What strategy do you use to decide when to permanently enable a feature and simplify the codebase?

<comment><USER9> We have an automated system that emails you after 30 days of a toggle being on 100%. After that, it emails you once a week. Soon you get bothered by it enough you take it out. System works.

<comment><USER10> That's a great idea.

</comment></comment></comment><comment><USER11> I work at a company that uses feature flags heavily for releases. Even most refactors are done behind a flag.

It works surprisingly well, especially when you have 20 developers all trying to release different features at the same time, you then have a controlled way to isolate enabling and monitoring each new feature one at a time.

It's generally expected that you clean up your flag conditions after things have been tested. And that you write code so removing the flag flow is trivial.

<comment><USER12> > Even most refactors are done behind a flag

How does this work without cloning vast swaths of code and saying:

        if (feature)
           loadModuleA();
        else:
           loadModuleB();

<comment><USER11> On occasion you do that. But usually it's just a couple if statements in a couple places with very little code duplicated.

Also, again, it's expected that after it's tested you delete the old path. It's a short lived transitional situation.

Sometimes it's annoying. Overall it's safer when you're on a massive scale.

</comment></comment></comment><comment><USER13> I really like feature-flag releases, but they are not without disadvantages.

The one that comes to mind is complexity. Ten features is a thousand possible configurations of your application. Thirty features is one billion possible feature sets for your app.

Ideally, features are independent of each other and work regardless of the enabled/disabled state of the other features. But ideally code doesn't have bugs.

All in all, I think feature flags are great. I just prefer to limit them to the larger, more risky changes.

</comment><comment><USER14> We do this and we measure the use of the feature and health with a metrics library such as codahale.

I highly recommend using an easy to use metrics library to test feature flags.

</comment><comment><USER15> I think feature flags are a smell if used for anything other than controlling which users see which output.

If Inhave a feature that is, say a way to calculate a customer quote, turning on that feature without managing the deprecation is poor. Most "features" can be seen as services provided to other areas of the code base, micro service style or not.

It's a nice idea but I worry

</comment><comment><USER16> It's weird to see Google best practices continue to leak and become the standard.</comment>


App that helps find cheapest care by comparing prices of any medical procedure - <AUTHOR> http://www.faircare.io/ <comment><USER2> My daughter is at her UC right now and she is sick. We did not take the UC insurance as we already have insurance. She did not know where to go to find a doctor. I asked her to download the app, type visit in the search bar and select emergency visit minor problem and a list of doctors appeared with a map so she could select the closest. From the app she could call check insurance coverage and get an appointment.

</comment><comment><USER3> Cool idea. I can see why you'd want this to be an app—you want the person to take a photo of their bill to contribute back to the database, and make it more accurate for everyone.

My question is--what data set are you using to bootstrap your prices?

<comment><USER4> We have data compiled from billions of claims that will give you the average price for each one of the 10,000 medical procedures in every zip code. We are also launching a campaign for all users to contribute medical cost information that they receive in their explanation of benefits (you know, the paper that says "this is not a bill"): with the FairCare app, you can just snap a picture of the document, our app will help you remove all your personal information, and then upload it. With everybody's help, we will be able to uncover prices that each doctor, hospital and lab charges for medical procedures.

</comment></comment><comment><USER5> All I could find was "download the app".

What if I want to do it via the website?

<comment><USER4> Our first launch is the phone, because you can have access to it anywhere. We are launching a crowdsourcing campaign for everybody to contribute medical cost information: using the camera of the phone, take a snapshot of your explanation of benefits (that paper that says "this is not a bill"), the app will help you remove your personal info, and upload the document. That is why we are launching on the phone first.

</comment></comment><comment><USER2> What are the key features you would like to see next?

</comment><comment><USER6> Love the idea. Any plans for an android version?

<comment><USER2> One step at a time :-) Android will come but we had to make choices with our small budget. Thanks for your patience

</comment></comment><comment><USER7> why is it just a mobile app? why is there no web ui or a rest api?

<comment><USER2> See reply above from Julien. Data contribution is painful on the web and mobile is now becoming the primary internet access for most of us. For some of us, it is the only internet access device.

</comment></comment><comment><USER8> This app is really useful and I really like where it is going. Many people have come home to a medical bill that was more than expected. I myself know how that feels</comment>


AMD "Vega" Instruction Set Reference [pdf] - <AUTHOR> http://developer.amd.com/wordpress/media/2013/12/Vega_Shader_ISA_28July2017.pdf <comment><AUTHOR> There is a lot of discussion about GPGPU compute around here (between BTC Mining, High-performance Computing, Video Card Discussions, and Supercomputing topics...), but I thought it'd be a good idea to make a link to the low-level machine code architecture of one of these modern GPUs.

AMD Vega is AMD's newest video card, although it mostly works the same as AMD's previous "GCN" cards. The Vega ISA linked here is very similar to the GCN documentation AMD has published in previous years, except its been updated to include a slightly new format and includes the new instructions associated with the new graphics card.

The "CUDA" equivalent for NVidia is the NVidia PTX instruction set, but I personally haven't looked through that yet myself. In any case, an understanding of how the GPGPU works can give enlightenment to why GPUs are so good at certain tasks but bad at other tasks.

With regards to this "Vega" Instruction Set Reference, I recommend that beginners skim through the first 4 chapters, which are easier to read than you'd expect. This will give a good overview of how the GCN architecture is designed to work.</comment>


H1-B visas snapped up despite recession - <AUTHOR> http://www.businessweek.com/magazine/content/09_51/b4160076970050.htm

<comment><USER2> Typically, the visas get overbooked (sometimes, twice over - leading to the lottery system) on the first _day_. The fact that there are still opening months later points to a dramatic slowown

<comment><USER3> I totally agree. On April 2008, when my employer applied for an H1-B, there were about 190,000 applications within the first week. Considering that the available quota is 65,000, the odds of getting one were not very good.

The fact that there are 3500 positions not filled as of December 2009 cannot be interpreted in any way as employers stepping up foreign workers hiring.

</comment></comment><comment><USER4> _"The numbers are surprising, considering the state of the economy,"_

To who? Study after study has shown that H1-Bs are paid less. Sure, the state of the economy leads to local coders accepting less than before, but they still can't match the salary expectations of an Indian or Asian import.

If you're looking to cut budget, or grow cheaply, it's still to your financial advantage to seek H1-Bs.

<comment><USER5> _Study after study has shown that H1-Bs are paid less_

Do you have a source? A quick google finds one real study: [http://www.mygreencard.com/downloads/H1BWages_December2005.p...](http://www.mygreencard.com/downloads/H1BWages_December2005.pdf) that was done on data from 5 years ago and a lot of echo.

Personal experience suggests otherwise.

<comment><USER6> <http://www.cs.ucdavis.edu/~matloff/h1b.html>

<comment><USER5> Again, one study from 2003, and a lot of op-eds. I might just have to get creative with the data myself.

<comment><USER6> Why would you have reason to believe the situation has drastically reversed itself in merely 6 years?

I would be more inclined to believe those congressional reports than the anecdotal evidence you have.

</comment></comment></comment></comment></comment><comment><USER7> I've had nothing but problems hiring good people in good times and bad times. This doesn't surprise me at all. Finding good people is very hard.

<comment><USER8> I'm not surprised (at least for people trying to hire online) because I've never seen crappier job descriptions than those on the Web these days. Nobody leaves a phone#, they expect CV and won't answer the simplest preliminary questions by email. They ask for _outrageous_ qualifications for the stipulated wages and positions. Very slipshod descriptions of the work, next to no details about the company ... and most of their websites tell me that they're strictly amateurs. That describes 85-90% of what I'm seeing.

It's has to be harder finding someplace worth replying to, when they act like they don't really care, than it is to find good people. Very few who are advertising positions know how to pitch a job.</comment></comment>


Chromebook Pixel: Too Much, Too Soon - <AUTHOR> http://spectrum.ieee.org/tech-talk/computing/hardware/chromebook-pixel-too-much-too-soon

<comment><USER2> _> Google is becoming a hardware-as-well-as-software company, just as Apple has become a software-as-well-as-hardware company._

More like everyone's becoming a walled-garden ecosystem company.</comment>


Show HN: webmon.com - <AUTHOR> http://webmon.com/

<comment><USER2> This looks interesting but lacking in documentation and the support site is blank. I'm not sure what I would be signing up for. How does it work if you don't need to install something server-side?

<comment><AUTHOR> Support site is getting populated this week. I am also creating a demo account to allow users to test the service without signing up.

Webmon is external monitoring only and that's why there's no need for server- side installation.</comment></comment>


Advice for my ecommerce site? - <AUTHOR> http://www.creativemindstore.com <comment><USER2> If your drop shipping I would put that in a shipping section. Also, I personally wouldn't use supplier images.

[https://www.amazon.com/Towallmark-Dolphin-Ocean-Bathroom- Sti...](https://www.amazon.com/Towallmark-Dolphin-Ocean-Bathroom- Stickers/dp/B01FD60DUW/ref=sr_1_15?ie=UTF8&qid=1496258308&sr=8-15&keywords=3d+dolphins+stickers)

</comment><comment><USER3> Is there a particular problem that you're looking to solve for? The site looks clean and decent.</comment>


Is It Time for a Journal of Insignificant Results? - <AUTHOR> https://replicationnetwork.com/2017/03/24/menclova-is-it-time-for-a-journal-of-insignificant-results/ <comment><USER2> Well, there's always the long-extant Journal of Irreproducible Results[0].

[0] [http://www.jir.com/](http://www.jir.com/)</comment>


Ask HN: Help. What is good work and how do you make yourself qualified for it? - <AUTHOR>

I recently took a new job and I think I made a huge mistake. Previously I was working at a startup that tanked so I had to make a move but I really don't like the work at the new shop. The problem is this company is not really a web product or a tech company, more of a brick & mortar business that needs a strong web app to operate. I decided to work here because it's a good culture fit but I find I already miss working somewhere that thinks of itself as a tech company.
So I ask, early in your career how do you find meaningful work? And how do you make sure you are prepared to get those job offers? Recently I interviewed for a position that seemed awesome at a YC startup and didn't get the job because I stumbled over an algorithms problem so sometimes I question my technical qualifications. I have a liberal arts degree and was mostly a hobbyist programmer prior to 2 years ago. That said, I've never struggled to ship working code. I also code in my spare time and read a lot of technical books and articles in effort to catch up to the fact that I don't have a formal background in CS. I feel like my soft skills are great, I'm friendly, I'm a good communicator, I'm motivated to learn, I listen to my co-workers. I'm just not super experienced/an ace 10x engineer (though once again I do ship production code, strive to make it readable, write tests, learn about new technologies, go to meetups, and push myself to be a better developer at every opportunity!).
What are good things to look for in a workplace? Not physical traits like quiet space and the dev environment you need but what kind of work have you found that is a good day-to-day and gives you a chance to learn new things? Have you ever gotten over not having a strong technical background?
And am I being reasonable? Do I expect too much from work?
How have you found your best work experiences? Especially if you're someone without a CS degree.
FYI last couple things I'll say - I'm in NYC if that helps and one last thing about myself is that I have stubbornly walked the line between development and having an impact on UI/UX. Might that be a problem? I've really tried to strive to be someone who has a holistic impact as a developer in addition to being an effective programmer. <comment><USER2> Early in your career, there is a lot to learn. Being naturally curious and autodidactic seems like a necessary requirement, but having a good mentor can really supercharge how quickly you progress. A good mentor is someone very knowledgeable, hopefully 10x better than you at the things you want to learn, and also has a knack for teaching.

I am pretty early in my development career too, but I'd say that the most important thing is making sure you surround yourself with the smartest people that give you the best chance to get to your end goal. If you're interested in learning about TDD, go to a place that does TDD, and connect with people that do TDD. If you're interested in ember, hang out in the ember irc's, ping ember people, and try to build some small ember things out to the point where people can help you.

You need to decide your end game first, and then work backwards. As you interview and talk to people, you'll develop a set of deal breakers that conflict with your end game. Interviews are a two way street; you're filtering and interviewing them as much as they are you. If you want to see how current an employer's tech stack is, ask them what they're currently on, and the last things they've upgraded, how painful it was to upgrade. If you think you know more than their lead developer, then it's probably not a good place. Ask them about how their decisions get made, how projects get prioritized. Ask them questions to see how developer happiness plays into their priorities (e.g. I'd like to do some things in X which you guys don't use right now. How could we go about using X in a new project?).

There are a few beliefs you have that might be problematic. Programming and tech are tools at the end of the day, and are only one ingredient of many that end up creating a successful company. If you are looking for a tech focused company, look at the headcount breakdown (e.g. 10 people, 1 developer and 9 sales people vs 9 developers and 1 sales person). Even more troubling, you seem to think your liberal arts degree is a disadvantage, and that a bad interview means you might not have the chops to make it. First and foremost, interviewing is most definitely a skill that improves over time, and bad interviewers ask a lot of things unrelated to the job. Even really bright technical people botch interviews all the time. ([http://steve- yegge.blogspot.com/2008/03/get-that-job-at-goog...](http://steve- yegge.blogspot.com/2008/03/get-that-job-at-google.html)). Secondly, life is long, and you are hardly defined by some subject you chose to study for 4 years. You live in a time where top notch classes and books and online learning material are readily accessible and cheap or free.

From what you've written, sounds like you're looking for a full stack developer position. Apply to a bunch of places, and try to interview at places you don't care about first. Reach out to companies and people that may or may not be hiring to chat with you. Work through CLRS, work through a CS curriculum, pair with people, and put all your assignments up publicly. Then when people question you about your liberal arts degree, you can show them evidence that you have covered a lot of CS topics and have a lot of CS knowledge.

<comment><AUTHOR> Hey thanks a lot. That's really helpful.

It's not so much that I think my liberal arts degree is a disadvantage. I think it was a very valuable educational experience, and I studied research psychology which a lot of UX literature cites, so I think in some ways it is a great degree for the industry. But sometimes people question whether it's a good background for a developer.</comment></comment>


QEMU 1.4.0 released with 95% of native IO performance - <AUTHOR> http://permalink.gmane.org/gmane.comp.emulators.qemu/194776 <comment><USER2> Why not link directly to the actual announcement?

<http://permalink.gmane.org/gmane.comp.emulators.qemu/194776>

<comment><USER3> And the full changelog here:

<http://wiki.qemu.org/ChangeLog/1.4>

Interesting gems there like more support for Mac OS X PPC guest OS's, and details on the block device changes.

</comment></comment><comment><USER4> Does this point the way for better disk performance for potentially all VM software? VirtualBox and Xen sure leave me cold when it comes to I/O. (Disclaimer: I haven't tried the alternatives, so I'm not really calling them out specifically.)

<comment><USER5> This is ultimately about scalability. To achieve this kind of IOP rate, you need to be able to scale very large guests very well. KVM has always been exceptionally good at this and QEMU was really the bottle neck. We've now overcome this problem in QEMU (at least for block performance).

KVM is able to achieve this level of scalability because it leverages Linux which is already very good at scaling to large systems. I wouldn't expect this kind of scalability from other hypervisors any time soon.

<comment> shawn-butler Not just Linux. This announcement makes SmartOS even that much more attractive an option?

<comment><USER6> For anyone who needs background on this-

SmartOS: virtualization with ZFS and KVM <https://lwn.net/Articles/459754/>

</comment></comment></comment></comment><comment><USER7> If anybody has simple and beautiful :) use cases of QEMU please share. I used it to run Debian Squeeze MIPS images, so that I could have gcc output in MIPS assembly.

<comment><USER8> We are testing [0] our Sparc v8 compiler backend. Apparently, a 3GHz i7 core emulating Sparc is significantly faster than an FPGA synthesized Sparc.

[0] <http://pp.info.uni-karlsruhe.de/git/firm-testsuite/>

<comment><USER9> Schedule change. Today's project is to see is qemu running a big endian PPC delivers acceptable performance for testing software in a bigendian environment. I could retire an old Mac Mini PPC running Debian.

<comment><USER10> Good idea might try that too...

</comment></comment></comment></comment><comment><USER11> Do I understand this correctly? Windows in Quemu will feel as fast as installed directly?

If thats the case, I would buy a windows 8 CD just to play around with it without having to leave Debian. Will Windows 8 run in Qemu?

Does this latest Qemu run under Debian 6?

<comment><USER12> This isn't just the fact as of this release. Xen is based on Qemu which can run e.g. Win7 paravirtualized on the same machine obtaining complete gfx or othe pci(-e) devices and run almost full speed. I am curious about the impact now that it is even faster.

<comment><USER13> Is that really paravirtualization? How does Xen run a binary OS as paravirtualized?

<comment><USER14> I think you're right and the guy you replied to misspoke. Xen running Windows is called HVM which seems to be distinct from paravirtualization.

</comment></comment></comment></comment><comment><USER15> I'm a bit skeptical of the purported 95% of native IO performance. Especially, as in the mailing list thread, the maintainer claimed that it should already have been 95% on local storage, but that this latest version makes that applicable to large storage arrays as well.

[https://plus.google.com/101344524535025574253/posts/Dbu4e6ff...](https://plus.google.com/101344524535025574253/posts/Dbu4e6ffUED)

It will be very interesting to see the benchmark configurations and results.

</comment><comment><USER16> Does that means Android emulator is going to be usable now?

<comment><USER17> The x86 android emulator with the intel HAX thing isn't too bad, already.

</comment></comment><comment><USER18> Does this performance apply to using x86 apps on ARM devices, in Linux?

</comment><comment><USER19> Works great, played around with plan9 on it.

</comment><comment><USER20> Is this with visualization extensions?

</comment><comment><USER21> Request: binaries for download.

<comment><USER22> Qemu is ridiculously easy to compile on every Linux. Really. Just git clone, ./configure && make. The number of dependencies is tiny.

It's also available in every Linux & *BSD distro of significance as a binary.

It's also pretty easy to compile on Windows, although of course Windows lacks a compiler out of the box, but that's entirely the fault of Windows.

<comment><USER21> At risk of nit-picking, I have a OS X and no default compiler.

</comment></comment></comment><comment><USER23> Although something tells me I won't be able to play games in W8 under QUEMU right?</comment>


Your Optimal Creativity Time May Be the Opposite of Your Optimal Cognitive Time - <AUTHOR> http://www.thepassivevoice.com/12/2012/your-optimal-creativity-time-may-be-the-opposite-of-your-optimal-cognitive-time/?buffer_share=62609

<comment><USER2> Full link to paper is here: [http://www.tandfonline.com/doi/full/10.1080/13546783.2011.62...](http://www.tandfonline.com/doi/full/10.1080/13546783.2011.625663)

If you want to do the MEQ (morningness/eveningness) questionnaire they gave to their students, a copy is here:

[http://www.fileden.com/files/2008/10/6/2131219/ModifiedMEQ-S...](http://www.fileden.com/files/2008/10/6/2131219/ModifiedMEQ- SA-Terman.pdf)

As a self-identified evening person, usually I reserve mornings for phone calls, emails and banging out TODO list (e.g. acting on decisions already made).

If I'm to believe this study, I should perhaps try more "big picture" thinking in the mornings rather than at midnight...

</comment><comment><USER3> I'd like to see some researchers in the field of psychology and physiology take these existing theories and knowledge of human body and begin to see if we can measure in daily life.

If we had a tool that would let us know when we were most productive to do certain tasks we could prioritize tasks accordingly. We'd greatly improve efficiency in our tasks by doing them at times that are reported to be most effect by the tool.

It's ambitious and very broad, but if we're going into the realm of monitoring our appliances, cars, schools, etc why not try to monitor and utilize that data to make ourselves more effective?</comment>


How a Raccoon Became an Aardvark - <AUTHOR> http://www.newyorker.com/online/blogs/elements/2014/05/how-a-raccoon-became-an-aardvark.html <comment><USER2> The article claims this is an example of a falsehood starting on Wikipedia, percolating to external sources, then perpetuating on Wikipedia because it's in those external sources. That's interesting.

But what's _more_ interesting is that this may be an entirely different case: a falsehood starts on Wikipedia, percolates to external sources, and then _becomes true because it is pervasive_. Then it remains on Wikipedia because it _is_ true. And that's only possible because informal names can be adopted, and hey, that thing _does_ look like an aardvark. Nick names are sticky like that.

Of course, I don't know if this is the case. But I don't think this article acknowledges it as a possibility - and nor do I know enough about the informal names of this kind of raccoon.

<comment><USER3> Actually, the final paragraph of the article directly addresses this point:

"Taxonomically speaking, this is unfortunate. The coati has no more relation to an aardvark than to any other vertebrate, so the name is misleading. But language, unlike taxonomy, is particularly susceptible to Wikiality. The nickname began because Breves wanted to retroactively prove that he had seen some kind of aardvark at Iguazu Falls. He was more successful than he ever could have imagined. Search YouTube for "coatis at Iguaçu Falls," and you'll get an amateur video, posted by someone Breves has never met, titled "Coati - (Brazilian aardvark) at Iguaçu Falls, Argentina." Breves made his own reality, and, thanks to Wikipedia, we've all accepted it."

<comment><USER4> Pedantic clarification: Argentina spells it "Iguazú" not "Iguaçu", since you're talking about the Argentine side of the falls. Spanish vs. Portuguese.

</comment></comment></comment><comment><USER5> In the German Wikipedia in 2009 one joker added "Wilhelm" inside of the name of the politician Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Freiherr von und zu Guttenberg.

He did it exactly at the time it became newsworthy to introduce him to the readers, so the media took it and the wikipeida entry feedback loop (the citation was there, it was written in the news!) was extremely fast. Some writers even claimed that the name that includes "Wilhelm" the politician told them directly. They lied, of course. Practically nobody fact checked.

[http://www.bildblog.de/5704/wie-ich-freiherr-von- guttenberg-...](http://www.bildblog.de/5704/wie-ich-freiherr-von-guttenberg- zu-wilhelm-machte/)

</comment><comment><USER6> So what. At least with The Internet, Google and Wikipedia, we can see this happening. I would bet money the same sort of thing happened in 1880, the Golden Age of Authority. Some intern at Encyclopedia Britainica slipped in a minor edit, The Time cited it, and then (10 years later) E.B. cites The Times to "prove" the "truth" of the minor edit.

This has the stench of old line, mainstream media getting upset about The Internet. Too bad it's so late in the process of demolishing old line, mainstream media, and that it's so level-headed. We could use some Moral Panic to leaven the day.

<comment><USER7> This is too pat a dismissal – it's intellectually akin to the way "all bugs are shallow" aphorism which is pithy, optimistic and wrong.

While in theory Wikipedia becomes more correct over time, it's not a given and there are many articles which never receive enough expert attention to catch non-flagrant errors. Wikipedia also has the unique problem that it can become less correct over time, whether due to error or deliberate attempts to subvert it for amusement, political or religious reasons, etc. You can verify an article for correctness – itself an uncommon and involved process – and link to it, only to have someone introduce an error by the time your reader visits the page.

It's almost certainly still the case that Wikipedia gets corrected faster than the older review processes but it's not clear that the error rates are as dramatically different as you suggest or that the future for Wikipedia is as uniformly rosy as you assume. Wikipedia might continue to improve or it might fall apart as the hostile culture continues to scare away editors at the same time as it comes under increasingly sophisticated attacks. Subject matter experts often have conflicting time demands and aren't paid to improve Wikipedia while marketers, political operatives, etc. actually can make it their official job.

<comment><USER8> Note that you can permalink to every version of a Wikipedia article using the history tab, e.g. the first version of the Hacker News article [1].

There's also flagged revisions which allows users to 'flag' a revision as the 'accepted' version [2].

[1] [https://en.wikipedia.org/w/index.php?title=Hacker_News&oldid...](https://en.wikipedia.org/w/index.php?title=Hacker_News&oldid=286705401) [2] [https://en.wikipedia.org/wiki/Wikipedia:Pending_changes](https://en.wikipedia.org/wiki/Wikipedia:Pending_changes)

<comment><USER9> This mechanism actually sounds like it could solve this problem. By making it policy that citations used in periodicals must link to these versioned pages, there is at least a traceable record about when something cited incorrect information.

I could also see this being a service to inform authors when their citations have been invalidated. A truthiness score of an article or blog post could be based on citation accuracy and could be assessed by a third party that specializes in fact checking, but initially it could be done by measuring when a particular like in a Wikipedia article has changed and whether or not that change affects the meaning.

<comment> vertex-four Wikipedia has a page explaining how to cite Wikipedia according to various styles[0]. Additionally, when clicking "cite this page" in the sidebar of an article, all links use oldid= fields. (MLA citation is an outlier, as it doesn't link to anything.)

[0] [http://en.wikipedia.org/wiki/Wikipedia:Citing_Wikipedia](http://en.wikipedia.org/wiki/Wikipedia:Citing_Wikipedia)

</comment></comment></comment></comment></comment><comment><USER10> I once edited the Wikipedia entry for "boma" to add that the word (which in much of Anglophone East Africa denotes the seat of a district administration) derives from the acronym British Overseas Management Administration. I did so after having seen this acronym listed in numerous government and NGO-issued reports in Malawi, so theoretically I'd have been able to add citations to back me up.

It turned out that this etymology is a popular myth believed by foreigners traveling in the region, some of whom must have acted as consultants for local government and civil society organizations and written their "knowledge" into official publications in this capacity. Nobody edited their dead tree reports to rectify their fallacy, but on Wikipedia somebody jumped in: [https://en.wikipedia.org/wiki/Boma_(enclosure)#Etymology_and...](https://en.wikipedia.org/wiki/Boma_\(enclosure\)#Etymology_and_acronym_debunking)

</comment><comment><USER11> It certainly exposes a flaw in Wikipedia, but perhaps not the expected one. Namely, it's not so much that anyone can edit the encyclopaedia and introduce false information, but that Wikipedia's faith in "Reliable Sources" like newspapers, magazines, and other forms of big media, is so entirely misplaced.

Evidently you can't trust "proper journalism" to actually be true or correct, since many/most articles are written by untrained, unskilled, or uninterested staffers blindly re-writing whatever they can find on Google. And that is perhaps the most concerning aspect of all.

<comment><USER12> The flaw isn't so much that they trust those sources, because then which sources can they trust at all? The problem is that they treat all sources equally, and that once a few non-reputable sources cite something as fact, it will be hard to remove the entry from Wikipedia even if a few other, more reputable sources, gainsay the same. The 'rules' of Wikipedia are such that if you can get some consensus, even if that consensus is among a minority of disreputable sources, then you have a claim to the truth even if the entire world outside that consensus loudly proclaims the opposite.

And, if some idiot Wikipedia admin (but perhaps I'm repeating myself here) decides to stake his reputation on this falsehood, _you are fucked_. The falsehood may as well be written in stone at that point, as far as Wikipedia is concerned (cf Jimmy Wales birthday).

</comment></comment><comment><USER13> Obligatory: Citogenesis XKCD [http://xkcd.com/978/](http://xkcd.com/978/)

<comment><USER14> Ladies and dudes, there's a solution:

[http://www.everytopicintheuniverseexceptchickens.com/](http://www.everytopicintheuniverseexceptchickens.com/)

</comment></comment><comment><USER15> I'm not familiar with the Wikipedia cite policy, but wouldn't this problem be relatively easy to solve by requiring citations from _before_ the fact was added?

Granted, there might be some edge cases (like when a Wikipedian was very fast in adding the fact after it became known) but that would seem to stop the feedback loop dead in its tracks.

<comment><USER16> Wouldn't work. You'd need to find the first occurrence of the fact on Wikipedia. One example exploit (though there are others):

1\. On Day Zero, write a falsehood into a Wikipedia article.

2\. Wait for the falsehood to become popular through the process described in this HN story.

3\. Delete the falsehood while performing other edits.

4\. Wait a few days, making other edits.

5\. Add the falsehood. Citations will all precede the day that the fact is added.

To detect this, you'd have to scan all past history for the falsehood for the _first occurrence that precedes all citations_, not an easy task.

If you decide to add a falsehood into a related article, then that complicates matters further. For instance, I once removed a 'fact' that Indira Gandhi (once Prime Minister of India) was named Gandhi for PR reasons. This was in an article on her husband Feroze Gandhi.

<comment><USER17> And it doesn't even need to be that elaborate. Wikipedia can be exploited recursively, i.e., by making up the same "fact" on two related pages, then linking to each other. If timed correctly, this can work for quite awhile before anyone unravels it.

Another tactic is to cite existing external sources as proof of a new "fact." If an article about, say, bananas has a few citations about the nutritional content of a banana, you can use one of those existing sources to cite the "fact" that bananas are descended from potatoes. Editors and bots usually won't question the authority of an existing source. It can be stretched and extended, like an umbrella, to vouch for new statements and information.

</comment></comment></comment><comment><USER18> For well over three years, the Wikipedia article for Wildebeest stated the plural was Wildebai: [http://en.wikipedia.org/w/index.php?title=Wildebeest&diff=48...](http://en.wikipedia.org/w/index.php?title=Wildebeest&diff=484564451&oldid=484343564)

Of course this was false, but it took well over three years for a correction. In the meantime, many other sources still refer to the plural as Wildebai:

[https://www.google.com/search?q=wildebai](https://www.google.com/search?q=wildebai)

<comment><USER19> I don't think your final link justifies your claim - those 8,800 results compare to 441,000 for "wildebeests", 25,700 for "wildebeasts" (a simple typo), or 9,090 for the totally niche joke wildebeets. (Wild beets)

And the 8,800 results aren't people using them in sentences (search "wildebai are" or "wildebai have" or "several wildebai" or any other search with quote marks and a good candidate for being a real sentence.)

I could personally find only a single page from 2009 that uses that - which is far fewer pages than just about any misspelling however absurd.

</comment></comment><comment><USER20> > "Taxonomically speaking, this is unfortunate. The coati has no more relation > to an aardvark than to any other vertebrate,"

Being mammals, surely they are more closely related to aardvarks than they are to sparrows, carp, asps and axolotls.

Being placental mammals, they are more closely related to aardvarks than they are to kangaroos.

Looking into it further, Wikipedia claims that they are both Epitherians, which makes them more closely related to one another than to armadillos.

<comment><USER21> It seems a little funny to cite Wikipedia in a conversation about how Wikipedia is not always a reliable resource.

</comment></comment><comment><USER22> When this happens in dictionaries it's called a "ghost word" and dates back to the 1800's. Here's the wikipedia page on the topic [http://en.wikipedia.org/wiki/Ghost_word](http://en.wikipedia.org/wiki/Ghost_word)

</comment><comment><USER23> I once changed facts on wikipedia.

We worked for a smartphone maker back when they were new, and we had smartphones and GPRS.

So when we did a treasure hunt for team building, where there was multiple- choice questions hidden in a forest, every team thought themselves clever by searching for the answers on the still-young wikipedia.

But my team was cleverer: we were _editing_ wikipedia.

There were a lot of confused low-scoring teams after us... :)

<comment><USER24> _But my team was cleverer: we were editing wikipedia._

Speaking as a game programmer: The thing about computer moderated games, is that they foster the idea that, "If the system allows it, it's alright." There are entire national banking systems that have fallen under such attitudes.

(Sometimes you just have to get real and handle dice and cards on a table top.)

<comment><USER23> We did revert the edits after.

I agree with your "this is why you can't have nice things" sentiment, but sadly I think the petty and the vandals and the cranks will always do it, and us techies have to design in protection as default :(

<comment><USER24> _" this is why you can't have nice things" sentiment_

This is why _we_ can't have nice things. It's also the solution to the Fermi paradox. The aliens have been watching.

</comment></comment></comment></comment><comment> m-app For the lazy curious, the offending commit: [http://en.wikipedia.org/w/index.php?title=Coati&diff=2251408...](http://en.wikipedia.org/w/index.php?title=Coati&diff=225140818&oldid=224679361)

</comment><comment><USER4> How did the guy think they were aardvarkish anyways? I've been to Iguazu. They behave just like raccoons only even _more_ fearless. From the moment I got there we thought of them as "daylight raccoons".

</comment><comment><USER25> 10 years or so ago, a friend and I created a person with a pretty distinctive name and started peppering him throughout obscure wikipedia articles. I just tried googling the name, this article reminding me of it, and sure enough, the name has spread to many many more sites. I guess I'm now a part of history (the name was done as an analog of my own).

</comment><comment><USER26> I was once asked in a deposition if, in my opinion, was Wikipedia an authoritative source. Which I replied, "No, it is not." When asked how I came to that conclusion, I cited the 'birthday incident' and how Wikipedia rigidly held on to a non-fact as fact given its process. This really annoyed the opposing counsel who had submitted a number of Wikipedia pages as exhibits in support of their case.

I could not imagine that someone who was being paid top dollar for their services wouldn't do their own research. Wikipedia is a great place to get pointers to where people have found things but other than that, one really has to be careful acting on or drawing conclusions from the information it contains on any given day.

</comment><comment><USER27> I wonder, isn't there some kind of way to measure "effective citations"? In biology, if you look at population size, there's the population measured in absolute number of organisms, and the population measured in genetic diversity[0][1]. For citations I can imagine measuring the number of citations from primary sources, and everything else just being citations to citations to... etc, including circular citations.

[0] [http://en.wikipedia.org/wiki/Population_size](http://en.wikipedia.org/wiki/Population_size)

[1] [http://en.wikipedia.org/wiki/Effective_population_size](http://en.wikipedia.org/wiki/Effective_population_size)

<comment><USER28> There is a scholarly field occupied with the concept of citation and reference. It is called bibliometrics. The tl:dr is that citations are a very complex social phenomenon, which is difficult to describe fully even in the semi structured confinements of scientific literature. Both technical and, even more pressing, theoretical developments are needed before measuring "effective" citations could become anywhere near feasible.

<comment><USER27> Interesting, thank you!

</comment></comment></comment><comment><USER29> Its not only Wikipedia that is vulnerable to this sort of proliferation of misinformation. In the developer community there are many myths that become canon simply because they sound plausible and are repeated often enough.

I am a user of Go, and when I go to Go meetups I often hear people say, Go is faster than Java, because Go is compiled. This is definitely not the case in all cases ... and may not even be the case for most cases. But it is repeated as truth, because programmers think compiled binaries must be faster than bytecode run through a VM ... it just sounds so plausible. Never mind the real benchmark numbers.

(I still use Go, even if its slower sometimes, because Java can blow me.)

<comment><USER30> That is a completely different phenomena. In your case something sounds plausible so people repeat it. in the Wikipedia case the phenomena happened because people essentially quote wikipedia, thus giving wikipedia citations to back up the fact. Now, if you are believing benchmark numbers...

</comment></comment><comment><USER31> Slightly related and because it has intrigued me since I read the paper I thought people may find IBMs "History Flow" project interesting?

The Project no longer appears to be documented on IBM site but the Wikipedia article has everything you need - including that lovely daily slice of (soft) irony. I prefer my irony hard, but what are you going to do.

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

</comment><comment><USER32> Interesting to see the authoritative power of Wikipedia and the sometimes lack of fact-checking from even reputable sources. I wonder to what extent experts believe (e.g., % of articles?) there may be such errors in Wikipedia, and what % of them get translated into reality.

Just thinking about how much fact checking I should commit myself to before now citing anything from the Internet.

</comment><comment><USER33> And yet I couldn't get the moderators to acknowledge the existence of New Mexican/South Western Chili.

<comment><USER6> This is an ongoing problem. I live in Denver, Colorado, which Wikipedia says has the most Mexican restaurants per capita of any major metropolitan area. There's a small chain called "Little Anita's". People argue over whether there's a New Mexico version of Mexican or not, with respect to Little Anita's (I'm on the "yes, there is New Mexico Mexican" side). Bring me some sopapillas!

</comment></comment><comment><USER34> To be fair, it's not like the statement "called the Brazilian aardvark" is not true. If it looks like an Aardvark and someone calls it that, then it is called the Brazilian Aardvark. There are many species of animals which are misnamed with regards to their taxonomy.

<comment><USER7> In standard usage you would only say it is called something if that were commonly used by many people. We don't update the encyclopedia every time the crank at your local coffee-shop comes up with a new pet phrase.

<comment><USER34> True, but there is nothing "wrong" with a fact like that proliferating, since it doesn't hurt scientific knowledge and people clearly like the name.

<comment><USER35> Well, I've seen cats, dogs, shoes, streets, articles of clothing and abstracts concepts being called a "kajigger", but I'm not going to update the Wikipedia entry on felis catus to say "also known as kajigger". That would just be kajigger.

</comment></comment></comment></comment><comment><USER36> Relevant Colbert Word of the Day: [http://thecolbertreport.cc.com/videos/z1aahs/the-word--- wiki...](http://thecolbertreport.cc.com/videos/z1aahs/the-word---wikiality)

</comment><comment><USER37> The article links to a wikipedia article about the circular reporting phenomenon, and I'm pleased to see that someone has added "vicious aardvark" as another name for circular reporting.

Brilliant.

<comment><USER37> [http://en.wikipedia.org/wiki/Circular_reporting](http://en.wikipedia.org/wiki/Circular_reporting) Diff: [http://en.wikipedia.org/w/index.php?title=Circular_reporting...](http://en.wikipedia.org/w/index.php?title=Circular_reporting&diff=609388736&oldid=609383693)

</comment></comment><comment><USER38> Its going to take some time but I think we will figure this out. Within 5-10 years we will have learned to use Wikipedia and similar sources correctly. (I am an eternal optimist!)

<comment><USER39> That's what I said in 2004 [citation needed]

</comment></comment><comment><USER40> Coatis are adorable! [http://www.youtube.com/watch?v=p3dVCdaRkA0](http://www.youtube.com/watch?v=p3dVCdaRkA0)

</comment><comment><USER41> This seems obvious but sources should only be valid if they predate the claim.

</comment><comment><USER42> How is this different from any other common name? Somebody made it up.

</comment><comment><USER43> It seems to me the problem is that people think there even exists such a thing as an authoritative source.

<comment><USER44> Really? What if we were debating where nollidge was born and where he went to school. Would you not be an authoritative source of information on these subjects?

<comment><USER45> Not really. According to Wikipedia you are not an authoritative source on yourself, e.g. Philip Roth <[http://www.huffingtonpost.com/2012/09/07/philip- roth-wikiped...](http://www.huffingtonpost.com/2012/09/07/philip-roth- wikipedia-_n_1865861.html>) and <[https://en.wikipedia.org/wiki/Wikipedia:BLPSPS>](https://en.wikipedia.org/wiki/Wikipedia:BLPSPS>)

<comment><USER44> I know. But Wikipedia's rules about authority only have bearing within their universe, and no bearing upon what is actually authoritative. Are you really saying that you are "not really" an authority about what you had for breakfast because Wikipedia wouldn't allow you to claim to be one?

<comment><USER46> IIRC, one of the first public Wikipedia "scandals" involved a guy who was irate because his Wikipedia entry was wrong and he was told he wasn't allowed to edit it. Cue much hemming and hawing.

Only the "wrong" was that it included "director" among a long list of accomplishments, on account of he had directed a film. The guy's beef was that he didn't like the film and didn't want to be noted for it, and he demanded sole authority over his own historical record.

Sometimes there are good reasons to not let people edit their own articles. Sometimes there aren't. But you need some sort of coherent policy.</comment></comment></comment></comment></comment>


Kkrieger - <AUTHOR> https://en.wikipedia.org/wiki/.kkrieger <comment><USER2> One of the authors talks about optimizing .kkrieger's size here: [https://fgiesen.wordpress.com/2012/04/08/metaprogramming- for...](https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-madmen/)

 _So for our shared entertainment value, here's the full list of things (so far as I know) he didn't trigger during his trial run, which subsequently got compiled out of the released version:_

 _\- We used shadow volumes; there was a shadowing path for one-sided stencil cards (two passes) or two-sided stencil cards (one pass). The card we were recording on (a GeForce4 Ti) had two-sided stencil, so the one-sided stencil code didn't make it into the released version. Oops. (This one had nothing to do with "user error" during the trial run)._

 _\- In the menu at the start, cursor-down works, but cursor-up doesn't (he never hit cursor-up in menus during the test run)._

 _\- The small enemies at the start can hit you, but he didn't get hit by any enemy shots, so in the released version of .kkrieger enemy shots deal no damage._

 _\- Part of the collision resolution code disappeared, since it was never used in the trial run._

<comment><AUTHOR> That's a very interesting article. Especially the part about Lekktor.</comment></comment>


A New Metal Foam Is as Bulletproof as Heavy Steel Armor, Researchers Say - <AUTHOR> https://gizmodo.com/a-new-metal-foam-is-as-bulletproof-as-heavy-steel-armor-1835295929 <comment><USER2> This sounds similar to the kind of armour employed by the International Space Station. The basic principle is to use a thin and hard layer to fragment the projectile, then a soft interstitial layer to absorb the energy of the resulting high velocity particles over a wider area, before stopping them and absorbing the momentum with a baseplate.

A lot of the article's speculation about use is silly (smartphones?), because the technology relies on being thick, in order for the fragmentation particles to disperse. This makes the most sense for use in spacecraft and maybe military aircraft where weight is costly and volume is not. In military scenarios you don't just have to worry about high velocity, but high momentum. Projectiles are often designed to be penetrating, and explosive reactive armour is much more effective against this.

</comment><comment><USER3> With all the secrecy surrounding composite armor, I wouldn't be surprised if this stuff is being used already.

</comment><comment><USER4> It's not as ground-breaking as the 'foam' in the title implies though:

> a panel of armor made from rolled steel with the same stopping power would > weigh at least twice as much as the composite armor tested in this study

<comment><USER5> On the scale of tanks or battleships, it is significant.

<comment><USER6> Is this technology useful for tank armor?

</comment></comment></comment><comment><USER7> This reminds me of Paul Harrell's "High Tech" fleece bullet stop. It's just some folded up fleece blankets. He uses it in his ammo reviews.

See, for example, [https://youtu.be/hVfStJS5XQw](https://youtu.be/hVfStJS5XQw) around the 4:40 mark.

<comment><USER8> The 14 minute mark appears to be the end credits.

<comment><USER7> You're right. I corrected it. Thanks.

</comment></comment></comment><comment><USER9> They really lose the plot at the end with steel foam armour plated smartphones. It is Gizmodo though.

</comment><comment><USER10> Is this the first step towards outrageously oversized Anime-esque battle armour?

</comment><comment><USER11> Composites have been around for a bit but they trade weight for volume. . Dies this improve that tradeoff?</comment>