Round error issue - produce money for free on itBit bitcoin exchange - <AUTHOR> https://hackerone.com/reports/176461 <comment><USER2> Disclosure: I'm CTO of BitMEX, a Bitcoin derivatives exchange built on kdb+/q. We don't compete directly with itBit or any of the exchanges I mention below (we don't do spot trading, they don't do derivatives) but we are in a similar space.

Audits matter. Your books should always sum zero. Time and time again, we've seen bugs like this across the space: there was the infamous Bitcoinica "infinite leverage" bug [1], a rounding error in another's order sizes, and it's theorized that a similar bug was leveraged in the downfall of MtGox to create virtually infinite balances and use it to buy Bitcoin up to $1000 in 2013.

Whether it's in your engine or outside of it, whether it's a Bitcoin product or any other financial product, make sure there is something - somewhere - that is regularly summing up all accounts and ensuring that every cent or satoshi is accounted for.

We run such a system at every execution. If the system doesn't sum zero, we shut down. It's happened three times in two and a half years, each time due to tiny mathematical errors in our liquidation process, each time for less than 10,000 satoshis (~$0.10). We sleep much better at night knowing it's there.

Audits would catch the error caused by float math. And of course, don't do float math.

1\. I can't find the original reference to it, but it was originally possible to simply edit the DOM to submit any leverage amount you pleased (such as 100,000x; never trust the client!) and then run your account massively into profit - or bankruptcy.

<comment><USER3> Why would you ever use floats for finance?

That's like the industry that epitomizes the usecase for fixed point!

<comment><USER4> It seems logical if you don't understand how floating points work under the hood.

</comment></comment></comment><comment><USER5> Those that do not understand why floating point math has no place in the world of money are doomed to repeat this mistake. Over and over and over ...

The snippet of what I presume is their API response is interesting:

         {"currencyCode":"XBT","balance":100000.00000008,"available":100000.00000008,"onDeposit":0}

The amount fields are JSON numbers. That's fine for integers up to 2^52[1] but can have issues with floating point math. They'd be better off representing everything as satoshis and doing integer math on everything.

I bet their entire system is based on floating point math. Tisk tisk ...

[1]: _Yes probably not an issue unless your Bill Gates and convert your networth to Zimbabwean dollars..._

<comment><USER6> As someone who is trying to get deterministic simulations relying on floats - the idea to use floats for money boggles my mind. Having a simple addition give the exact same thing on different machines - bit for bit - is already causing headaches.

<comment><USER7> That's odd. IEEE 754 requires that basic operations produce the closest possible result to the exact answer. (Those operations are simple arithmetic, square roots, remainders, rounding, and various format conversions.) As long as the rounding mode is the same on all machines, they should all give identical results for something like addition unless you're using hardware that doesn't do IEEE 754.

You will, of course, run into huge trouble if you perform more complex operations. All bets are off once you start doing things like trigonometry or logarithms, unless you implement it yourself.

<comment><USER6> Even if you only have 2 additions in a row, the following things cause problems: Rounding mode, distributivity (or rather, lack thereof), intermediate precision, compiler optimisation, denormals, real IEEE754 conformity of the platform... The list goes on.

</comment></comment></comment></comment><comment><USER7> Sounds like someone used floating point to store currency. Bad idea, unless it's part of a macroeconomics model or something.

<comment><USER8> This is why when doing currency, you store in the lowest denomination possible and use whole number (if doing dollars, store cents in integers)

<comment><USER9> That does not solve the problem in general, you still may end up with fractional quantities if you, for example, calculate a 1% fee. The correct way to do it is to use a decimal floating point format AND carefully pay attention to rounding.

Also note the the way you round usually depends on the context, for some calculations you want to round up, for some down, and for some in yet another way. So you perform explicit rounding with an explicit rounding mode everywhere it is required and don't assume that implicit rounding or the default rounding mode will do the right thing because they won't in general.

EDIT: To expand a bit on the context. If you, for example, charge a percentage fee you can choose between rounding up getting at least the fee you are asking for or rounding down not charging the customer more than you are asking for. Or you can try to be less biased and round either up or down depending on the fractional part. This may still require tie-breaking, either in a direction of your choice, or randomized, or by some rule like round half to even. Different choices will obviously have different biases.

While this may almost seem somewhat pedantic, such things have been exploited, see for example »Computer Capers: Tales of Electronic Thievery, Embezzlement & Fraud«. [1][2] Also note that there may be even legal regulations prescribing how you can and can not round, for example between the Euro and the replaced national currencies. [3] I also have some faint memories of a case against someone systematically exploiting rounding errors but I can not come up with a reference and may even misremember this.

[1] [http://www.snopes.com/business/bank/salami.asp](http://www.snopes.com/business/bank/salami.asp)

[2] [https://www.amazon.com/Computer-Capers-Electronic- Thievery-E...](https://www.amazon.com/Computer-Capers-Electronic-Thievery- Embezzlement/dp/069001743X)

[3] [http://www.sysmod.com/eurofaq.htm#ROUNDING](http://www.sysmod.com/eurofaq.htm#ROUNDING)

<comment><USER10> That is _not_ the correct way. The correct way is to use fxed-decimal math, and pay careful attention to rounding.

No floats. Not even once.

<comment><USER9> _No floats. Not even once._

Do you mean no _decimal_ floating point numbers or did you misread my comment as advocating _binary_ floating point numbers plus careful rounding?

Fixed point decimal numbers are of course also okay, it just changes what you have to pay attention to. And often fixed point decimal numbers are in some sense secretly floating point decimal numbers, they just do not automatically adjust the decimal point [1] but require doing so explicitly.

And this may of course be useful because you will run into an overflow and not accidentally lose precision when numbers become large. On the other hand you may lose precision if numbers become small and you only have a fixed precision.

[1] I am not sure what the important factor is for calling a number type fixed point or floating point. Is it the ability to move the decimal point around or is it doing so automatically?

<comment><USER10> Ah, sounds like a terminology issue. Sorry if this get pedantic, but I wanted a solid response for anyone who stumbles on this thread down the road.

Fixed-point is a way of doing math, as well as a data representation. Think of it as keeping a very large integer, plus another int that represents where the decimal place should go. Hell, you can even think of it as a string of numbers and an optional '.', removing the issue of overflow as well.

When you do fixed-point math, you have to be explicit about rounding and precision changes, or set a default way to handle those situations. When two numbers are added, do we inherit the precision of the more or less precise number? What about division, where we run into necessarily repeating decimals?

Floating point math, on the other hand, uses a mantissa and necessarily loses precision. As a floating point number is an approximation from 0 to infinity using a fixed number of bits (often 32, 64, 128), there are a ton of amounts that it can't exactly represent. But that's not an acceptable situation in finance- we don't need infinity, but we do need countability within a range with some minimum step size.

An example- let's say we're adding amounts of bitcoin in Python

      > 1000.1234 + 1000.1234
      20000.2468
      > 10000.1234 * 3
      30000.3702

Looks good, but now we have a whale, a high frequency trader, or some HackerOne bounty hunter with API access

      > 10000.1234 * 50
      500006.17000000004

That calculation, at face value, just created .00000000004 bitcoin out of thin air. That's less than a satoshi, but if you keep going with a strategy like this on an automated platform, you can turn it into real money.

Instead, you want to use fixed-point.

      > from decimal import Decimal
      > Decimal('1000.1234') * Decimal('50')
      Decimal('50006.1700')

Note in this case the precision was expanded to the most precise in multiplication, and no money was created out of thin air.

You can also set precision explicitly (`Decimal('1000.1234').quantize('0.00000001')`), handle rounding per operation or across calculations, etc.

</comment></comment></comment></comment></comment></comment><comment><USER11> Reminds me of the penny shaving plot in Office Space.

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

</comment><comment><USER12> All I get from that site, with some ad blocking on Firefox 51, is:

        11:34:40.979 SecurityError: The operation is insecure. 1 frontend.fe083880.js:15
    	e.exports<.initialize https://hackerone.com/assets/frontend.fe083880.js:15:31757
    	t.Model https://hackerone.com/assets/vendor.b247925b.js:31:4648
    	e.exports<.constructor https://hackerone.com/assets/frontend.fe083880.js:2:20109
    	q/r< https://hackerone.com/assets/vendor.b247925b.js:31:22455
    	<anonymous> https://hackerone.com/assets/frontend.fe083880.js:19:31012
    	t https://hackerone.com/assets/vendor.b247925b.js:1:96
    	n https://hackerone.com/assets/frontend.fe083880.js:26:14283
    	forEach self-hosted
    	<anonymous> https://hackerone.com/assets/frontend.fe083880.js:96:23586
    	t https://hackerone.com/assets/vendor.b247925b.js:1:96
    	window.webpackJsonp https://hackerone.com/assets/vendor.b247925b.js:1:418
    	<anonymous> https://hackerone.com/assets/frontend.fe083880.js:1:1

Fail, Hacker One.

</comment><comment><USER13> Isn't this the same as the premise of the movie Office Space?

<comment><USER14> To quote from that movie:

"Yeah, they did it in _Superman III_."

</comment></comment><comment><USER15> I don't understand how you can run a financial exchange and not have break analysis running periodically (if not every transaction). How else are you going to catch mininteractions between complex systems on an on going basis?

Apparently Fintech startups have no need for the wisdom built up over the course of 500 years of modern banking, because this stuff is Banking 101 for any engineer at a bank.

</comment><comment><USER16> It requires 3*10^8 transactions to get the amount of the bounty. Good deal.

<comment><USER17> It's a good thing nobody has access to machines that can rapidly perform repetitive tasks.

<comment><USER16> Maybe people at NASA.

<comment><USER9> Maybe people at NSA. FTFY</comment></comment></comment></comment>


Maybe We Should Keep Our Promises - <AUTHOR> https://medium.com/p/cb2f256f9c73/edit <comment><USER2> Maybe you shouldn't link to the edit URL for your posts.

But on the topic, your example relies too much on pokemon code. What if you have multiple exceptions at different stage of your pipeline? What if two stages can produce the same exception type, and it's important to know which one produced it? What if you need to roll back in the event of an exception, and _where_ the exception took place is important to doing this?

With imperative code, this is tricky. With function composition as presented in your post, it's a nightmare.

The imperative code may not be as elegant as the 'functional' solution, but in the long run, it's easier to maintain.

<comment><AUTHOR> I was going for a clean presentation of a concept (and a gentle nudge in the direction of FP) in the article.

You raise important issues.

I would say, when you can, rewrite your code so you don't have to worry about such things.

Roll back everything under your control in the event of an error, and if there are side effects beyond your control isolate them at the end of the composition.

If two functions return the same exception, you can always wrap one of them so it returns a different one.

If a function needs it's own stand alone exception handling, do it in there.

If it really is necessary to know one could introduce some sort of monadic error handling that wraps up the results of all the functions including their place in the composition.

But really I would try to rewrite my code so that I wouldn't have to do that.</comment></comment>


The Death of the Photo Studio - <AUTHOR> https://medium.com/@saitec/the-death-of-the-photo-studio-fe1fd76b91cb <comment><USER2> Counterpoint: as your online identity becomes more and more of your brand, the need for a professional, high-quality headshot is more important than ever.

(Less so for full-time engineers, but absolutely for management, sales, consultants, etc.)

Headshot photographers not only provide crucial professional lighting expertly adjusted for the contours of your face, but also have a grab bag of techniques to establish rapport and get an authentic, confident, warm expression out of you that is almost impossible to get otherwise for most people. Not to mention work with you to get the right tone and look -- the background and lighting and expression a quirky food blogger needs will be totally different from a conservative CEO, which again is totally different from Brooklyn fiction author.

And because of people's need to brand themselves online, headshot photographers who 20 years ago had actors as 95% of their business, now have business professionals as a majority of their clients. Business is _booming_.

The photo studio isn't going anywhere -- it's just changing what and who we need to take photos of.

<comment><USER3> You forgot dating.

Since it has moved online, my younger male friends have spent quite a lot of money on professional photographers(not in studios, but outdoors) to get that perfect candid shot at dusk in their new attire, hoping for an edge in the overcrowded dating market.

Thanks to tinder and Instagram, dating is now a continuous arms race for young males and I assume it comes with it's own set of potential mental illnesses.

<comment><USER4> Can confirm as my startup addresses this market [[https://www.photofeeler.com](https://www.photofeeler.com)].

The top dating apps are designed such that photos are literally all that matter. What's worse is all of the popular cultural ideas we have about photos are wrong.

Photos don't just show people accurately -- in fact, you need some level of skill just to look as attractive as you do in real life. So no, that unsmiling selfie you took in your basement isn't "just what you look like" or "authentic."

Not to mention, people think and do. Images are still. This creates a situation where humanity can be easily lost. And where the need to brand yourself and put a lot of effort into showing hobbies etc. is paramount.

It's sad to see so many young guys tie their identities to the good or bad performance of their profiles when it's not really _them_ being judged but the pictures they chose.

<comment><USER5> I really love the idea of photofeeler, and I want it to work.

Just to share my 2c: I can't get over how strange the pricing structure for photofeeler is. I've come to the site a few times with my credit card ready, willing to drop a few dollars to get results.... but the abstraction of your pricing model is just confusing enough that I've dropped off the funnel each time.

Ok, so I need credits or karma to run a test. So I answer a few photos, get my karma to medium, and leave the test over night. The results are often inconclusive - my photos are consistently rating as "meh->ok" across the board. Ok, that's fine, I'll try another. Upload another, get more karma, leave that over night. Ok, this photo has +.8 attractiveness, but -.6 smart. Ok, not sure what to do with that information, but it's intriguing. The results are close enough, that I'm curious what the margin of error is if each is getting ~10 votes.

Ok, well maybe this is just the downside of the freemium model. Let's take a look and see what I can buy. 40 credits for $10. Ok, so 1 credit is .25c. Cool. What's a credit get me. A CREDIT GETS ME ONE VOTE! Ok, hold on, that can't be right.

Let's think about this backwards. How many credits do I need? So I probly want 15-20 votes on any one photo to get enough data to be conclusive about the results. Sure. And I'll want to run at least 3 photos. So, I'm looking at $15 per test to know which of 3 photos is preferred.... but realistically if I want to get rid of my own biases, I'd be testing 5-10 photos... Hmmmmm.

At this point I do some work to get some free karma (note: if there were hotkeys for voting it would make a WORLD of difference).... leave the test over night. Look at it the next day, say "meh, results are inconclusive based on sample size" and forget about the site for 8 months.

<comment><USER6> >Ok, this photo has +.8 attractiveness, but -.6 smart. Ok, not sure what to do with that information

Use that photo for dating, but not for potential employers, unless you're searching for a modeling job - just my guess.

<comment><USER7> You can choose different categories (work, casual, dating) but all of them have 3 characteristic which you're voting for.

If I remember these 2 are part of dating

</comment></comment></comment></comment></comment></comment><comment><USER8> Professional photographer here who does portraits and product. I'd say not "dead," just very different.

We've taken a hit, yes, but mostly amongst the problematic clients who say things like "you shot this in 2 hours, why do I need to pay a whole day rate?" They go and shoot their stuff with a phone, it looks like garbage but in some way they can't quite articulate but it's good enough, and we're happy to not have to deal with them any longer.

There is another segment, that of the client who bought a consumer crop-sensor DSLR and a white box off of Amazon and told us "hey sorry but anyone can do this now." Or they picked up a cheap strobe kit and a lens that the blogs said had "creamy bokeh" and they can't figure out what they're doing wrong. Generally we see them slink back in a month or so later and quietly hire us back. This is very common.

Is the future scary? Yes. Am I sure I'll be able to work as studio photographer forever? Nope. But as with anything, doing one's homework and having a commitment to quality while paying attention to what's happening in the photo world can keep you successful for the time being. The points addressed in the article are good ones and I try to stay up on all of it, but there are plenty of companies who still pay good money for photography don't have access to the level of digital rendering that he's talking about. They have a small product and a couple grand and they need a well-done photo in two days.

And yes, you can bang out something with a phone and an app or two, but it's not "there" yet. Is it a privilege to hire a professional photographer for your headshot rather than something someone did on a phone? Of course. I've also shot plenty of headshots pro bono for aspiring folks who have a dream and work their asses off and can't seem to get there, whether or not I was already set up for a paid shoot. My friends mostly do this as well.

<comment> 52-6F-62 Another end of the company I work for (I'm in media operations, digital) is focused on custom content which is largely comprised of marketing materials, catalogs, etc (and they still print on paper!).

The company actually maintains a selection modern photo studios solely for use within the company. The clients still want that kind of quality. (There are a couple of glimpses of their large studios in the slides on the homepage [https://www.stjoseph.com/](https://www.stjoseph.com/))

Of course, I can't speak for the entire industry—but it's not dead yet! At least in the less sexy areas like product shoots for grocery stores, or car promos.

</comment></comment><comment><USER9> Perhaps slightly OT but nonetheless interesting.

I met a former professional photographer who had become an economic analyst. He used to do fashion and music shoots for major magazines (Conde Nast etc..). He gave me an interesting insight into why his former business collapsed.

First of all he said that his photography business was predicated on the fact that he held the whip hand with respect to his clients: they needed to be absolutely sure that the person they sent out got the right shots on the day. There wasn't going to be another opportunity to ask Bono or whoever to do them over. So Conde Nast had to be absolutely sure that he would produce the goods. For him to be good enough to be sure of always getting the shots no matter the conditions, weather, light conditions etc...the photographer had to have the requisite experience and the only way traditionally they could get that experience was by using up a lot of film. In his view the cost of the film you would need to go through to have got to his level was approximately £60,000. That was the barrier to entry.

With the barrier to entry and with his strong position with respect to his customers he got two important things: a high level of pay and royalties on renewals for his work. So they not only paid him but he had an ongoing revenue for shots they had paid him to take, if they wanted to reuse them over time.

Once Digital got good enough, the barrier to entry fell and the magazines slowly gained the upper hand, paid less and didn't agree to the same terms.

So now he advises Banks on something or other.

</comment><comment><USER10> Its an interesting tech study but don't forget the business side. I'm so incredibly old (LOL being sarcastic) that I remember high school yearbooks had school photographers for K-11 however seniors had to submit professional photographer pictures.

You see it had only been made illegal a generation ago to submit a photo with every resume. In theory, photos were submitted to see if the applicant could clean up and dress in a professional stylish manner. It was made illegal in the 60s for very theoretical discrimination reasons. As if during an interview a manager wouldn't notice an applicant was black or a woman, but via the miracle of photography they could notice, LOL.

Anyway culture and especially the ed establishment moves slowly so they were still preparing kids to submit photos with their resumes in the 80s despite it being illegal since the 60s. So seniors had to submit photos.

Anyway the whole point of this anecdote is culture moves slow, and until "recently" if you wanted to graduate HS and get a job you needed a zillion copies of yourself from a professional studio.

Also see Department of the Army standard "DA photo" for promotion packets, and the peculiar government requirements of passport photos. The days of 50% of the male population having served in the military are long gone with the WWII vets, the population as a whole, countrywide, is getting waaaay too poor to internationally travel thus no need for passports, etc.

<comment><USER11> It's a bit funny how it's illegal to submit CV with a photo( in most countries,at least) yet the second some HR drone opens your CV, they'd go on LinkedIn or other platforms to check what's going on.

<comment><USER12> Submitting CV with a photo is actually an expectation in the German speaking countries!

</comment></comment></comment><comment><USER13> > It will then add a blur to that background to simulate Bokeh.

Yeah, and it looks completely awful and utterly fake. The author forgot to mention that 'detail'.

<comment><USER14> > and it looks completely awful and utterly fake

To people who know good Bokeh. Your average user is pretty used to the fake one.

<comment><USER13> You will easily notice it as the edges are usually completely wrong.

</comment></comment></comment><comment><USER15> The article covers a lot of territory but I can say from experience that the limitations to current CGI techniques mean that automation is still a ways away.

I produced all the shots for a global diaper company that is on shelf today. The pack designs were a tough format: images needed to be extremely horizontal on one side, and vertical on the reverse. But you can't just ask the photographer to shoot wide and crop in, because the new HD Flexo printing is way more hi-res. The approach at the time was to take the baby imagery and 'paint in' the extra background in Photoshop, a very time-consuming process that had to be repeated for every single image for every single region, with wildly inconsistent results. We created a replica of the on-set nursery in CGI, all the way down to matching the lighting in the C4D studio.

Yes it made the process way more flexible, yes we could localize everything with a new render, and yes we could add props or change the decor. But every render required a human eye to match the camera angles/scale of the baby shots. The uncanny valley is real, even with all the little tricks you can do to make it seem more photorealistic.

I do like the idea of AI-generated baby faces - the casting process / ethnicity requirements / rights management challenges are real. And maybe it wouldn't be all that bad if everyone knew that the babies weren't human. But the cost to develop and manage that system require real experts, a huge expense for a company that only needs baby shoots every so often. I imagine a version of 'thisbabydoesntexist' and how that would even slot into the content production workflow - it feels impossible. It's much cheaper to outsource this stuff to production companies that are smart about how they capture all the different kinds of content.

There are definitely companies where CGI makes sense to develop in-house. IKEA's approach comes to mind since they have super modular and global approach to furniture. But most companies have such a big product turnover that photography is still cheaper. Don't even get me started on hard-to-render products that require serious expertise to visualize. We tried to develop a CGI diaper but wow it was insanely complex.

I'm optimistic about the future of the space since there is so much design territory to explore in terms of workflow improvements. But I still love something real - my wife is shooting a story for a national magazine today on a local woodworking artist and I know it could never in a million years be automated. The more that computational photography advances, the more important meatspace photography will become.

<comment><USER16> I'm curious why you didn't shoot the surroundings and stitch it together into a panorama. Since you're in a studio you control the lighting. It shouldn't be hard to shoot the pictures for the panorama once and then spend most of your time shooting the baby. Any of the baby images should be able to be stitched into the rest to get a wider or taller image.

<comment><USER15> That would definitely make sense if all the shots were from the same angle.

We designed/built a nursery that could accommodate shooting from all angles so that all the different shots would look like they could be in different places. That was important because there were infants (on the changing table) to crawlers (on a blanket) all the way up to toddlers (bumbling around).

</comment></comment></comment><comment><USER17> Can someone on HN explain why some links to medium try to make me setup an account to read while others go to a clean well designed blog style post, the way they should.

Is this a setting based on popularity of the article? who is posting?

<comment><USER2> I think it's based on how often you visit Medium. If it's your first time visiting in a ~month, you just see the article. If it's your ~third time, they ask for an account.

Just open the URL in an incognito window when you get that -- it's what I do.

</comment></comment><comment><USER18> I blame social media and mass low resolution consumption more than I blame smart phones for the shift in the media industry.

If I zoom in to almost any cell phone photo, it's no match for a professional with a larger format sensor or studio with lighting.

But those details are lost.

The appreciation for the craft has also faded. With so much media to create / consume, the bar has lowered across the board.

But industries that used to be profitable are hard to break into now. Food photography is a prime example. I recently did a shoot with a company and their chef convinced them they could just use cell phones in the future. I can't argue it. If the only place you're publishing to is 1800px and the content exists for 1-2 days on the front of your feed, it's pretty hard to justify a full crew and big production shoot. You have to really see your media / product as an investment and be gunning for a bigger picture to really gain a value out of a larger media operation.

</comment><comment><USER19> 'computational photography' is interesting because it requires a different way of thinking about what an image is than what we were used to. As if going through a certain shaped lens is the only way to make "real" photos.

My own thinking on the subject got severely reshaped when I took it upon myself to write some alternative lens models for Chunky[1] (the Minecraft scene path-tracer) and later my own path-tracer[2]. Once I realized that every pixel on the screen could be mapped to any virtual light-sensor position and direction, suddenly projections were arbitrary. I could define a lens that wrapped around the subject, pointing inwards if I wanted, and that was no less 'real' than a pinhole or fisheye lens.

Of course modern phones take things a bit further than just straightforward transformations. Guessing what's between the pixels or selectively blending multiple images together maybe crosses my subjective threshold between what I think of as a 'real image' and a 'made-up' one. Especially as the AI gets smarter. Because I can no longer understand exactly what happened.

[1] [https://chunky.llbit.se/](https://chunky.llbit.se/) [2] [https://github.com/TOGoS/SolidTree/](https://github.com/TOGoS/SolidTree/)

</comment><comment><USER20> I feel as if we will see fewer, but far better, pro photographers.

It will probably be some time before we have AI-assisted composition and lighting, and that's the _real_ secret sauce of high-impact photography.

That kind of thing comes from having an emotional being in charge of the photography device. They "feel" the image, as much as they "see" the image, and know how to capture it in a way that will have others feel the power of the image.

 _That_ is what separates the pros from the amateurs.

But those pros now have some truly marvelous tools to help them to capture that emotion.

This is like the growth of CGI. When the tools first appeared, they were high geek-factor monsters that only an engineer could use, so only engineers used them, with predictable results. That resulted in some technically marvelous, but not particularly enjoyable, stuff[0].

Then John Lasseter and Pixar happened. Anyone remember the "Luxo Jr." animation?[1] That was where the world changed.

For the first time, _emotion_ was reflected in CGI. Nowadays, true artists can do amazing things with tools like Blender, Maya and After Effects. There are now feature-length CGI movies that can have 300-lb cage fighters sobbing in their beer.

Until AI can produce _emotions_ (shudder at the thought), there will always be a need for pro emotional craftsmen. The tools and medium may change, but artists have been around since the days of the Maltravieso Gallery.

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

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

</comment><comment><USER21> > It will then add a blur to that background to simulate Bokeh.

and yet again a blog post about photography where the author can't differentiate between bokeh and depth of field.

<comment><USER22> I'm confused. Bokeh refers to the quality of the blur. Applying a filter to an originally sharp background (because of a deep depth of field) can absolutely simulate bokeh. It may be bad bokeh, but then plenty of lenses have bad out of focus rendering.

<comment><USER23> I'm only a "semi-serious" photographer at this point, but I've spent thousands of dollars in the past ten years based largely on the subjective quality of bokeh.

<comment><USER22> I tend to shoot at f/5.6 unless the light is low.

<comment><USER23> I'm actually not sure what I "normally" shoot at. I shoot manual and dynamically adjust my settings to the scene almost unconsciously.

Now I'm curious to see if I can run some statistics against my Lightroom library.

I shoot a Fujifilm X-E2, and am hoping to upgrade to an X-Pro3 fairly soon. I've put off upgrading my camera for years in favor of buying better glass.

My favorite/most used lens is a 23mm f/1.4. I know I rarely use it wide open unless I'm shooting at night, and in that case I'm also usually also shooting monochrome. That lens is awesome for low light and indoor candidates, and even with my generations-old X-E2 I have enough resolution (16MP) to crop in when I need to.

My next favorite is a 35mm f/2\. With the crop factor, it's ~50mm and nearly perfect for street photography. There is a quality to that lens that I have difficulty describing - the closest I can get is that it's "Leica-like".

I also recently picked up a used 18-55mm f/2.8-4. Zoom lenses aren't really my thing, and variable-aperture zoom even less so. This lens was so cheap that it didn't make sense not to buy it, and it's turned out to be very capable as long as I'm outdoors in full light. It gives me a bit more reach, which is important sometimes for me. A lot of my photography is done either of my kids or for the dance studio I and my wife own, so while it's not my favorite lens it does see quite a bit of use and is often the right tool for the job.

Examples:

XF23mmF1.4 R | ISO 400 | f/4 | 1/250s - Outdoor, stage shot of a dance performance: [https://adobe.ly/3f9rbmH](https://adobe.ly/3f9rbmH)

XF23mmF1.4 R | ISO 1600 | f/2 | 1/60s - Indoor, with terrible lighting and a glossy background: [https://adobe.ly/332b9IN](https://adobe.ly/332b9IN)

XF35mmF2 R WR | ISO 200 | f/8 | 1.170s - Outdoor, street photography in Cleveland: [https://adobe.ly/2X6CTbk](https://adobe.ly/2X6CTbk)

XF18-55mmF2.8-4 R LM OIS | ISO 1600 | f/4 | 1/500s - Outdoors, my youngest daughter riding a go-kart: [https://adobe.ly/3f5o6Ec](https://adobe.ly/3f5o6Ec)

<comment><USER22> Thanks for sharing these!

This is my page with my lenses, it includes links to the relevant Flickr pages for most of the lenses: [http://gerikson.com/blog/photo/Lens- list.html](http://gerikson.com/blog/photo/Lens-list.html)

</comment></comment></comment></comment></comment></comment><comment><USER24> I've run a creative studio as well an an independent photography practice for many years and much of what this article says about the future is true. The main driver here is to reduce costs and increase output by removing the human element. It gets closer each and every day.

But at the same time, the high end keeps getting higher and that's why the photo studio is still going to be around for a long, long time.

</comment><comment><USER25> I for one hate it when buying something online and the only photos posted are clearly done in a studio with lots of post-processing, or worse renderings. I end up having to look at user posted photos or ebay to see what the item truly looks like.

<comment><USER26> There used to be a site that showed the advertising version of a fast-food item versus the reality of that item as delivered to your hand.

Dramatic difference.

<comment><USER27> [https://youtu.be/oSd0keSj2W8](https://youtu.be/oSd0keSj2W8) here is a McDonald's marketing video on how they improve the burger for the shot. Of course that's marketing and they have other tools in addition, like not using real ingelredients but mocks etc.

<comment><USER28> Think the reality of fast food photography has some crossover to the subject, photo studios are less important because you can just take 200 photos with your own camera and then pick the 1 good shot from that.

With fast food photography, it's the same ingredients they just brute force it and have a whole stack of genuine buns, pickles, patties to pick the best of a bad bunch.

<comment><USER27> Even when having the ingredients you have to take care that lights are probably warm and if you aren't quick the salad of your nicely setup burger might lose its structure and color and the sauce and grease might start flowing.

But of course: producing _good_ mockups isn't cheap either.

In the end it will always have to pick between picking the proper ingredients, some mockups and Photoshop. And as they tell: Point is that one can see what's inside and nobody seriously expects the delivered fast food product to match the picture. (If there's a tomato on the picture however I hope there's a tomato slice somewhere on the real thing)

</comment></comment></comment></comment></comment><comment><USER29> Its all really cool technology, and I love the convenience of having a smartphone camera in my pocket, which I use often, for the right type of photography and when no other option is available. But right now you simply cant beat the results of a high end digital camera. The quality simply blows phone cameras out of the water in every conceivable way, even amateurs can tell the difference.

</comment><comment> the-dude The birth of the Video Studio.

<comment><USER18> Already dead too.

</comment></comment><comment><USER30> Having a professional photo can make a big difference. I can see how phones and technology has made it so that anyone can take photos. The studio takes a hit because people don't need to go. Much like a music studio. People can record at home, but the professional makes a difference. The internet is a tool to share the photographer's work (if properly branded). The internet has also made a huge supply of photos, so the general demand for quality has declined. Music is much the same. I have a belief that the demand for high quality, professional photos and music will come back in style at some point. It will come back to people happily paying for music or photos as it once was. You can't expect things to be free and also expect quality</comment>


GraalVM 1.0-RC2 released - <AUTHOR> https://medium.com/graalvm/graalvm-1-0-rc2-release-notes-498c8179f258 <comment><USER2> The post is itself a series of highlights from many of the contributing projects. A few of my favorites are from the sulong project:

A new API for accessing Java types and instantiating foreign objects from LLVM languages. Use dynamic linker semantics when loading multiple bitcode files. Support ELF files with embedded LLVM bitcode. Pointers to bitcode functions can now be called from other languages

I haven't sat down to benchmarked anything but I'm curious if any of the overhead associated with JNI can be elided now that the JIT crosses that boundary. From my memory of Cliff Click's "Why is JNI Slow?"[0] much of the cost is copying data across the boundary, being conservative with GC'ing objects that could be used by native code, and being careful with registers and process state across the boundary.

From what I can tell, none of these apply anymore since graal/sulong compilers can "see" into the llvm bitcode and decide how careful it needs to be.

Exciting times indeed.

[0]: [https://www.youtube.com/watch?v=LoyBTqkSkZk](https://www.youtube.com/watch?v=LoyBTqkSkZk)</comment>


How e-ink can reduce visual noise pollution in cities (2015) - <AUTHOR> https://futurecities.catapult.org.uk/2015/12/10/blog-can-less-intrusive-technologies-help-keep-green-spaces-visually-quiet/ <comment><USER2> Soofa (based out of Cambridge) is implementing exactly that. They're using E Ink's large sized 32" color panels. [http://www.soofa.co/soofa- sign/](http://www.soofa.co/soofa-sign/) , [http://goodereader.com/blog/e-paper/sofa-sign-activating- pub...](http://goodereader.com/blog/e-paper/sofa-sign-activating-public- spaces-with-just-four-bolts)</comment>


Jobs and Woz (2011) - <AUTHOR> https://www.filfre.net/2011/09/jobs-and-woz/ <comment><USER2> Woz is an absolutely stunningly good hardware designer and programmer, but I agree with this article's characterization that Jobs, had Woz not been around, would have found another Woz. Maybe not as good, and maybe with less success, but Apple would have been built in some fashion.

The impression I got from Founders At Work was that Woz was a big big reason for Apple's short term success, but also didn't really understand Apple past a certain point. After all, a product like the iPhone, with its fused body and minimal hackability is utterly opposite to the values of an old school hardware hacker like Woz.

<comment><USER3> Based on the data points of "iWoz", "Steve Jobs", "Becoming Steve Jobs", NeXT, and Pixar my guess is Jobs without Woz does something different, but doesn't create Apple.

The Mac was mostly created without Woz, but the Apple ][ is what paid for the Mac & access to Xerox's tech. Pixar shows Jobs' ability to find & develop a team, but the Pixar team is unlikely to have created Apple. NeXT was Job's attempt to do Apple without Woz and it didn't work because he missed affordability & efficiency elements Woz excelled at.

If iWoz is accurate, Woz created floppy drives, monitors, and a number of other technical firsts. Based on iWoz, a Woz without Jobs keeps working at HP for life and becomes a Jason Kridner (founder of BeagleBone.org) type influencer, which is still exceptionally cool.

The other critical factor, that really was clarified in iWoz, is how lucky they were to grow up where & when they did. By a roll of the dice they had access to electronics components that most people in the world never knew existed. They also grew up in an intellectual property environment unencumbered by the 30 years of rules based on companies like HP and Atari not wanting new hires like Woz and Jobs to fork a startup. Modern law and information availability will prevent anyone from ever repeating their successes in the "computer industry". But people will repeat their success in other industries.

<comment><USER4> Woz didn't crest floppy drives or monitors, he figured out how to implement them more cheaply.

<comment><USER5> Specifically, floppy drive controllers and machine language monitor programs.

Also exploited NTSC to do artifact color.

All great hacks.

</comment></comment></comment></comment><comment><USER3> > "Ironically, [Woz's] design was so minimized that normal mere mortals > couldn't figure it out. To go to production, we had to have technicians > testing the things so they could make sense of it. If any one part failed, > the whole thing would come to its knees. And since Jobs didn't really > understand it and didn't want us to know that he hadn't done it, we ended up > having to redesign it before it could be shipped."

I encountered this kind of thing at an Autodesk event a couple years back. AI was generating bridge designs the civil engineers didn't understand. So, Autodesk had to dial down the AI until the designs could be evaluated by enough people to get a building permit.

Edit: quote is from the article & about Woz's design

</comment><comment><USER6> It's always nice to see Woz' recognition within the tech community as compare to popular culture where everyone talks about Steve.

<comment><USER7> I feel the exact opposite - that Woz is elevated by programmers and engineers to a much higher status than he deserves.

Jobs was a once in a generation visionary. Woz was extremely talented, but not singularly unique.

Jobs, one-in-a-billion; Woz, one-in-a-hundred-thousand or so.

<comment><USER8> Yeah, Woz came to speak at my university about 6 years ago and it was pretty underwhelming as a Computer Science undergraduate. He may have been a brilliant engineer at one point, but now he seems primarily interested in investing his wealth and talking about business. Hardly the nerdy hero of Apple the internet often props him up as.

</comment></comment></comment><comment><USER9> Would highly recommend reading Steve Jobs by Walter Isaacson.

It goes way in depth about the journey surrounding Steve Jobs.

</comment><comment><USER10> I feel like a lot of importance / a lot is assumed in this article based on a few contrasting quotes and events.

</comment><comment><USER11> I never hear much about Paul Allen. Bill was a bit of a business shark, I wondered if Allen was his 'Woz'

<comment><USER12> As far as I know Gates was a very good developer himself.

<comment><USER13> Paul Allen was known as a much better programmer than Bill Gates. But comparing them to Steve/Steve doesn't make sense.

Bill Gates didn't write DOS he purchased it after selling it to IBM. More of a business guy than pure programmer.

Steve was in a class himself creating the hardware/software for the orginal apple.

<comment><USER14> > More of a business guy than pure programmer.

Bill Gates actually was a very strong programmer in the early days, so this characterization is misguided. He was very passionate about writing code for other developers, not about catering to end users. It wasn't until later in Microsoft's history that he was more business focused.

Happy to dig up articles to back this up, but seriously it should be trivial to find tons via a simple google search if you really care.

Edit: re-DOS, sure they bought it. Do you know anyone who can write an operating system in under a month (the timeline MicroSoft had with IBM)?

<comment><USER5> See the Model 100. Gates wrote that system ROM. 8085 assembly language.

It is a nice system for the time.</comment></comment></comment></comment></comment>


Small business VoIP phone system setup tutorial - <AUTHOR> https://www.youtube.com/watch?v=AReCMwdziDg&list=PLkVbIsAWN2luXh1H9ug50IocztUTTlZ6p <comment><USER2> I'm currently evaluating this space for a mixed-use 100 employee company. We're an e-commerce company who deals with B2C customer service, B2C/B2B inside sales, and C2B where we purchase from the customer.

We currently have a cloud-based PBX system that is okay-ish. No onsite hardware outside of Polycom phones. But, it's not very flexible. Our sales and service teams could benefit greatly from having access to customer data before picking up the call. Easier api-based access to call logs and recordings would be amazing as well. Tighter integration with other messaging channels would be great as well.

Where I'm lost is making the leap from our traditional phone system to something better. Twilio Flex looks great, but I'm not sure if it's overkill. I admittedly haven't taken the time to understand the entire stack (SIP, softswitches, IP-PBX, etc..). Perhaps I'm missing something, but it feels like there's a gap in the market between the a la carte Twilio services and a traditional PBX.

</comment><comment><USER3> Crosstalk Solutions also have an excellent YouTube series on how to install and configure FreePBX v14. [https://www.youtube.com/watch?v=fTtql5lMeKk&list=PL1fn6oC5nd...](https://www.youtube.com/watch?v=fTtql5lMeKk&list=PL1fn6oC5ndU8tezrQ1pnPSEpa_m0w8LOW)

</comment><comment><USER4> I've just built out a fairly complex PBX solution for a client using asterisk and Cisco SPA5xx series phones.

I have to admit that, coming from a non-telephony dev background, there was a bit of a learning curve.

Looking forward to watching this when time allows.

<comment><AUTHOR> What did you use to bridge the knowledge gap?

I've been trying to figure out Asterisk since I was a teenager, but never found a great resource. They used to call themselves Apache for telephone around that time, but since then, I've become a full-stack dev and I still don't understand Asterisk. I suppose It's probably because I haven't been giving it enough time, myself.

<comment><USER5> I did a bit of consulting around Asterisk when it was younger and one of the strengths was how easy it was to get started. There's a bit of terminology to it, and the dialplan language is arcane to put it mildly, but it's all very straightfoward. The comparison with Apache is apt, with equivalents to CGI and everything.

Bascially the best way to get started is to just install it and use asterisk.conf from the sample directory to get started (not the other files).

You'll probably be running SIP to both your phones and your uplink so create a new sip.conf. Read the corresponding wiki page at voip-info.org for syntax, and look at the sample file for reference (it's way too complicated to use as- is).

Then write a dialplan in extensions.conf. That's the description of how calls should be processed (something like "when a local phone dials 3xx, call a local phone by that name", "when a local phone dials a longer string, place an outgoing call"). Again, check the wiki and sample files for examples. Don't be put off by the language, which uses line numbers for code.

That's enough to get started. The O'Reilly book is really, really good should you wish to invest in it. There are one-click installers and web interfaces available too, I haven't used those but they're probably better should you wish to have something more product-like. There's not as much small scale consulting work in the PBX space as it used to be since mobile phones took over. Most work is around call centers but it can still be challenging and fun.

<comment><USER6> Yep, just do it. That said, if you want some abstraction, putting FreePBX in between you and Asterisk does give a lot of ease of install, and you can always read the conf files that FreePBX creates when it configures asterisk based on web commands.

On the uplink side, I push all my calls through voip.ms. I pay per minute inbound and outbound (I think it's about $0.01/min, which seems expensive, but then there's no crazy $30/mo crap). DIDs (aka inbound phone numbers) cost $2-4 month, depending if you need e911. Calls are handed off via Asterisk's IAX2 protocol, although SIP works too.

We use Polycom phone hardware, which has been really solid for over 10 years, and which has great call quality, given Polycom's experience in conference room phones.

If you want to get hardcore with digital lines from your telco, you can use a used cisco device as a media gateway for under $2k.

My PBX is just a VM on our infrastructure like any other.

<comment><AUTHOR> Thank you! One more question: What kind of hardware would I require to connect my server to the plain old telephone system? In my country, we don't have VOIP gateways for consumer use.

<comment><USER6> So, assuming your phone network is compatible with the US POTS (Plain old telephone service) system, here's what you need. Analog interfaces for phones run in two modes: FXO or FXS. An FSX adapter, is a device that you connect a phone device to. It generates dial tone. That's not what you need.

What you need is an FXO device (sometimes called a channel bank). That is a device that emulates a phone device, and which consumes dial tone. Many devices sold as FXO gateways are expensive. If you have a real server, you can get an FXO PCI card from Digium for some hundreds of dollars, but that's expensive too.

Some cheap FXS devices can also operate in FXO mode. The cheapest one appears to be the Grandtream HT813 for $89: [https://www.voipsupply.com/grandtream- ht813-gateway-ata](https://www.voipsupply.com/grandtream-ht813-gateway-ata)

<comment><AUTHOR> Thank you so much! I've already gotten started installing Asterisk and playing around. This has been most helpful!

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Blink is an excellent softphone, too!

[http://icanblink.com/](http://icanblink.com/)

</comment><comment><USER8> Gotta love Rossman.

A very atypical video series for him, yet still so enlightening.

<comment><AUTHOR> I agree. I feel as though VoIP and phone system setup for small business isn't as popular as it should be. I for one am very interested in running a private SIP server for my home use on something like a Raspberry Pi.

</comment></comment><comment><USER9> As am Twilio as the backend with Linphone as softphone client to get started. Easy enough to set up and seems to work fine. Only problem is the lack of push notifications on iOS, inbound phone calls only work when Linphone is the foreground app. Android even has a build in SIP client.

<comment><USER10> Acrobits Softphone[1] and Groundwire[2] support iOS push notifications. I have found they work much better than Bria[3].

[1]: [https://apps.apple.com/us/app/acrobits- softphone/id314192799](https://apps.apple.com/us/app/acrobits- softphone/id314192799)

[2]: [https://apps.apple.com/us/app/acrobits- groundwire/id37850308...](https://apps.apple.com/us/app/acrobits- groundwire/id378503081)

[3]: [https://apps.apple.com/us/app/bria-mobile-voip- softphone/id1...](https://apps.apple.com/us/app/bria-mobile-voip- softphone/id1236194368)

<comment><USER9> Thanks. Linephone does support push notifications, problem is I don't have a way to tell Twilio to send push notifications since it's not "their" mobile client. Any idea if you can send push notification to an iOS app that isn't yours? As in: Twilio receives a call, how does it (or my server) send a push notification to to, say, Groundwire?

<comment><USER10> Acrobits registers the SIP account(s) through their server when push notifications are enabled.

<comment><USER9> I tried Acrobits Softphone today and it works! Thanks for the help!

</comment></comment></comment></comment></comment><comment><USER11> What existing startups have made this a one-click solution? Are there any?

<comment><USER12> You could argue that any cloud PBX does this. Ringcentral, 8x8 etc. You just download their softphone preconfigured and login, or use the web one.

<comment><USER6> The problem is, all of these services upsell you on "unlimited" calls for $20/mo, when all you really make is $10/mo in calls. The profit that runs their business is right there.

<comment><USER13> Isn't your time worth more than $10/hr?

<comment><USER6> I don't understand what you're asking. Of course it is. If you just want cheap telephone service in your home, or even a somewhat featureful VOIP PBX for your 1-2 employee small business, then the cloud solutions are best.

If your goal is to learn VOIP, or you have a larger business, you're now looking at $200+/month for 10+ users. That starts being real money.

Even if it's just a personal setup, and it takes you say 4 hours to setup a per-minute voice setup, $10 less per month is $120/year, and a setup like this could easily last 3 years, now you're looking at $360 savings for 4 hours work. Not too bad at an hourly rate, and that's valuing the learning and fun of setting up such a system at $0.

</comment></comment></comment></comment></comment><comment><USER14> Have a look at 3cx! Free for basic usage, great mobile apps and very easy deployments.

</comment><comment><USER15> Alternatively to connect the company, you could have a shared contact list synced up with Exchange or Gmail with everyone's numbers and use WhatsApp voice calling or if you are feeling generous give everyone an iPhone and use FaceTime Audio....boom that way you reduce setup time by immense amounts...

<comment><USER16> Some companies (the smart ones) don't want to turn over all their internal data to giant companies who's primary business model is to collect and sell data.

Also, the solution you propose would be a nightmare to manage.

<comment><USER15> Does Microsoft collect and sell data for their Exchange product?

It's just one option for a small business. If there's less than 10 of you, it would be an easy option with minimal fuss as along as you can have a couple of tech-savy admins. Agreed that when you get large it be harder to manage.

To be honest, I felt like you read my comment and intrepreted it in the most critical way you could. For different situations there are different appropriate solutions. I was just mentioning a narrow use case. Horses for courses.</comment></comment></comment>


A Push for Open Source Biology from Merck Boss - <AUTHOR> http://www.xconomy.com/seattle/2009/03/02/harnessing-the-crowd-to-make-better-drugs-mercks-stephen-friend-nails-down-5m-to-propel-biology-into-open-source-era/

<comment><USER2> I hope something good comes out of this effort. But from my previous experience with biological data & biological research, I'm a bit skeptical. There is so much competition for grants & publications that researchers are sometimes reluctant to truly share data & help others build on their work.

</comment><comment><USER3> A commendable effort and idea. Thanks for posting here.

Genetic intellectual property will be an issue for years it seems. Economic pressures will hopefully force openness and innovation. Patent law needs to catch up in biology as much as it has been in software.

This is directly related to open sourcing your medical records really, since medical records of the future will necessarily contain oodles of genetic information.

</comment><comment><USER4> There isn't too much on their main web page, however, the about page describes their objectives:

<http://www.sagebase.org/about.html></comment>


Ask HN: Visualization with a pen suitable for technical content? - <AUTHOR> Hello HN!
I've participated in a beginner's workshop on "visualization with a pen" and, since I didn't have a better example to use, I tried a topic that I had already visualized before, and with which I'm not really happy: the structure of the Linux kernel's random number generation (for my "Myths about /dev/urandom" article):
https://www.2uo.de/myths-about-urandom/structure-new.png
My "work" looked like this:
https://www.2uo.de/myths-about-urandom/visualization.jpg
Obviously, the two visualizations are not equivalent in technical content.
A remark:
* My time ran out badly, so there isn't everything in it that I had planned to include. I won't tell what more was supposed to go in, because that's how it is now and I'd like to get feedback on this version, not some imaginary "perfect" version.
All kinds of feedback are welcome! <comment><USER2> The hand-drawn variant certainly is nicer than the first diagram!

In general I like the hand-drawn style for explanations, but it's easy to go overboard with details. Making sure labels are easy to find for the eye and read is important. In your example, some of the labels (e.g. on the left pot and on the arrow across) are a bit small and hard to read in comparison. But that's easy to fix with iteration on it.</comment>


Children who see clearly underwater - <AUTHOR> http://www.bbc.com/future/story/20160229-the-sea-nomad-children-who-see-like-dolphins <comment><USER2> Did you know that your eyes can adapt to being open in sea water? When you first open them underwater in the sea, they'll sting like crazy. If you persist - or at least this was the case for me, that effect will go away, and you can open them underwater without pain.

They will still be unfocused, though, of course. From the article, it sounds like you need to practice for a while before the eye learns how to focus underwater:

> Gislen wondered whether the Moken children had a genetic anomaly to thank > for their ability to see underwater or whether it was just down to practice. > To find out, she asked a group of European children on holiday in Thailand, > and a group of children in Sweden to take part in training sessions, in > which they dived underwater and tried to work out the direction of lines on > a card. After 11 sessions across one month, both groups had attained the > same underwater acuity as the Moken children.

Perhaps this only works for children, who seem somehow more biologically adaptable? The body is quite adaptable in general so I would believe it that people who swim regularly could see better underwater. I'm glad to have the science though to study the effect more rigorously.

<comment><USER3> _Did you know that your eyes can adapt to being open in sea water?_

Wow... I didn't know that. Losing my mask and panicking while diving has always been a concern of mine. I'll have to try this out. Regardless of being able to see clearly, it'd be great to just not be bothered by an onslaught of seawater.

<comment><USER4> Your tears are very salty so seawater actually isnt that different from the water that's already in your eyes. A lot of panic people have in opening their eyes in seawater stems from their experience of chlorinated swimming pools - which absolutely stings like hell!

<comment><USER5> I don't know why, but seawater in my eyes absolutely causes me _pain_ , not _panic_.

<comment><USER3> Yep. But when something goes wrong and you're 80 feet underwater, panic is not far away, and is really risky, since the panic response is unlikely to be the safe thing to do when deep underwater. So anything I can do to become acclimatized to problems is a win.

</comment></comment></comment></comment></comment><comment><USER6> My last job for 6 years was fixing hydraulics and electrical systems under water, among other things. I am now 51, and at that time, my presbyopia, or farsightedness increased. I wear +1.50 reading glasses topside. Just old age, and the len's inability to accommodate as much as when you are younger. I could open my eyes, maskless in fresh or salt water. And it is not chlorine that burns your eyes in most cases. If you think you smell chlorine, you're mistaken; chlorine is odorless. It is the byproducts of free chlorine that eat abundant organic matter that creates chloramines that you are smelling. A sure indicator they did not maintain a minimum level of free chlorine to begin with. In any case, I was able to improve my work underwater over those six years. If you discount feeling with my hands, what augmented my ability was not pupil dilation or lens accommodation, but the brain's processing. It has been proven if you concentrate while reading without your reading glasses, you can train your years of reading to recognize the letter shapes in their new blurry appearance. Not magic here, hard work. What I would be interested in is did she change it from merely horizontal and vertical lines? I can easily see the brain also augmenting their ability to accommodate their lens and pupil dilation to make their ability even more impressive. This would explain how the European children may have 'thought' they saw clearer, but it was the brain clarifying their perception and not any lens or pupil dilation in their short study.

<comment> david-given I remember hearing from someone who was on a long cruise trip, and on their first day, lost their glasses without hope for replacement. So they just had to cope with the rest of the trip without.

They said that it took a while to learn to cope, but once they did their short-sightedness didn't affect everyday life at all, apart from not being able to read. This included things like playing tennis.

I'm -4.5 in both eyes, and, interestingly, if I take my glasses off I can just about make out the words I'm typing here without adjusting the zoom level; mostly from shape. Zooming in a couple of notches makes the letters appear. Blurry and distorted, but legible (just). I can totally believe that practice would make me reasonably functional.

</comment></comment><comment><USER7> This is interesting. I am from the Caribbean and my parents a small rock(basically) off the coast of the mainland where your lively hood depended on the sea in one way or the other(fishing, diving, boat building). As a kid I would spend a lot of time in the water there swimming and diving. I felt like my underwater vision was so much better. This might not have been just a feeling then.

<comment><USER8> I've spent a lot of time in the see also but I always had blurry vision underwater. I've always preferred to use a mask when I could.

Maybe it's just something you need to be aware of culturally, to even attempt it?

<comment><USER9> I am a urban person that could see underwater, and until now I wasn't aware that it was something that could be learned, I just love diving in pools, and could not afford any equipment, so I got used to diving with eyes open, even in stupid high chlorine pools, and I don't need to mechanically close my nostrils either.

</comment></comment></comment><comment><USER10> This links to something that's occasionally interested me.

Are you able to consciously refocus your eye?

By this I mean stare at an object (with one eye), and consciously make it go in and out of focus, whilst always staring straight at it.

I find that I can do this to a certain extent - is this something that most people can do?

<comment><USER11> There are hidden picture books which look like random noise until you manage to focus your eyes 'behind' the book. I could never do that but others could. So I would say yes, you can with some effort.

<comment><USER10> Are you talking about "Magic Eye" pictures like this: [http://mentalfloss.com/article/29771/why-cant-some-people- se...](http://mentalfloss.com/article/29771/why-cant-some-people-see-magic- eye-pictures) ?

If so, this isn't really what I mean.

I mean with just one eye, being able to consciously refocus that eye. For example, looking at this writing on your screen able to make that go in and out of focus.

<comment><USER11> I can do that, focusing outward is easier than inward though. Unless I hold a finger in between the screen and my eye, then it's the opposite.

<comment><USER12> Can you elaborate on the finger trick? I can still only focus outward (aka blurring, if that's what you mean)

<comment><USER11> I can bring my finger into focus, drawing my focal point in front of the screen, and if then remove my finger I can hold that focus (with about a 50% success rate). Perhaps that is cheating a little ;).

</comment></comment></comment></comment></comment></comment><comment><USER11> Huh, I didn't know this was something special. I used to swim underwater with my eyes open all the time when I was little and I could see underwater just fine like the article describes. I just assumed everyone could :).

Although I couldn't do it in salt water, it stung my eyes too much but that might also be due to me learning to swim in pools instead of the sea.

<comment><USER13> They are talking about sea water...

<comment><USER14> Hm. Salt water is (according to my google-fu) denser than fresh water. The article says, "When the eye is immersed in water, which has about the same density as the cornea, we lose the refractive power of the cornea..."

I wonder if this refers to salt or fresh water. Maybe both, if the density delta between the two is trivial.

</comment></comment></comment><comment><USER15> When I was young, as I recall, I could see better underwater than normally. I'm _very_ nearsighted.

<comment><USER16> I had the same experience. It's strange. I always thought that was normal (that you could see better underwater than above water). I don't really like swimming, so I haven't done it more than once or twice as an adult. Now I'm curious if I would have the same experience.

<comment><USER15> Maybe swimming a lot underwater causes nearsightedness. But then, in the article, I see:

> She thought the first theory was unlikely, because a fundamental change to > the eye would probably mean the kids wouldn't be able to see well above > water. A simple eye test proved this to be true – the Moken children could > see just as well above water as European children of a similar age.

</comment></comment></comment><comment><USER17> Is their vision better than using goggles?

</comment><comment> blubb-fish Could the BBC please stop promoting their stuff here? Thanks!

<comment><USER18> The submitter has posted 2 links to the BBC in their last 30 submissions.

The last 30 submissions of bbc.com were submitted by about 25 different accounts.

Why do you think this article doesn't belong here?

</comment></comment><comment><USER19> Maybe I'm just a wuss, but the only thing I could think of is why would someone want to open their eyes underwater? E.g. a quick google turned up:

       a liter of seawater collected in marine surface
       waters typically contains at least 10 billion
       microbes and 100 billion viruses[1]

No, thank you.

[1] [http://www.the- scientist.com/?articles.view/articleNo/36120/...](http://www.the- scientist.com/?articles.view/articleNo/36120/title/An-Ocean-of-Viruses/)

<comment><USER14> Fishing, i.e. food & money.

<comment><USER19> Yes, of course, the people in Thailand do it to survive.

I was thinking more along the lines of first-world people, especially children. E.g. exposing "European children on holiday in Thailand" to what I stereotype as the fetid waters off the coast of third world countries.

It may be a stereotype, but that doesn't mean it's not true. I'd venture that the phrase "sewage treatment plant" is not part of the vernacular there.

<comment><USER20> > E.g. exposing "European children on holiday in Thailand" to what I > stereotype as the fetid waters off the coast of third world countries.

Thailand ain't exactly third world. (The waters can be dirty, though.)</comment></comment></comment></comment>


Are trendy startups harmful? - <AUTHOR> http://blog.press42.com/index.php/2011/12/09/trendy-startups-harmful/

<comment><USER2> _We've reached a point where Social is a must._

Have we? Or is it just the "trendy" thing to say right now?

I use Mint. I love Mint. I do want want Mint to tweet out my finances. Square is fantastic. I do not need it integrated into my Facebook account. I don't need or want Uber to broadcast where I'm travelling.

These are all concepts that can be entirely successful without social. The fact that everyone is so focused on social actually leads me to believe that you might stand out from the pack more by chasing an idea that rejects it.

<comment><AUTHOR> Yeah totally agreed. What I wanted to say is, hey, every app has some degree of social element, let it be sharing, connecting, etc. As you said, there is no obligation to use it, but it's there if u want it. 4SQ for example has the sharing part, but it's opt out.</comment></comment>


Now That Facebook Is Charging Users, Why Not Offer These Paid Features? - <AUTHOR> http://www.forbes.com/sites/kashmirhill/2012/10/08/now-that-facebook-is-charging-users-why-not-offer-these-paid-features/

<comment><USER2> How about this revenue model:

$5 - to be "invisible" and stalk friends profiles $5 - to see "invisible" stalkers $10 - to be "uberinvisible" and stalk friends who see invisibles $10 - to see "uberinvisible" $15 - to be "uberuberinvisible" $15 - to see "uberuberinvisible"

facebook could milk this forever.</comment>


In-Q-Tel: a new partnership between the CIA and the private sector (2007) - <AUTHOR> https://www.cia.gov/library/publications/additional-publications/in-q-tel/index.html

<comment><USER2> Facebook.</comment>


Why You Don't Want to Code for a Government Department - <AUTHOR> http://www.jgc.org/blog/2007/08/why-you-dont-want-to-code-for.html

<comment><USER2> It can be lucrative, however...

One of my coworkers once worked for a company that sold software to the government. Their software didn't work - at all. It didn't run. However, this being the government and the company being staffed with excellent salespeople, they didn't find that out until they'd already forked over their million dollars or so. They just ate the cost and never used the software.

The kicker was that the project was classified, and so the government agency couldn't _tell_ anyone that the program didn't work. Not even other government agencies. So this company went right ahead selling the same software-that- didn't-work to multiple government agencies.

Your tax dollars at work.

<comment><USER3> Only topped by the government paying (accidentally, to their marginal credit) for half million dollar washers: [http://www.washingtonpost.com/wp- dyn/content/article/2007/08...](http://www.washingtonpost.com/wp- dyn/content/article/2007/08/16/AR2007081602230.html)</comment></comment>