Students are failing AP tests because the College Board can't handle HEIC images - <AUTHOR> https://www.theverge.com/2020/5/20/21262302/ap-test-fail-iphone-photos-glitch-email-college-board-jpeg-heic <comment><USER3> A lot of comments are arguing about whether the software should have been modified to accept the HEIC format.

Let's go with "no" for the sake of argument. They probably can't accept an mp3 of me singing my answers, either. But!

If I upload an HEIC, an mp3, a keynote file, or anything else unacceptable... _Why doesn 't the site provide an immediate "File format not accepted, please upload .gif, .jpg, or .png" message?_

According to the article, the software would actually just hang. I think there's room to argue about whether they need to support the default format of an extremely significant platform for students. I think there's room to argue whether they should know enough about INPUT tags to let the browser help with this.

But while we're arguing about those questions, can't we all agree that simply hanging without providing a useful error message, and without giving the student an opportunity to re-upload their image... Is unacceptably poor software design for an institution that holds people's future in their hands?

I don't know about you, but if I were an American college student, I'd now be wondering what else they have kind of slapped together without thinking through graceful error handling?

<comment><USER4> It does have pretty much exactly that message. The corruption problems came from students seeing that only PNGs/JPGs were allowed, then trying to "convert" the file just by renaming it.

What they're doing is the same as 99% of other sites that expect images. _But_ it's probably fair to expect it to be even more streamlined (i.e: clear conversion instructions) given the circumstances of a time-limited exam.

<comment><USER5> No, what 99% of sites are doing is

        <input type="file" accept="image/png, image/jpg, image/jpeg" />

If you do that, Safari will convert the HEIC image to a JPEG automatically when you try to upload it.

What they did instead was to poorly reinvent the accept header in Javascript as follows:

        <input
          type="file"
          ...
          onChange={async e => {
            const split = file.name.split('.')
            const fileType = split[split.length-1].toLowerCase()
            const isAllowedExtension = extensions.includes(`.${fileType}`)
          }}
        />

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

<comment><USER6> That might be part of the problem, though other comments also point out that students were copying file to a computer, then changing file extension, then uploading. Possibly this was as a result of the iOS browser rejecting the file in the first place due to the shoddy input filtering mentioned.

But going a bit bigger picture, the problem is that we still use file extensions to denote file type.

<comment><USER7> This keeps getting brought up because there was one anecdote in the Verge story about a student who renamed the file on their computer. (Which still shouldn't have caused the test to keel over, but it's at least slightly more understandable.)

However, there were many other reports of students going the more "normal" route of just uploading through their iPhones, which caused the website to outright hang.

</comment></comment></comment></comment></comment><comment><USER8> It's amazing to me that so many are blaming Apple. Despite the fact that this site is all about new technology (so ironic!), uploading a photo from an iPhone isn't exactly an edge case. They should have tested this, and apparently they did enough to send a tweet about it.. as if that's enough. Clearly the college board dropped the ball in adequately informing people of their not-great workaround, instead of either specifying the accepted types directly in the web page's input tag (as many have pointed out, and thus would have just worked correctly in the background), or by accepting and converting HEIC files themselves. At minimum, they should have put their suggested settings changes into the webpage itself before you started, and/or given a practice website to make sure it worked correctly.

College board owns this process, and it's their job to make sure the setup works correctly for all students, including those who might not all be technically inclined.

<comment><USER9> Using HEIC apparently [1][2] requires a license and is patent encumbered[3], so I actually blame Apple for using a closed format by default.

[1] [https://forums.developer.apple.com/thread/97036](https://forums.developer.apple.com/thread/97036) [2] [https://news.ycombinator.com/item?id=17587923](https://news.ycombinator.com/item?id=17587923)

[2] [http://www.hackerfactor.com/blog/index.php?/archives/833-HEI...](http://www.hackerfactor.com/blog/index.php?/archives/833-HEIC- Yeah.html)

<comment><USER8> First of all, as many others have pointed out by specifying the accepted file formats in the <input> tag, they would avoid HEIC entirely as the phone would simply convert to one of the accepted formats.

It's also not clear to me that this patent license is actually an issue in terms of decoding and converting file formats on the backend. Even if that were the case, I'm certain there is some commercial license software they could purchase to do that for them. This isn't an open-source endeavor, and they charge each student to take the exam.

<comment><USER10> Wait. There's a way to get safari to upload HEIF _without_ conversion? All my photos, which are HEIF on my phone, turn into jpeg when I upload them. I've been trying to get the original HEIF off for months.

<comment><USER11> Dropbox and OneDrive allow you to sync HEIF instead of JPEG.

<comment><USER12> Only native apps that explicitly opt-in to HEIC support.

</comment></comment></comment></comment></comment></comment><comment><USER13> "Our system broke, you're screwed now, sorry" is never an acceptable answer. Do they really not have anyone who knows how to get stuff done?

1\. Take the files and figure out what to do with them so they can be read. This isn't a hard problem.

2\. Ask everyone affected to email you the photo or a new photo of the documents. We'll just take it on trust that you do so honestly because there's no way you would've seen this coming.

<comment><USER14> >"Our system broke, you're screwed now, sorry" is never an acceptable answer.

That's not what happened at all. The college board admitted their fault and are letting students take the test again. Even without that, they mentioned in their FAQ that JPEGs and PNGs are the only file types acceptable and even sent out a tweet (which should have been an email) a week before especially for iPhone users to let them know how to take pictures as JPEGs.

I agree with the people blaming the board for not having a standard image input field that lets the OS know when to convert images to JPEG but that is their only fault and I wouldn't have thought of that as a bug deal if not for this issue. While I'm all for open source media formats replacing what we have, HEIC certainly isn't big enough to be considered as among standard input options. Also, isn't Apple themselves infamous for not supporting certain formats throughout their devices?

<comment><USER15> If they had enough time to warn people ahead of time, they had plenty of time to push a fix to their system for this. We are literally talking about adding support for one more image format.

Emails, tweets, texts are no excuse for broken products. The iPhone is the best selling model in the United States. It is on College Board to support its default image format.

Good product design is owning your users' success. It is not sending people workaround emails.

The bare minimum would have to be to do a warning before every single AP test about this and giving students a few minutes to change their default image format. Sending a tweet (!!!) out does not count as doing any work.

This is a failure. An abysmal failure.

<comment> sh-run ImageMagick supports HEIC to JPG conversion. It would take at most a few hours to hack together an interim solution.

<comment><USER16> IIRC, you have to use special flags when you compile from source to get HEIC support. And just because it's _available_ doesn't mean you can legally use it. For example, the HEIF container's reference implementation is pretty explicit about not allowing commercial use [0]. The MPEG consortium lists over 7000 patents on their webpage for HEIC[1]. Making sure that you're bit infringing on those patents and/or working out a license deal with the patent cartel is a nontrivial amount of work.

[0]: [https://github.com/nokiatech/heif/blob/master/LICENSE.TXT](https://github.com/nokiatech/heif/blob/master/LICENSE.TXT)

[1]: [https://www.mpegla.com/wp-content/uploads/hevc- att1.pdf](https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf)

</comment></comment></comment></comment></comment><comment><USER17> I thought iOS was supposed to convert HEIC images to JPEG automatically behind-the-scenes in any file transfer situation where HEIC isn't supported. The article itself even says:

> _iPhones convert HEICs to JPEGs automatically when they're attached to > emails in the Mail app_

I'm just curious technically why the same didn't happen with the testing portal? If you have a webpage that accepts image uploads, is iOS Safari not smart enough to do the same conversion?

Or was the portal programmed badly or in a non-standard way that that couldn't happen? Or is there a way to do it that the developers ignored?

Just curious for the technical details of who's more to blame here -- Apple not providing enough backwards compatibility, or the testing portal being designed poorly.

Because blaming students for not following obscure instructions to change their phone's overall configuration is not the right path. A national testing portal ought to support the default image format taken by the world's most popular phone, period.

<comment><USER18> Tried a standard input tag with the proper accept attribute

      <input type="file" accept="image/jpeg,image/png" />

Selected a HEIC file from Photos in Safari, the selected image was automatically converted to JPEG.

Ten bucks says College Board programmer(s) failed to do the most basic and standard filtering.

Edit: Like a sibling comment said, the accept attribute actually isn't necessary; even PNG images (e.g. screenshots) from Photos are converted to JPEG automatically. This is true on both macOS and iOS Safari (latest). To be clear, on macOS you need to select from Photos instead of the filesystem for this to take effect.

In case anyone's interested, source code you can use to test for yourself (a Flask app):

app.py:

      import flask

      app = flask.Flask(__name__)

      @app.route("/", methods=["GET", "POST"])
      def index():
          if flask.request.method == "POST":
              image = flask.request.files["image"]
              return f"uploaded {image.filename!r} ({image.mimetype})"
          return flask.render_template("index.html")

templates/index.html:

      <html>
        <head>
          <meta charset="utf-8" />
          <meta name="viewport" content="width=device-width, initial-scale=1" />
        </head>
        <body>
          <form method="post" enctype="multipart/form-data">
            <input name="image" type="file" required />
            <input type="submit" />
          </form>
        </body>
      </html>

<comment><USER19> > Ten bucks says College Board programmer(s) failed to do the most basic and > standard filtering.

Why is it a failure of the college board to put "accept="image/jpeg"", instead of iOS which failed to default to the more standardized jpeg format when HEIC was not specified?

HEIC is a newer format which fewer systems support. iOS / Safari should default to JPEG in this case.

<comment><USER20> The comment was edited to show that iOS does in fact do this.

But even if it did send HEIC, if you're going to fail to handle "any" format, then you better specify the one you can handle. By the same token, why shouldn't my computer convert every .docx to PDF, or some other "more universal" format?

Instead of specifying the requirement programmatically, they spent their time sending out tweets and writing help docs.

<comment><USER21> > Instead of specifying the requirement programmatically, they spent their > time sending out tweets and writing help docs.

Point of order: separate people, with separate/independent/concurrent job responsibilities. It very likely wasn't the _programmers_ tweeting and writing docs. (Heck, I expect that the College Board doesn't even retain any full-time programmers, only contracts with firms for projects.)

<comment><USER3> Separate people, yes, and we should not blame the people sending out the tweets. But we can hold the organziation they belong to responsible.

It's the same as if Apple shipped me an empty box instead of my iPad Pro. Of course I can't blame the customer support person who takes my call, and I shouldn't be rude to them. But I would still blame Apple the corporation for such a thing, had it happened.

</comment></comment></comment></comment></comment></comment><comment><USER22> > Basically, only Apple (and, more recently, Samsung) use the HEIC format — > most other websites and platforms don't support it. Even popular Silicon > Valley-based services, such as Slack, don't treat HEICs the same way as > standard JPEGs.

This is the key part. Many in the software industry still believes that the start-up mindset of break things move fast applies to us. The economy depends on software, governments depend on software, education depends on software, lives depend on software ... but we treat software as a toy where a new fancy image format is a reasonable change to make because our platform gets a little more fancy and for sure a little less compatible to lock-in users.

I am all for regulation, and it is coming, as the software industry has shown to be an immature risk-taking mess. But, it can be a more bearable amount of regulation if we exercise some level of self-constraint on how we break each new release of software.

If we keep blaming traditional business (education, accounting, grocery stores, etc.) for not "updating fast enough" to new trends, they are going to justly react to our demands on their thin margin profits and ask the government to stop us. When you do not know if your business will survive another month, to have to invest non-stop in new software without any tangible benefit is an unreasonable demand.

Software has become too important the past twenty years. It is time that as a industry we realize that and act accordingly.

<comment><USER23> Plus the backend doesn't move fast. The .net framework only got a json serializer recently. I am not holding my breath for system.drawing to handle HEIC!

<comment><USER24> > The .net framework only got a json serializer recently.

What do you mean by recently? I am not a .net user, but this seems quite basic.

<comment><USER25> Early when JSON was new, people were using the JavaScript parser included in .NET to get the values. Then Microsoft build a small JSON parser for their ASP.NET library. But then James Newton-King build JSON.NET and Microsoft eventually switched a lot of their libraries over to it because it was just very good. It could do a lot of stuff very fast with a nice API.

Last year Microsoft introduced a new and more efficient way to allocate memory natively into .NET Core 2.0 (Span<T>). Since JSON.NET is still used by .NET Framework that doesn't support the new API, Microsoft created System.Text.Json that includes a new JSON parser that utilizes it. The first Microsoft project to use the new parser by default was ASP.NET Core 3.0.

</comment></comment></comment></comment><comment><USER26> This is the latest in a string of incidents where critical software systems, facing new pressure due to the pandemic, are catastrophically failing their users. I think what's happened in the past is that most public-facing software systems either a) were not really critical (because people had the alternative of doing things in-person), or b) (as in the case of all the ancient COBOL systems underpinning the US gov) had been made reliable over the years through sheer brute force as opposed to principled engineering. But in the latter case, as we saw with New Jersey's unemployment system, that "reliability" was fragile and contingent on the current state of affairs, and had no hope of withstanding a sudden shift in usage patterns.

Now we have various organizations - governmental and otherwise - <USER2> setting up online versions of essential services and it seems like every single one of them breaks on arrival.

We need some sort of standard for software engineering quality. I don't think this is an academic question anymore. Real people's lives are being impacted every day now by shoddy software, and with the current crisis they often have no alternative. Software that you or I could probably have executed better, but that the people who were hired to do it either a) couldn't, or b) didn't bother. It's nearly impossible for non-technical decision makers in these orgs to evaluate the quality of the systems they've hired people to build. We need quality assurance at an institutional level.

If not governmental, maybe an organization around this could be made by developers themselves. Not the "certified for $technology" certifications we have now, but a certification of fundamental software engineering skills and principles. A certification you can lose if you do something colossally irresponsible. At the end of the day, this dilution of quality is having a negative impact on our job field, so it concerns all of us. It leads to technical debt, micro-management, excessively rigid deadlines and requirements, which we all have to deal with. All of these are either symptoms of or coping mechanisms for management's inability to evaluate engineering quality.

<comment><USER27> We keep making a bunch of products where protocols and existing software would do just fine, while hitting fewer edge cases.

Know what would be better than the ten goddamn apps and the iPad and shit they're using for our kid's school? Mailed (or emailed) worksheet packets with guidance, recorded lessons on Youtube. Mail back the worksheets, have the food-delivering schoolbuses pick them up, drop them off at the school every week or so, or just do photos-to-PDF on a phone and email them. Or they could just give each kid workbooks and textbooks like they did when I was in school but that's out of fashion now for no reason. _eyeroll_

Several logins to manage. Apps that erase your work if you hit the wrong thing. Weird interfaces. Jank galore. Just use the fucking basics. You don't need a custom app for every single thing. Email exists. Use it.

<comment><USER28> > Mail back the worksheets, have the food-delivering schoolbuses pick them up, > drop them off at the school every week or so, or just do photos-to-PDF on a > phone and email them. Or they could just give each kid workbooks and > textbooks like they did when I was in school but that's out of fashion now > for no reason. eyeroll

I'm a college teacher and my wife is a high school teacher. Education is much more complicated than _eyeroll_ suggests.

For one thing, teachers would not accept physical papers in the present state of the disease. Even if a district says papers are OK after they have sat for three days (or whatever), that means that (1) they get picked up delivered to some repository (2) they would sit there for days (3) the teachers come and get them (delivering to the teachers would mean more decontamination time) (4) they take a day or two to grade. So assignments on Monday might be ready the following Monday? Then the teacher writes an email, "John you did the wrong page. Please resubmit." It is just not workable. (On my assignments there was something like a 10% confusion rate, for instance where someone did 1-10 odd instead of 1-10. I sympathise. It is a confusing time.)

I did photos to PDF. After two or three weeks of back and forth with my students we got so that most of them would reliably send legible one-PDF-per- assignments. Again, life is more complicated than, "Any moron can do this."

Finally, email is not a panacea. Having a hundred students emailing their assignments is an invitation for disaster. I was able to go through the college's system (we use Canvas) so it kept track of who sent what and when they sent it. As this article points out any large system has issues, but these systems exist for a reason. I and my students had issues and just had to work around them. With patience and good will we figured it out.

That's what happens a lot in education. People have all kinds of life situations, there are all kinds of tech and comfort with tech, etc. It is complicated.

Folks who are not teachers but are interested in some of the issues could check out the last dozen or so epsidoes of Mr Barton's Maths Podcast [http://www.mrbartonmaths.com/podcast/](http://www.mrbartonmaths.com/podcast/) which are about teaching from home for primary and secondary teachers. Really good stuff.

<comment><USER27> > I'm a college teacher and my wife is a high school teacher. Education is > much more complicated than eyeroll suggests.

Wife's a middle school teacher and ~40-50% of the other people in my social circle (not via her & her colleagues, oddly enough) are teachers, too. What they've done here (this state, post NCLB) is get rid of comprehensive curriculums with prepared material (workbooks, sheet packets, textbooks) and now districts and teachers all come up with this stuff themselves, which is clearly wasteful—why have a committee at the state-level do this once when every goddamn district can hire a couple new people to handle curriculum and rope teachers into those same committees, because they don't already have so many friggin' meetings they're starting to overlap?—so yes, _hard_ eyeroll at the trend away from textbook + workbook as a foundation for (middle grade and lower, at least) classes. The state could have made their _own_ such resources several times over for the waste the current system has produced, if they didn't trust a company to provide it (as was usually the case in the past). The whiplash-inducing pointless policy shifts in education, usually implemented by what _sure appear to be given their observed behavior_ certifiable morons, is tiresome and harmful to educators and families alike (we have both perspectives).

Now there are CDC suggestions that kids should have their own resources next year, but gee, we just switched away from textbooks + workbooks, which would have been great, to a mess of shared "learning centers" and junk like that (oh and got rid of all the indoor-recess toys in the kindergarten classrooms statewide to make room for those). It's _pure_ fad-chasing, well-intentioned at best and the school admin version of résumé-driven-development at worst (and it's often the latter). When they accidentally stumble on an idea that might be good they fail to implement it correctly (i.e. they can't even follow simple directions or understand how games or human systems work, these highly- paid jokes of PhDs that run the schools). Very frustrating.

Maybe your schools are doing a better job than ours but there's _no possible way_ the tech support load & assignment screw-up rate here isn't a bigger hassle here than if it were on regular ol' paper, including the effort of shuffling that around and disinfecting it, and I think they've actually done a decent job given the tools they're being told to use (webshit and apps) and the time they had to prepare. Hell they could probably buy some kind of UV disinfectant chamber for submitted papers for what they spend on all these stupid apps every year, stick a drop-box just inside the door of the meal- delivery schoolbuses and outside the school, and call it good.

What I know for sure: the only part of this where it felt like my kid was almost getting the kind of education they would in the classroom without a ton of extra effort on our parts, and it felt like we understood what they needed and what needed to be done about 100% of the time, was the first couple weeks when we _did_ have organized packets of paper instructions and assignments they sent home before spring break just in case there were closures (they didn't yet know it'd be _the whole rest of the school year_ , of course). And with the paper we didn't have to deal with "this login isn't working" and "I hit the wrong thing and now my work I just did is gone" and "what the fuck, _I_ , the adult and a software professional, can't even find this thing they say is at the other end of this link (or where in the app this thing is supposed to be, or whatever)", and so on, and so on.

That's for the younger kids. For the older ones, drop-off rates have been... high. Many of those kids weren't even attempting the majority of assigned work, if they were doing any of it, by a week or two into this. Very high levels of effort by some teachers had noticeable but still low effects on keeping kids engaged. We're talking north of half the kids in my wife's school essentially just skipping 4th quarter this year, and a good chunk of the rest getting maybe 10% as much out of it as they would have in school—it's that bad. I think some assignments missed due to logistics or scanning errors or whatever are nothing next to those effects.

</comment></comment></comment></comment><comment><USER29> Here's the relevant frontend source code for the file upload picker, if anyone's wondering (webpack://src/components/exam/submissions/FileInput.js):

      <input
                type="file"
                ref={inputRef}
                name="fileupload"
                disabled={disabled}
                accept={EXTENSIONS[type]}
                data-cb-element="no-cb"
                onChange={async e => {
                  const [file] = Object.keys(e.target.files).map(key => e.target.files[key])
                  const fileSizeInMb = file.size/(CONVERSION_BASE*CONVERSION_BASE)
                  const fileSizeInKb = file.size/CONVERSION_BASE
                  const split = file.name.split('.')
                  const fileType = split[split.length-1].toLowerCase()
                  const extensions = EXTENSIONS[type].split(', ')
                  const isAllowedExtension = extensions.includes(`.${fileType}`)
                  const alreadyExists = files.find(f => f.name === file.name && f.size === file.size && f.lastModified === file.lastModified)
                  let error

                  if (alreadyExists)
                    error = { title: 'You have already uploaded a file with the same name.', details: 'Please attach a different file.' }
                  else if (!isAllowedExtension)
                    error = { title: 'This file type is not acceptable.', details: 'Please check the requirements, save your file in one of the accepted formats, and resubmit.' }
                  else if (fileSizeInKb <= minSize)
                    error = { title: 'Your file is too small.', details: 'Please check the file-size requirements, save a larger version, and resubmit.' }
                  else if (fileSizeInMb > maxSize)
                    error = { title: 'Your file is too big.', details: 'Please check the file-size requirements, save a smaller version, and resubmit. ' }

                  if (error)
                    await setError(<><strong>{error.title}</strong> {error.details}</>)
                  else {
                    await updateFiles(file)
                    setError(null)
                  }

                  inputRef.current.value = null
                }}
              />

The EXTENSIONS variable is defined here:

      export const EXTENSIONS = {
        [TYPE_DOC]: '.txt, .doc, .docx, .pdf, .odt',
        [TYPE_PHOTO]: '.png, .jpg, .jpeg',
        [TYPE_AUDIO]: '.m4a, .mp3, .wav, .ogg'
      }

<comment><USER30> So do we know yet why iOS wasn't auto-converting the HEIC images? Is it because they didn't use mime types in the `accept` attribute?

<comment><USER29> That's my guess, looking at how they made the accept attribute.

<comment><USER31> I wondered that, too, but when I googled around for how to do that properly, I didn't see anything saying it matters.

</comment></comment></comment></comment><comment><USER32> I do not understand this huge criticism against college board for this. My daughter took 5 AP exams this time and we got multiple remainders from her teachers and AP board that HEIC will not work.

Here is the relevant FAQ: <quote> Can student submit an HEIC file of a photo of their handwritten work? Recent iPhones and iPads save photos as HEIC files. HEIC photo files can't be submitted "as is" in the online exam. They must be converted to an accepted file format. Here are two ways students can do that: Update their Apple device settings before the exam so that their photos will be saved as .jpeg files: Settings > Camera > Formats > Select "Most Compatible" OR Resave the HEIC file as an accepted file format: the easiest way to convert an HEIC file is for students to email it to themselves using the iPhone or iPad Mail app. The attached image will automatically be converted to a JPEG. </quote>

I guess we think it is too hard for an AP student to actually read and follow instructions.

<comment><USER33> Thank you for this - reading through the comments, I've been actually quite surprised that the general opinion seems to side with the students. The article suggests that the allowed image formats were clearly defined. Normally, if I were to take this test, I would definitely make sure that I am meeting the technical prerequisites.

Of course, you can argue that not everyone is familiar with the technicalities of image formats. But then again, let's not forget that today's students are "digital natives", so I assume they both now about JPEG and PNG and also about their phones.

However, if I now hear that this point was _explicitly addressed_ in relevant FAQ's, all of the above really becomes irrelevant in my opinion, because it really doesn't leave much in terms of excuses.

At college, every test came with certain rules. _For this exam, you 're allowed to use any auxiliaries except computers._ And stuff like that. _You must write in permanent ink._ etc. _Images must be in one of the following format: ..._ IMO is just along the same lines.

There is an old principle in jurisdiction: _ignorantia juris non excusat_ \- basically stating that it's your responsibility to know the rules.

<comment><USER34> On the other hand, the article mentions that a demo test _did_ accept (renamed) HEIC files. If you test your setup and are told it works fine, you shouldn't need to dig through FAQs.

I would argue this falls under the equally old jurisdictional principle of estoppel or detrimental reliance.

<comment><USER33> If the system accepted the files, then what was the problem?

<comment><USER34> Per the article, the "demo" test accepted it, but the actual exam did not.

Perhaps the demo did something dumb, like check the file extension but not whether the file could actually be opened.

<comment><USER33> In that case I completely agree. If the demo was there specifically to test technical setups, then it should not behave differently from the exam system. In particular, such a test system should be compliant to what is expressed in the FAQ.

</comment></comment></comment></comment></comment></comment><comment><USER35> While it sounds like the College Board may be at fault for some of the issues, like the test timing out when HEIC images were sent or the initial communication of the issue, I wouldn't be so quick to place all of the blame on them. Part of the problem is how we more-or-less glorify an ignorance of technology. This can be seen in both students trying to change the file type by changing the file extension and JPEG being referred to as a "most compatible" rather than by name in the settings.

EDIT: the comment about "most compatible" was based upon information from the article, rather than access to an iPhone. I have since looked it up, and JPEG is mentioned underneat the option.

I am saying this because people need to have a degree of understanding of technology in order to have some control over it, even though I recognize that some people will construe such statements as being elitist. That depth of knowledge does not even have to be particularly deep. In this case, understanding that photos may be represented in different ways by the computer and that you have to ensure that the recipient can accept that representation is important. After all, this is not the only case where they will run into this issue. It is a big part of the reason why businesses settle upon some form of standard for the exchange of data, may that be through common business practices or a standardization body.

<comment><USER14> Ironically the person from the article who attempted converting the HEIC files to JPG by renaming them was taking a Computer Science test.

<comment><USER36> Computer literacy is not one of the topics covered by high school computer science.

</comment></comment></comment><comment><USER37> I am 100% on the side of the school. Unlike with JPEG, everybody who wants to work with HEIC should pay licence fees. Also, HEIC is like 50x more complex than JPEG.

I hope the world will never get to a point, where each phone brand stores photos in their own format, and you need a special software from the phone manufacturer to view the photos (that is what we have now with raw photography formats, and what we used to have in the past with phone chargers).

<comment><USER38> Okay so JPEG for the rest of eternity then?

<comment><USER37> Of course not. But if we are talking about replacing JPG, two things are necessary: a new format should not be restricted by patents and licence fees, and such movement has to be coordinated with all other "players" in the industry. Apple did not do any of it.

<comment><USER39> But that isn't true about HEIC. There isn't a license fee.

<comment><USER40> HEIC is based on H.265, so there is a whole separate organization dedicated licensing and litigating its patents.

<comment><USER39> No? It's an ISO standard that's separate from H.265. Maybe you're thinking of HEVC, which is like that. (Alternatively I'm wrong, which is totally possible)

<comment><USER41> HEIC is defined as HEVC in a HEIF container. So yes, it's patent encumbered.

Edit: [https://en.wikipedia.org/wiki/High_Efficiency_Image_File_For...](https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format#HEIC:_HEVC_in_HEIF)

<comment><USER39> I learned something today, thanks :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER42> I think this is on Apple more than anyone. They have the attitude that it's okay to break long-standing traditions for the sake of pushing society into the future. Apple users seem to be a-okay with this attitude, so I'm not surprised that it has eventually come to kick users in the ass.

The three years or so that they've been using the format by default is not enough time to catch up. I know this is the first I've heard of HEIC, and I'm sure I'm not the only one.

Apple should default to sending a jpeg in situations where it cannot confirm support of newer formats. Maybe this means jpegs remain the default interchange format indefinitely, but so what? They are Good Enough for most cases.

<comment><USER43> Agreed. My company builds text messaging tools and we recently had to add support for HEIC images. Not a huge deal, but we only had to do it at all because we started seeing a few errors with users messages where a HEIC image was being sent in from an iPhone and we didn't have support for that format. It turns out that iOS will send a JPEG when sending an MMS message to avoid this compatibility issue. Except, in the cases where iOS doesn't send the JPEG and instead sends the HEIC. I'm not entirely sure what causes this but it seems to happen occasionally.

</comment></comment><comment><USER44> Failing a test because the upload used the wrong image format is the 2020 version of failing a test because you used the wrong type of pencil to fill in the Scantron bubbles.

</comment><comment><USER45> Someone at the College Board just needs to write a few lines of code to convert HEIC images to JPEG, instead of forcing thousands (if not more) students to retake the test.

On Ubuntu, you can:

            sudo apt-get install libheif-examples
            heif-convert infile.heif outfile.jpg

Based on the article, it sounds like the College Board did actually receive the test files from these students. The students were emailed that the files were "corrupted". So in all honesty, this is just a matter of them actually just converting the files they've received then (or using an image viewer that can handled HEIC.)

<comment><USER46> It seems pretty clear that there are at least some cases in which the test was dropped / failed entirely because of the issue, including the case that The Verge leads with:

> Nick Bryner, a high school senior in Los Angeles, had just completed his AP > English Literature and Composition test last week. But when he snapped a > photo of a written answer with his iPhone and attempted to upload it to the > testing portal, it stopped responding.

> The website got stuck on the loading screen until Bryner's time ran out. > Bryner failed the test. He's retaking it in a few weeks.

In this case it seems unlikely that the issue is correctable after the fact by the College Board.

</comment></comment><comment><USER47> FWIW, if you airdrop files from phone to desktop, they come as HEIC, and it isn't always easy to convert them once you've got an HEIC file in my filesystem instead of my app.

</comment><comment><USER23> What saddens me the most is to see those kids who grew up with a smartphone in their hand trying to convert a picture by renaming it. It is a problematic form of computer illiteracy.

<comment><USER48> > What saddens me the most is to see those kids who grew up with a smartphone > in their hand trying to convert a picture by renaming it

Why shouldn't that work? I think it would be pretty great if changing the file extension popped up a helper that asked me if I wanted to convert from HEIC to JPG?

Really, no-one should have to think about file formats when they're trying to do something that has nothing intrinsically to do with file formats.

Seems more like a failure of software engineering, to me.

<comment><USER49> Maybe for common formats, but that assumes the file was correctly named to start with. It also assumes there's a trivial or reasonable conversion between formats. What happens if I rename a CAD file to MP3?

The failure of engineering was clearly with the test authors - they should have been validating their inputs.

<comment><USER48> > What happens if I rename a CAD file to MP3?

"This kind of file is for a [computer-aided design system]. It is not an [MP3 music] file and so it cannot be used by [music playing software]. Would you still like to rename the file?"

</comment></comment></comment></comment><comment><USER50> > Due to the photo's size, the conversion took over five minutes.

This seems unlikely. What is the largest possible size phone photo coupled with the slowest reasonable Windows computer and Internet connection? There's just not that much data or processing involved in converting a 12 megapixel image.

</comment><comment><USER51> Frankly I think the root cause of this is making technology so obfuscated in the name of making it easy that people are working with files who have no idea what a file format is. It's as if someone who did paperwork all day couldn't tell the difference between printer paper, construction paper, and plastic transparencies because they only ever encountered them in the appropriate contexts.

</comment><comment><USER52> The College Board is an absurd monopoly. Students have no other option than to pay them egregious fees for taking/sending tests. Of course it's going to be run poorly.

<comment><USER53> Yup, there is no incentive for the College Board to improve because they know they have every students' future by the balls. What are the kids going to do, protest or abstain? Good luck getting into a good college!

</comment></comment><comment><USER54> The irony here is that it is the most privileged students who will suffer this the most. It's the ones with the fanciest phones that will run into this bug. Usually these things go the other way -- usually it's the poorest who have to deal with these kinds of things.

Edit: See the reply below about iPhone SEs using HEIC. A point that I missed.

<comment><USER55> Don't get so ahead of yourself. Even people in relative poverty, in many cases, have new(er) iPhones, and HEIC is default on my SE, the budget iPhone model from 2016. In high schools you're alienated if you don't have the "blue bubbles"* - although it's stupid, if you're in high school in 2020 you probably need an iPhone, and you can get older models for a relatively small price (my SE was <$100). If anything, the ones with the most privilege will have enough technical training to know to make their phones default to JPEG rather than HEIC.

[1] - Source: I currently go to high school.

<comment><USER46> > if you're in high school in 2020 you probably need an iPhone

Not disputing anything else in your comment, but where is this true? I go to (and work at) a fairly prestigious university, and even here it's at best a status symbol, not a "need" of any kind. One of my friends uses a flip phone.

<comment><USER55> It's a social thing - and a particularly stupid one. If you're ostracized by your peers for having the "green bubble" you're not gonna have great luck asking for the class notes or what Joey got on question 13. iMessage is the messenger of choice for students who don't value privacy or portability.

</comment></comment></comment></comment><comment><USER56> _> Changing a file's extension does not guarantee that it will be converted, but Spencer was still able to submit the demo test with no problem._

In what situations does the file format auto convert when you change the extension?

<comment><USER57> It's a naive extension filter then passed off to a well implemented image conversion routine that the programmer just invoked in their script.

So you need to do some little dance to get around it. You can probably run full blown postscript programs on their server if you simply name it .jpg.

College board is a $1 billion/year "not for profit" with a million dollar CEO, there's no excuse for this.

<comment><USER58> Sure but they're expressly not a $1 billion/year software company. They are a pen-and-paper company that because of the pandemic had to build something quickly with little institutional experience.

<comment><USER57> Digital literacy from an organization in charge of a standardized test for 6,000 colleges including Princeton, Harvard and MIT isn't too much to ask for in 2020.

</comment></comment></comment></comment><comment><USER59> Who doesn't test their upload forms with common flows like uploading an iPhone photo?

Sounds to be like the college board contracted this out to the lowest bidder.

<comment><USER24> The burden of testing is enormous and nobody wants to pay for it. I know plenty of companies that barely test at all. All except the Googles of the world miss stuff regularly.

<comment><USER60> Irony here is that College Board's core business is testing.

</comment></comment></comment><comment><USER61> The thing I don't understand in all the news articles I have read about this is the major complaint of the students seems to be that they have to retake the test which will mean they have to study for a few more weeks. Isn't having more time to study a good thing? Having more time to study and prepare should mean less stress, not more.

<comment><USER62> If they didn't have to retake the test they would have 0 stress because they'd be done, so you can't really claim there's less stress. Also many students likely already crammed enough knowledge into their heads for when they took the original test, and are now forced to retain all of this for multiple weeks, i.e they have to put in a lot more effort studying for little to no improvement in score (yes students cram for tests and don't retain information, that's just how testing works)

</comment></comment><comment><USER63> This might sounds trivial. But proprietary codecs are hard for commercial usage. They cost money. If it's just uploading a file. Ok. But if the system designed to decode it in any way this might lead to more expensive system.

The codec "war" and Apple's decision going with HEIC over opened source WebP is also to be questioned if portability of media is expected.

<comment><USER39> HEIC isn't a proprietary codec, it's an ISO standard

<comment><USER40> But it's built on patented codec (H.265). It's illegal to use it without a patent license, regardless whether it's a standard or not. Even if you wrote your own implementation, it would be illegal for you to use your own code.

Technically HEIF is a good format — it's half the size of WebP. WebP is based on a much weaker codec that is two generations older. AVIF is a freely- licensed HEIF alternative.

<comment><USER39> My understanding (based on [http://www.hackerfactor.com/blog/index.php?/archives/833-HEI...](http://www.hackerfactor.com/blog/index.php?/archives/833-HEIC- Yeah.html) ) is that HEIC is not built on patents while HEVC is, so HEVC is problematic to use, but HEIC isn't.

<comment><USER64> As it states in your source

> The HEIC holds the HEIF data that is compressed using HEVC by MPEG

Wrapping a HEVC file in a container does not automatically void any patents of the contained file. Otherwise, anyone can shove any patent encumbered file format in a ".zip" container (or any container/wrapper) and avoid any patent or licensing issues.

</comment></comment></comment></comment></comment><comment><USER65> Ugh, as someone who took a number of AP exams back in the day, the idea of completing the entire exam and then having to redo it weeks later because of something like this is just painful. I think I agree with the sentiment that these students should be allowed to re-submit their existing answers, despite the obvious concern about cheating.

</comment><comment><USER66> Clearly needs to be solved and fast, and I have huge sympathy for those affected.

However to me the more interesting point is why anyone would want to submit a handwritten script when they could type it. Not to sound like an old foggey, but in my day the only people who got to type were dyslexic and it gave them a huge advantage (no doubt why so many parents were having their children tested). Even if you could write fast, why take the chance that your exam efforts could be rejected based on a marker not being able to read your writing. Add to that the ability to compose text far more easily when typing and for those with a modest amount of practice the dramatically faster rate of output and it seems really strange that everyone doesn't type them and they just avoid this problem entirely.

<comment><USER67> Some tests require symbols (like greek letters), which aren't easy to type by default. Also, people have been practicing all year by handwriting responses (since we didn't know it would be online, obviously) - so a handwritten option is accommodating that.

<comment><USER29> Some of the exams (like biology) no longer require calculations this year-- instead of doing the calculation, you just explain how you would do it. This has been confusing for a lot of students, but it solves the "special input methods" problem.

<comment> j-james Right, but Biology isn't the only AP exam that requires calculations. Dealing with integrals for AP Calculus is much more of a pain.

</comment></comment></comment></comment><comment><USER68> This is no different to the College Board not accepting submissions from people who arrived by the subway or rode their bicycle. Or perhaps, _used the wrong colored pen_. Its at that level of absurdity.

Someone didn't bother doing basic testing. This is ironic because the system itself is a test submission system.

Personally I'd be wanting a full inquiry into this.

But the blame is still squarely on the College Board. They are a organisation that has actually failed in their core mission.

Apple etc shouldn't be the target of any anger. Some random website doesn't support image uploads. Thats the issue. The website should be more resilient. The College Board didn't do their homework. Perhaps they need to study harder and be more diligent? Attention to detail has consequences.

</comment><comment><USER69> > The College Board is now allowing test-takers who have issues submitting > their tests to email them instead

Crazy there wasn't an email to reach out teachers before. Any exam I passed with a computer or online component always had a way to contact the prof in case something goes wrong.

</comment><comment><USER70> Wow, that would be incredibly devastating if you had to take it over again. not everyone is able to devote weeks of their lives to these things.

</comment><comment><USER71> Here's a crazy idea: If your whole web site is based around a high stakes interaction, especially with a time limit, _put a dress rehearsal into the registration process_.

If someone wants to make an account to register for a test, ask them to upload a picture of anything. A signature. The wall. Their face. A cat. Use the same framework for finishing the test that you used for this interaction. So if for instance you've broken the submit button on mobile Safari, that gets sorted out before the Big Day.

<comment><USER72> Some other comments [1] noted that they did -- they had a demo site, it was just hobbled by not actually doing all the same things it would do on test day. So students tested their method out, it looked right, and they repeated it on the test day only to have it fail there.

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

<comment><USER71> Yeah I noticed that too.

Murphy's Law I suppose. The spot at which you stop testing is the spot where it will break. But do you learn not to listen to that voice in your head that is telling you this part doesn't need to be tested?

</comment></comment></comment><comment><USER73> Surprised no one here has mentioned the robustness principle yet. [https://en.wikipedia.org/wiki/Robustness_principle](https://en.wikipedia.org/wiki/Robustness_principle)

The layman's version is: "Be conservative in what you send, be liberal in what you accept."

</comment><comment> kyle-rb > tried to convert it by renaming the HEIC file to PNG. Changing a file's > extension does not guarantee that it will be converted, but Spencer was > still able to submit the demo test with no problem.

This should really say that changing a file's extension will (almost) _never_ mean that the file is converted.

Anyway, it seems like today's students have missed out on the arcane knowledge of renaming a jpg/mp3/whatever to .docx, submitting it, pretending that it got mysteriously corrupted, and getting an extension until whenever the professor realizes the issue. (I've never done it, but I've heard legend.)

</comment><comment><USER74> I took an English AP test yesterday. They give you three options for submitting your essay: Upload a picture, upload a text document (.doc, .pdf and a couple others) or paste your essay into a text field. Strangely, there was no option to type directly into the webpage.

I struggle with writing quickly, so I made the (rather poor) decision to continue writing up until about 20 seconds remained. I pasted my response and clicked submit with about 10 seconds left. The timer continued to count down and I was panicked because the submission was still loading. It finally went through with only 3 seconds remaining.

</comment><comment><USER75> Unvelievable.

I ask my students to send my texts by email. This minimizes any kind of crapload of shit that can happen with any app. And size is irrelevant: just send several mails if (should not happen) your photos take more than 20mb.

</comment><comment><USER76> This whole situation boils down to a lack of understanding of who the software's users are and a lack of simulation of their use cases. This problem becomes glaringly obvious if you perform user studies with a sample of test takers with simulated tests. The College Board cheaped out by not doing their do diligence to ensure that the system they vended worked as advertised. I'd like to see if this was developed in house or outsourced. If outsourced I think the College Board should sue. If not there should soon be several new vacancies on their webdev team.

</comment><comment><USER77> I can't comment on the technical challenges here but I sure can express sympathy with the students and teachers. I used to teach AP Chemistry, a very challenging course, like all APs I guess. My first reaction was they're still giving the exams? The security around the exams is usually so tight.

Well, I always told my students that even if you didn't do well on the spring AP exam at least you got credit for the course (AP students got a gpa bump at my school), learned a lot of wonderful chemistry, and you got a good taste of what a college course is like.

<comment><USER78> > and you got a good taste of what a college course is like.

I did not take the AP chemistry exam and did not take any college level chemistry. I did take two years worth of AP English and earned college credits taking those exams. I also minored in English in college.

Overall, I found my college level English classes to be significantly less challenging than my high school AP classes. The AP classes were grueling but also worthwhile. Each week we wrote one to two essays in class following old AP prompts. Leading up to the exam we were writing three essays a week. In addition, we covered about three times the amount of literature that regular English classes at the same grade level covered while also having required summer reading and book reports due at the beginning of the school year.

The classes killed my interest in reading fiction and I have probably read less fiction in the last 15 years than I did during those two classes. On the other hand, I was surprised by how poor some of my peer's writing skills were when I started taking 300 and 400 level English classes in college. I was thankful for the AP classes when I saw how far behind some were.

I'm not the greatest writer. However, those classes, and the excellent teachers who taught them, gave me the ability to write. Before those classes I struggled to write the very few essays I was required to write. Afterwards, I churned out essays with ease while my peers struggled to meet the minimum essay length. The experience was one of my most important educational experiences.

</comment></comment><comment><USER79> I know this is mean of me, but the student who was taking her Computer Science exam and who apparently thought that changing the file's extension would change format? Yeah... she deserved to fail.

<comment><USER80> These students are high school students. I'm very doubtful that this course covered material like file types and encoding. First year CS classes are almost exclusively programming basics and architecture.

This line of thinking only really makes sense if you presuppose that every person taking a computer science course in high school has an understanding of file types. Many don't have this knowledge. I don't see why students should need to have additional knowledge that is outside the scope of a course, just to pass the clase.

There's a reason these things are taught in a CS program, often at higher levels. And that's because they're not common knowledge.

<comment><USER79> She's taking an exam. Surely she should understand these things by the _end_ of the curriculum, right? I mean, she's just been learning them... or should have.

Besides, I don't know what it's like in the US nowadays, but back in my time (late 1990s, IB) the computer science curriculum took file formats and so forth as granted, and concentrated on the theoretical constructs such as Turing machines, lambda calculus, decidability, computability, and the theory of recursive functions. I remember my exam required proving the identity between a particular integral and the Euler (not Riemann) zeta function and whether it could be evaluated in polynomial time to an arbitrary degree of approximation. We had to sketch out the algorithm that would do this in terms of pseudocode.

Trying to transcode a file by changing the extension... I dunno... it seems kind of meek.

<comment><USER39> Was that all covered by your first semester course? Because if so, that's more impressive than a first semester course and MIT, CMU, or Harvard, let alone what a public school can offer.

<comment><USER79> That was covered by a two-year IB (International Baccalaureate) course in Computer Science running from 1997 until 1998. I attended a private school (the International School of Milan).

<comment><USER39> I don't know the IB system, but AP tests are equivalent to testing students on a first semester college class. In computer science in the US, that means basic data structures and simple algorithms, and it's been that way for the last thirty five years at least.

<comment><USER80> I generally don't like to say people are making things up, however there is a lot of mythology around how much work IB students do. I've frequently seen IB students while I was in undergrad boasting about their level of proficiency, despite it seldom being supported.

<comment><USER79> If you think I'm boasting about something from more than two decades ago, that's your problem, not mine.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER81> OK, I honestly don't blame them for not supporting HEIC yet. What I do blame them for is clearly not testing their system against the software and hardware students will be using. There would've been no problems at all if the system handled the problem and explained how to resolve it, but it sounds like it failed in a somewhat more silent fashion. Without question, they should be resolving this problem on their end.

<comment><USER82> They did not anticipate idiots renaming files to "convert" them.

<comment><USER53> It is incompetent programming no matter how you slice it. Extension validation is not input validation. Whoever wrote that code is more idiotic than any of the students because basic input validation was literally their job here.

</comment></comment></comment><comment><USER83> This is enterprise software, which by definition means the people who approved and purchased it are not the people forced to use it. That alone usually makes it garbage.

"Enterprise software" also frequently implies it was supplied by the lowest bidder, and that means it was poorly-designed, poorly-implemented, and poorly- tested by inexperienced programmers.

And hundreds of students are at its mercy. This is probably actionable.

</comment><comment><USER84> If any other vendor had decided to switch to a home-brew patent-encumbered format as the _default_ format for image storage, we'd mock them relentlessly. But because Apple is the best at everything, somehow switching their entire software stack away from an accepted global standard instead of doing the hard work of getting widespread adoption first before going all-in gets a pass.

</comment><comment><USER85> I suppose either they didn't call Apple up for help or it's no longer possible to do so in any meaningful way. This is bad press for Apple, too.

<comment><USER39> The only change they needed to make was one line on their upload form (according to comments elsewhere on the post). This wasn't an Apple support issue, this was a lack of trying and sufficient testing on the College Board's part.

<comment><USER85> Afterward, when they have thousands of images they can't access, it's a support issue. It's time sensitive so they can't just have people re-upload the images, but retesting is a bad solution.

</comment></comment></comment><comment><USER86> > Everly Kai, a senior in British Columbia, had the same problem with Computer > Science A last week — she attempted to rename the file to JPEG and received > the same email a few hours after submitting her test.

If you're taking a CompSci test and you think that renaming a file changes it from one image codec to another, you probably don't have a bright future in CompSci. just sayin'

</comment><comment><USER87> But.. it SAID on the page JPEG, and they uploaded some other random file.. The actual problem here is not that it does not handle the HEIC files, but that it does not return an error message detailing it so students can upload with a supported format.

</comment><comment><USER88> I think this year is going to have to be written off in terms of secondary education.

These AP tests, which are already probably one of the few objective competence-based exams, are going to be not trustworthy given all these issues. While probably not being grossly cheated on under this new format by huge numbers of students, it just is not believable that they're producing results fairly comparable with controlled testing environments.

Add to that the asinine notion to move everyone to Pass/Fail (or even "all- As", ala Berkeley) out of equity reasons, and this year is just an exercise in social promotion -- it's for sure not an exercise in effective education. I'm sure this will just add to the calls to toss out all tests (SAT, ACT, AP, etc), and just move to having your own teachers assess you on whether you're ready for college (no unintended consequences there, I'm sure!).

<comment><USER39> The problem is that we already don't care about the learning, just the credentials. Everyone making these accommodations is doing so because they know that there's no point on holding students back when it doesn't help anyone to do so. Certainly not the students, but also not the school systems, the colleges, the future employers, and not even society generally.

</comment></comment><comment><USER89> For people not in the US: AP mean "Advanced Placement";

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

</comment><comment><USER90> If it's a matter of transferring files from the phone to the desktop, uploading to Dropbox and then accessing the file from Dropbox does automatic HEIC-to-JPG conversion (do this for sites like eBay)

</comment><comment><USER91> So if you need more time to cram just upload with this image format

</comment><comment><USER92> If at scale companies are going to deploy new formats at scale they could help out by adding support for said formats to common processing libraries long before the fact.

<comment><USER39> HEIC has been in wide use for three years now (about half of Americans use it, knowingly or not), and this was a one line change on the upload form that the College Board didn't include.

</comment></comment><comment><USER93> If I were a tort lawyer, I'd be salivating right now.

<comment><USER94> [https://www.washingtonpost.com/education/2020/05/20/class- ac...](https://www.washingtonpost.com/education/2020/05/20/class-action- lawsuit-filed-against-college-board-about-botched-ap-tests/)

</comment></comment><comment><USER95> Fun fact (and obscure feature): If you edit a pic on your iphone, even just slightly cropping it, the system saves it as a jpeg. This to me is a testament to 2 things: phone manufacturers have a problem with feature discovery; these students are lazy and unable to operate even the most basic Google search, which would have resulted in this or many other quick solutions to make the file compatible. Frankly? They better be smarter next time, instead of putting the burden on the developers (who actually baked in the right exception)

</comment><comment><USER53> What blatant incompetence on so many levels. There are so many people here that need to lose their jobs, COVID be damned.

</comment><comment><USER96> I love cheap labour. Seriously you get what you pay for and no one wants to fucking pay what good software is worth.

</comment><comment><USER97> iPhones are used by >80% of US teens. It's unfathomable that who ever wrote the College Board software thought it was acceptable to have this defect. What _were_ they testing it against?

</comment><comment><USER98> Typical Apple, trying to force some technically-superior crap down our throats rather than attempting to play nice with the rest of the world. Nobody else uses HEIC. I daresay most people don't even know what it is. Why not play nice with others by default!?

<comment><USER53> Blaming Apple for this is ridiculous. It is trivial to validate input, and it is trivial to do so in a way that the iPhone will upload JPEG by default.

</comment></comment><comment><USER99> So what does this do to "the curve"?

</comment><comment><USER100> Here you go college board, this one is for free:

        heif-convert -q 95 "$i" "$i.jpg"

</comment><comment><USER101> consider Postel's law

</comment><comment><USER102> .

<comment><USER103> So you build a service that doesn't properly validate or gracefully handle invalid file types and it's my fault as the end user when I try to upload something and the system fails?

If you build a service that can't support one of the most commonly used platforms in the world, that's on you the developer, not me the user. This is software engineering 101 right here, and was completely avoidable on the part of the developers.

<comment><USER102> .

<comment><USER103> So why should a student with an Apple product be punished for hostile moves Apple has made? What if the school issued the device the student took the test on? You're punishing the wrong party here.

And knowing that these big companies do stupid stuff around standards is part of building software. This isn't any different from the browser wars. It's completely unrealistic to expect developers to not have to deal with these kinds of issues.

I think the anger around Apple's hostility towards standards is valid, but completely out of scope for this kind of issue.

<comment><USER102> .

<comment><USER103> > Sorry, Apple buyers, but you've purchased a device that flaunts standards, > and you must expect it to cause problems.

Sounds like you're putting blame on the students in this situation.</comment></comment></comment></comment></comment></comment>


Ask HN: Coding mentor / contractor - <AUTHOR> I would like to learn how to code and build a simple prototype product. I have studied some python on my own (and think I will be a quick study - was a math major). My thought about the best way to achieve both goals would be to hire a combination coach / programmer that I could, say, Skype with for a couple hours every Saturday morning and go through my progress and get his/her advice on roadblocks I am facing. In addition, I'd probably ask him/her to create some of the product, and then explain to me what they did. Has anyone heard of any service/person like this?<p>I live in SF in case there are local solutions.<p>(First post, hope I did this right) <comment><USER2> Since you are in San Francisco, I would recommend going to meetups as a place to meet other coders with similar interests. Employment in a workplace with coders is also a possible option. Or taking some classes.

Good luck.

</comment><comment><USER3> hackhands?</comment>


If the Waffle House is closed, it's Time to Panic (2016) - <AUTHOR> https://fivethirtyeight.com/features/if-waffle-house-is-closed-its-time-to-panic/ <comment><USER2> I was in downtown Columbia, SC for this rainstorm:

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

The next morning, my girlfriend and I ventured out on foot to attend a yoga class. The yoga studio was closed, so we went to the Waffle House next door and got something to eat. They told us that their water supply had been compromised, but had made special arrangements so they could make coffee safely. We enjoyed a hearty breakfast.

We learned only later that some areas of town had gotten two feet of rain, that houses and businesses were underwater, that multiple dams had been breached, that we should boil all our tap water for a week, and that most people in town were without water entirely. My employer (the University of South Carolina) shut down for a week.

Indeed. Waffle House doesn't kid around.

<comment><USER3> I suppose it wasn't the Waffle House by Garner's Ferry Road and I77? I have relatives near that part of Columbia and was supposed to see them that early October but wasn't able to due to that massive amount of flooding. It was unreal. Luckily, they love on a hill and avoided a lot of damage.

<comment><USER2> The one on Harden Street in Five Points. That part of town, and the whole downtown area, was mostly unscathed.

</comment></comment></comment><comment><USER4> I am a huge fan of Waffle House. I love their hash browns. There are none on the West Coast. It is one of the few things I miss about the East Coast.

I am incredibly impressed. They tend to look like glass boxes,* typically with at least two outer walls of large windows. One back wall is bricked in on the kitchen side and one end wall where the bathrooms are. The front end may have glass on three sides. This is where extra seating goes.

They typically have a galley kitchen with bar seating in the middle and booths to either side that are readily served by cooks and wait staff, plus that additional seating area towards the front (towards the main road, usually).

They have sort of a bad reputation as a dive restaurant, probably in part because the building looks so much like a glorified trailer and the prices are low, but the food is good and I have always loved the chain. My dad grew up on a farm, so I come from humble people who like down to earth places like this. Reading this article makes me feel really good about being a huge fan, in spite of the classist contempt some people have for the chain.

You would think that a place that (very often) looks like a glass trailer would not be the first thing open after a hurricane. So, I am astonished, but happily so.

* [https://www.bing.com/images/search?q=waffle+house&go=Search&...](https://www.bing.com/images/search?q=waffle+house&go=Search&qs=bs&form=QBIR)

<comment><USER5> Anyone that eats at a place based on the decor or the other clients is missing out on a lot of good living. This goes up and down, for Waffle House and the Savile'. Generally, if people decide to eat at a place based on what they think others will think of them, then I think you know what to think of them.

<comment><USER6> That's something I've noticed as well. My own take on Mexican restaurants is, the more elaborate the decor, the less impressive the food. The little taqueria in the strip mall has far better food at a far lower price than the impressive-looking chain restaurant, in my experience.

<comment><USER5> It's called : Yellow Sign Mexican, at least in LA. All the best Mexican food places tend to be in a strip mall and have a yellow sign with black letters on the 'billboard' thingy for the strip mall

</comment></comment></comment></comment><comment><USER7> That's a lovely study in contingency planning. This is something that always strikes me when doing research in line of my work, how many companies are simply totally unprepared for even the most obvious things that can go wrong. It's logical, paying attention to the happy path is where the business is, it is where you grow. But if you _only_ concentrate on the happy path you're a small step away from a disaster.

Now, natural disasters such as this one are much harder to plan for and deal with than the issues that could affect your average start-up. When you're moving and selling atoms the chain from raw materials to revenues is a very thin one with many weak links just waiting for the right conditions so they can break.

In contrast with that, in IT most disasters are man made and easily protected against. And yet, few companies do.

<comment><USER8> > In contrast with that, in IT most disasters are man made and easily > protected against. And yet, few companies do.

If I'm competing in a high growth industry against somebody who is busy planning for the worst, I'll move twice as fast and put them out of business before their plan can matter.

<comment><USER9> And this is why Silicon Valley isn't always trusted.

Yes, you probably can, and more often than not your gamble will work. You'll move fast and disrupt and break stuff and odds are you can even say, up front, 'I'm moving fast to give you more without that boring planning stuff!' and may still be able to put the other guys out of business: depends on how well they handle it, and how hard you can push.

And then the natural disaster strikes and you're moving fast again, to make an insurance claim (or get out of town!) and the people who in turn gambled on you, are boned. Perhaps very catastrophically boned. And it's their fault, because let's say they were told up front that it was a gamble.

But people are dumb.

And you can put a lot of more responsible community oriented business- operators out of business before their planning matters, because people are dumb.

Depending on what you do (taco stands? Hospitals? Building dams and bridges?), your very Silicon Valley approach could be anything from colorful to criminal. I will hope the bridges I drive on are 'planned for the worst'. But there's only the inertia of social expectation, and whatever exists in terms of enforceable legislation and policing, to ensure that. And you can always violate legislation as part of your 'move faster' strategy, and expect to just deal with it somehow later. So that leaves only the inertia of social expectation.

<comment><USER10> DM;SV

Didn't matter; Still vested.

</comment></comment></comment></comment><comment><USER11> That's my favorite Waffle House[1] (It was reconstructed after Hurricane Katrina)! I used to eat there all the time and watch the shrimping boats out on the gulf.

This comment doesn't have much purpose other than one of those small world moments.

[1] [https://espnfivethirtyeight.files.wordpress.com/2016/12/prom...](https://espnfivethirtyeight.files.wordpress.com/2016/12/promo_4x3_waffles_2.jpg?w=1024&quality=90&strip=info)

<comment><USER12> Im sorry. I bet that is weird to look at the photo then. D:

</comment></comment><comment><USER13> Craig Fugate told his Waffle House postulate in Nov 2009 at the first Random Hacks of Kindness hack day.

Video: [https://www.flickr.com/photos/jeremyjohnstone/4110293316/](https://www.flickr.com/photos/jeremyjohnstone/4110293316/)

<comment><USER14> Thank you so much for posting this. I recount this rule of thumb frequently, and its nice to have a citation to refer to when sharing with others.

</comment></comment><comment><USER15> While not in the food industry; I work for a national auto parts supplier which of course has more than just auto parts; large scale natural disasters are something to behold. From the store teams who check both company and privately owned stores for needs to staging the warehouse with goods the local community will need as well as the warehouse as well; that can be as little as a semi trailer based generator.

still as with all organizations what also comes up is spinning off demand to other stores and warehouses. getting those outside the affected area ready to help those affected and so on.

the key though is communication and you must develop a well defined plan of how to communicate. this means from who, how often, the methods of delivery, and with email it can me using specific templates to make it readily apparent everyone is on board.

anecdotal, with family and friends of who volunteer for fema, there are just "constants" that they also use for knowing when things are getting better, some are restaurants and other are simply commodity foods and goods.

</comment><comment><USER16> The mention of the Waffle House Index reminds me of the Big Mac Index used to compare currencies. The idea is that a Big Mac, being something of commodity made from common ingredients, should cost the same everywhere in the world. If it is significantly more expensive or cheaper in another currency, than that currency must be over or under valued.

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

</comment><comment><USER17> Waffle House has a map of their locations, but it doesn't show which ones are down. Waffle House #1260, on Galveston Island one block from the beach, is probably in the worst position.

<comment><USER18> I'll forward this thread to the devs. Maybe that's a feature they'd be interested in adding.

</comment></comment><comment><USER19> I was living in Udon Thani in northeast Thailand in the year of the great Bangkok floods.which is well over a ten hour drive from Bangkok. We had heavy rains but no real flooding. But when Bangkok was hit, a huge part of the supply chain for the whole country was trashed. The western style supermarkets were almost empty for months after the floods. It was impossible to buy basic things like instant noodles and disposable diapers for months. But fresh food, vegetables and meat were mostly from local sources so the wet markets where you traditionally shop every day for food were largely unaffected. It was the "modern" infrastructure which shown to be little more than a house of cards.

I would imagine that in so-called developed economies, there isn't anything except the "modern" supply chains. If a supply chain is using terms like "just-in-time" then there is no way of dealing with things when infrastructure goes down.

You guys are so screwed....

<comment><USER20> If the natural disaster had actually hit your area the local sources would have been destroyed and unavailable for months while the externally supplied sources would resume being supplied as soon as basic local infrastructure was repaired.

</comment></comment><comment><USER21> This actually reminds me of one year I was heading home from my folks' on New Year's. As usual, I found myself driving past Michigan City, IN, around or after midnight, with the usual lake-effect snow going full blast. As not-so- usual, I decided I was going to have to pull off for the night, so after checking into the local Super 8, I set out to see what late-night eating establishments might actually be open. Almost nothing. I swear, this was the first and only night I ever found a darkened Denny's. (Oh, my God! They closed Denny's! You bastards!)

I finally found one source of sustenance actually braving the weather that night: a White Castle, probably only because it was attached to a 24-hour gas station. At least I didn't have to go to bed hungry.

I have no idea whether there was a Waffle House in MI City, or where I might have found it if there were, but if all else fails... I guess there's always White Castle.

</comment><comment><USER22> We were driving away from the Gulf in the teeth of, I think, Ivan back in 2004, the freeways had been converted to only one direction, it's the only time we've ever eaten at Waffle House, they were the only thing open, as we left they didn't look like they were closing

I guess it can't have been too bad

</comment><comment><USER23> This is very interesting and mostly true but I think I speak for all coastal Texans when I say it's not really a good measure of how we're doing, especially those of us that have lived through several hurricanes.</comment>


Tether – Proof of Funds [pdf] - <AUTHOR> https://tether.to/wp-content/uploads/2017/09/Final-Tether-Consulting-Report-9-15-17_Redacted.pdf <comment><USER2> Interesting that they decide to publish this now. Also interesting that this is not a full audit, and while it might show Tether is backed 1:1 to USD, the timing is right before the BTC pump in Oct 2017.

What Tether needs is a full audit of its accounts from Oct - EOY 2017, where number of Tethers tripled.

Hopefully they do put this away once and for all with an actual full audit so everyone can move on</comment>