Arch Linux pulls the plug on 32-bit - <AUTHOR> http://www.pcworld.com/article/3164876/linux/arch-linux-pulls-the-plug-on-32-bit.html <comment><USER2> It is one of the reasons that makes me love Arch: developers are pragmatic. They were always in the early birds for taking decision about the future, like switching to Python3 as default interpreter system-wide, embracing the change to systemd, and now this.

The rolling release aspect imposes to stay as close as possible to upstream versions because upstream does not wait on Arch to update their dependencies to newer libraries versions. This, plus the fact that Arch tries to stay as close as possible to vanilla upstream packages (i.e. less changes as possible), force them to be pragmatic about their choices. They prefer to embrace a change directly when it is happening, encouraging at the same time to contribute upstream for helping them make the transition, instead of trying to maintain a legacy compatibility that can only get worse with the time.

For me the picture is simple here: Arch is mostly used/oriented towards personal computers of power users, and most - if not all - of them are on 64 bit for years now. Instead of wasting efforts to maintain 32 bits compatibility, they prefer to drop it. Side effect will be that people will be encouraged to get a modern computer if not already.

<comment><USER3> The switch to the 'python' command running python 3, as a non-arch user, put me off Arch forever. It just broke everything, which had long assumed 'python' would run python 2.

Not installing python 2, and just python 3, with the name python3, would have been fine.

Arch put us in a situation where it was basically impossible to run python 2 with a #! line, as some distros hadn't yet introduced a 'python2' symlink yet.

<comment><USER4> I'm an Arch user, and it literally broke nothing for me. Packages were updated, life went on.

You seem to be complaining because other distros hadn't done the right thing. I don't see how that's Arch's fault. Are we to hold back for the lowest common denominator? Do we need every distro to join together and agree to a switchover date?

There was official guidance from Python on the switchover, this wasn't some maverick decision. It was just moving forward.

Not everyone wants to be tied to ancient stuff for backwards compatibility - if you do, it's your job to deal with that.

<comment><USER5> My Python 2 scripts on Github start with "#!/usr/bin/python", as do many others. All of these broke for you as an Arch user.

Because Arch did what they did, Python now recommends that Python 2 scripts start "#!/usr/bin/python2" (or the env equivalent).

> Are we to hold back for the lowest common denominator? Do we need every > distro to join together and agree to a switchover date?

It's not just other distros; it's the rest of the world, including all of the scripts that people run but distros don't necessarily ship.

The right way to migrate would be to ship and use both /usr/bin/python2 and /usr/bin/python3. Leave /usr/bin/python as a symlink to python2 for a while. Eventually, drop the symlink, but _do not replace it with python3_. Allow users to opt-in to a compat symlink if they wish. Let stuff catch up. When the expectation that "python" is python2 has faded, _then_ introduce a symlink from python to python3 by default, letting users opt-in earlier if they wish.

> There was official guidance from Python on the switchover, this wasn't some > maverick decision.

No, there wasn't, and yes, it was some maverick decision. It was done without consultation with upstream.

(I am a non-Arch distribution developer)

<comment><USER4> This just feels like culture clash to me - the whole change to Python 3 was about accepting the cost of breaking changes to avoid dragging around useless cruft and bad decisions forever.

The idea that we should then never use `python` to mean `python3` is just so backwards. Sure, in your corporate environment where backwards compatability is suepr important, do that.

In Arch, people have a distro that moves fast and breaks things, and we are fine with that. I'll accept the cost of occasionally having to change a shebang line (although as I have almost never had to go outside the AUR - someone else in the Arch community has almost always dealt with this for me).

> No, there wasn't, and yes, it was some maverick decision. It was done > without consultation with upstream.

Fair enough, I got my timelines mixed up - but to be fair, it was then ratified as the correct way to do things because the upstream project agreed with the core idea.

> The right way to migrate would be to ship and use both /usr/bin/python2 and > /usr/bin/python3. Leave /usr/bin/python as a symlink to python2 for a while. > Eventually, drop the symlink, but do not replace it with python3. Allow > users to opt-in to a compat symlink if they wish. Let stuff catch up. When > the expectation that "python" is python2 has faded, then introduce a symlink > from python to python3 by default, letting users opt-in earlier if they > wish.

I don't really see why I should have to do this manually? If you don't want that behaviour, use another distro. This just feels like you feel like you should have some say in how other people set up their systems.

If you really hate it so much, don't support Arch - that'd be fair. Trying to shame the distro for doing it ignores the fact it's the core idea of the distro to do stuff like that, that's the point.

<comment><USER5> > The idea that we should then never use `python` to mean `python3` is just so > backwards.

I did not present any such idea. I presented a sane migration path to where `python` means `python3`.

> ...it was then ratified as the correct way to do things because the upstream > project agreed with the core idea.

No. It was because the upstream project had their hand forced and are pragmatic about these things.

> I don't really see why I should have to do this manually?

In my proposal for a sane migration path to the ideal? You wouldn't have to do it manually. The distribution would do it. As a user you'd be able to override it to speed up the migration for yourself if you chose; that's all.

<comment><USER4> I chose to run a bleeding edge distro to be on the bleeding edge. Requiring me to make the changes to be on the bleeding edge manually makes no sense.

Expecting that is as weird as expecting super stable LTS releases to run the latest-and-greatest of everything.

<comment><USER5> > Requiring me to make the changes to be on the bleeding edge manually makes > no sense.

Which part of "You wouldn't have to do it manually" do you not understand?

<comment><USER4> Which part of "I want it now, not in the future" do you not understand?

> In my proposal for a sane migration path to the ideal? You wouldn't have to > do it manually. The distribution would do it. As a user you'd be able to > override it to speed up the migration for yourself if you chose; that's all.

I want to speed up the migration for everything - that's why I run Arch. That 'override' is a manual step I don't want to have to do.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> It is a shame that many major Linux distributions are dropping 32-bit x86 support. I used to be able to say with confidence that the old laptop or PC in your garage can run any major Linux distribution, breathing new life into aging hardware. For example, I have an old ThinkPad T42, which I use to test out new Linux distros, which incidentally, is currently running Arch. Using older hardware increases the chances that stable drivers will be available. I put in the CD (or flash drive), boot up, and everything seems to just work(tm). Its no speed demon, but its usable. But now with Arch dropping support for a significant amount of commonly available and being a major, top- level distribution, I feel I now must make specific recommendations for Linux newcomers to try rather then have them waste time downloading a large ISO, transferring it to a flash drive or disc, to find they are unable to boot up with it. This may cause users to give up before even giving Linux or open source software an honest try.

Also, I wonder what this means for the Intel Quark SoC (found in Intel Edison and Intel Galileo boards). Does this mean Arch Linux wont be an option for these devices?

Despite RHEL 7/CentOS 7 not supporting 32-bit x86, there is now a community- led effort to port it to 32-bit x86. I wonder if Arch would consider doing the same (supporting 32-bit x86 as an alternative architecture).

<comment><USER7> tl;dr - due to a CPU bug, you can't run normal i686 distributions on the Quark anyway, and support in mainline Linux is still shit 3 years after release.

> Also, I wonder what this means for the Intel Quark SoC (found in Intel > Edison and Intel Galileo boards). Does this mean Arch Linux wont be an > option for these devices?

I have a device based on the Quark SoC. Support is abysmal for this SoC, especially considering it's been on the market for 3 years (2014). Intel has clearly abandoned this market segment since their repeated headlines of new Quark SoCs has totalled exactly 0 new product launches since 2014.

In mainline Linux I can't use the onboard Ethernet because of some modifications Intel made to the stmmaceth module that weren't pushed upstream. The internet is full of people trying to run newer versions of Linux on their Quark hardware and Intel telling them to use old Yocto Linux BSPs [0] because they can't be bothered to clean up and push their code upstream (or upstream refused to merge it, I don't know and haven't checked).

Also the Quark is affected by the F0 0F bug, so you can't run normal distributions on it because processes will segfault. [1]

> It might solve this issue for Intel Quark, but it would break for any > multicore processors. This is not something acceptable.

Honestly I'm not sure why anyone would want to buy a Quark based system. Support is bad, performance is terribad, and power consumption is also terrible (my Quark system idles at 7W, and consumes 2W when in S5 "off" state). You would be very wise to look for an ARM instead of choosing this dumpster fire of a CPU.

[0] [https://communities.intel.com/thread/105047](https://communities.intel.com/thread/105047)

[1] [https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=738575](https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=738575)

<comment><USER6> Thanks for your post (and tl;dr comment too - I need to work on being more concise :-). I own no Quark powered boards but have some friends who do. It's a shame that they fall into the category of boards with poor software support (and even more of a shame since they are based off the Intel architecture). I own a few raspberry pi's and have been extremely pleased that even my rPi model B+ from 2012 still gets support and updates (and hopefully will for a while longer now that the rPi zero exists with similar hardware). Friends would brag about the faster or cheaper O-droid, Pine-64 or Banana-pi, but with dismal software support, I couldn't justify even a descent performance boost. This reminds me of the little I know of the Android ecosystem, where a tablet I bought in 2013 is still stuck on Jelly Bean, while my 2012 iPhone 5 still gets updates. I wish there was some sort of regulatory label put on these devices (or boards) that would clearly state how many years of support they would commit to.

<comment><USER7> > I wish there was some sort of regulatory label put on these devices (or > boards) that would clearly state how many years of support they would commit > to.

As someone who owns a Raspberry Pi, PandaBoard, BananaPi, Orange Pi, and Intel DK200 I've learned this important life lesson:

Always assume that the most support you'll ever receive for the board is on the day you buy it.

Apart from the Raspberry Pi, no one else gives half a shit to fix bugs or even provide distro updates for their hardware.

Cheap Chinese boards are even worse for this. They'll typically take the SoC kernel (an ancient version several years out of date with the worst patches you've ever seen) and roll some shitty old distro around it (e.g. Ubuntu 14.04, Android 4.4).

A good recommendation for people looking to buy a board is to look at the Armbian [0] or Arch Linux ARM [1] supported hardware (read the notices!!!) and buy that.

[0] [http://armbian.com](http://armbian.com)

[1] [https://archlinuxarm.org/](https://archlinuxarm.org/)

</comment></comment></comment></comment><comment><USER8> One thing that concerns me is packaging desktop virtual machine images for easy reproducibility.

We realized that some users do not (or cannot, due to security policies) turn on VT-x/AMD-V in their machines, and therefore Virtualbox and VMWare Player cannot run 64-bit guests.

So we had to make 32-bit virtual machine images for them. If popular distros stop supporting 32-bit, we will have a harder time packaging such images, since we'll have to use a different distro for them, with different package names, settings, etc.

<comment><USER9> This just means that you'll need to charge your customers more for supporting such obscure configurations.

<comment><USER10> It also means they'll have fewer customers running 32-bit builds.

</comment></comment></comment><comment><USER11> Good for Arch, I guess. Still, there's plenty of uses for 32-bit platforms. Also, much of the attractiveness of Linux (the kernel) and the GNU software has always been in their excellent support for various architectures and platforms.

Incidentally, wouldn't the exclusive use of 64-bit pointers (and size_t) prompted by the inflated need in large address spaces lead to an ever more increasing demand for memory (due to in-memory objects being now bigger in size)?

<comment><USER12> > Incidentally, wouldn't the exclusive use of 64-bit pointers (and size_t) > prompted by the inflated need in large address spaces lead to an ever more > increasing demand for memory (due to in-memory objects being now bigger in > size)?

Yes. This is the reason why some people have pushed for "x32" support, and why Linux 3.4 and above supports it (tl;dr: x64-64, but with 32-bit pointers: you get all the advantages of x86-64 without the pointer bloat).

<comment><USER13> Except processes can't use >4GB virtual memory.

But wait. This could actually work out really well for Chrome, since it's multiprocess, and each process will likely consume <4GB.

That is really cool.

I've been wondering why Chrome on my T60 (64-bit but only 3GB RAM visible due to chipset stupidity) is noticeably, perceptibly _slower_ and far more ready to swap itself to death than on my T43, which practically flies. (The T60 has a Core2 T7200, the T43 a Pentium M.) Bigger pointers sounds like a very interesting theory, especially considering the "enterprisey" nature of Chrome's C++ code - piles of vtables and pointers to pointers to callbacks to pointers to...

</comment></comment></comment><comment><USER14> Will be interesting if a part of the community "forks" arch like they did for 16bit back then. However lowarch is apparently also dead by now: [http://www.lowarch.org/](http://www.lowarch.org/)

I still have that installed on a i386 machine, but not booted since years.

<comment><USER15> > I still have that installed on a i386 machine, but not booted since years.

Did it even work usefully? While Linux itself retains backwards compatible drivers for a long time, X.org and others aren't quite as diligent.

E.g., five years ago I could not run any up to date distribution on Pentium 4 era notebooks with anything more than unaccelerated VESA framebuffers, because there were no compatible drivers for their integrated graphics card any more. (At the same time, we still had Pentium 4 _servers_ in production use!)

<comment><USER16> I feel like this is a place where slackware shines. They keep pushing out security updates for years.

</comment></comment></comment><comment><USER17> Other tech folk have always talked about 32 bit support as a necessary evil since smaller types mean less memory.

The _complexity_ of managing a secondary 32 bit environment has been worse than the memory usage of 64 bit apps for a very, very long time.

<comment><USER18> That need has been met by the x32 ABI for some time now, it combines some of the best parts of the x86_64 arch with the lower memory consumption of 32bit (still limited to 4gb max memory though)

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

<comment><USER19> Does anyone use x32 ABI though? I once asked and only crickets answered. I'm experimenting with my own Linux distribution and was wondering if it is worth the time investment.

</comment></comment></comment><comment><USER20> The original news on Archlinux.org: [https://www.archlinux.org/news/phasing- out-i686-support/](https://www.archlinux.org/news/phasing-out-i686-support/)

</comment><comment><USER21> 32-bit is sometimes used on new hardware to save memory. For example, my Windows 10 tablet has only 1GiB of RAM, and I assume that's why it was pre- loaded with the 32-bit version.

I doubt Linux distros are generally targeting these devices, though.

</comment><comment><USER22> FreeBSD did this too, right after I had just setup a local Minecraft server on an old Pentium D. It's a shame because it works perfectly for that purpose and now it'll just have to sit on FreeBSD 10 for the rest of it's life. I don't plan expose it to the outside world so that's OK for me, but surely 32-bit machines still have a purpose.

<comment><USER23> As far as I know, the only BSD operating system to drop 32-bit support was DragonFly, back in 2014: [https://www.dragonflybsd.org/release40/](https://www.dragonflybsd.org/release40/)

<comment><USER24> PC-BSD dropped it with version 9.2, in 2013.

* [https://blog.pcbsd.org/2013/06/pc-bsd-status-update/](https://blog.pcbsd.org/2013/06/pc-bsd-status-update/)

</comment></comment></comment><comment><USER25> The maintainers are dropping a hard requirement for 32 bit and asking the community to step up if they want to. 32 bit packages can and will continue to be still packaged under archlinux perhaps from [community] instead of [core]

</comment><comment><USER26> What about supporting older 32-bit applications? Without 32-bit support, there won't be any way to run 32-bit games in Wine for example, unless Wine will somehow rewrite it all to work with underlying 64-bit libraries.

<comment><USER27> The [multilib] (ie, 32-bit libraries on 64-bit installs) support isn't going anywhere.

<comment><USER26> That's good! Though since the focus on 32-bit will decrease, it's possible that support for it in libraries will start deteriorating, and in the long term it can become an issue for use cases like Wine.

</comment></comment></comment><comment><USER28> Off topic: I've been in the market for a new laptop that runs Linux, I've never had a PC that ran Linux (closest thing was a Macbook running MacOS, I'm also discounting my work laptop that allows me to VNC into SuSe). After doing some research it seemed like Arch Linux might be a good fit, it seems like a very minimal OS that allows for great customization. However I'm unsure how user friendly it would be for someone who has never installed a Linux distro.

Can anyone comment about their experiences with moving to Arch and the learning curve?

<comment><USER29> "Can anyone comment about their experiences with moving to Arch and the learning curve?"

To me arch is designed to force you to learn the guts of your system, so it has a relatively high learning curve but it is one that pays dividends in the form of understanding what your system is doing and how it is setup. (this aside from the side-effect of keeping it debloated and therefor fast)

Honestly, what I would suggest is this:

Step 1:(if you have the time) go through a full arch install. Now format and do it again without following the guide. Now maybe do it one more time.

Step 2: (if pressed for time and/or lazy) Install Manjaro. I distro-hop frequently, and while I generally try to use debian on servers, for desktop/laptop use I have gone from Arch to Suse to Fedora, but I recently gave Majaro a shot, and I can honestly say next to Suse it has the easiest and most graceful linux installer I have ever seen (beating even Ubuntu). I generally don't like using Mint-like everything in a box distros, but the slimness of Arch along with the Just works of Ubuntu/Fedora/Suse I am finding it highly likely Manjaro is going to be my distro of choice for a long time to come. If in doubt, you can always just fire up different installs in a virtualbox first.

</comment></comment><comment><USER30> Any one still wanting to install 32-bit with XFCE and easy GUI installer,

see; [https://manjaro.org/get-manjaro/](https://manjaro.org/get-manjaro/)

Or simply use "Manjaro Minimal Net Edition (32-bit)"

Another alternative is to use BlackArch (32-bit)

[https://blackarch.org/downloads.html](https://blackarch.org/downloads.html)

</comment><comment><USER31> This is unfortunate. One of the nice things about Arch was you could count on it to run on the older (32bit) systems.

</comment><comment><USER32> Damn, am I the only one who doesn't feel long ago when we were looking for 64bit distributions to test owr brand new opterons? Arch did not exist at the time(if I remember well).

</comment><comment><USER33> I love the rolling release aspect of arch but I'm looking for something more user friendly. Anybody know of a good linux distro that is user friendly and has rolling releases?

<comment><USER34> Debian testing might work. I don't know if it is technically a rolling release distro but it stays up to date. Also OpenSuse tumbleweed. And there's a similar Fedora distro: rawhide, maybe?

<comment><USER35> Why use testing instead of unstable? (genuine question)

<comment><USER34> I don't really know, I haven't seriously used unstable. That being said, I like testing because the packages are generally new enough for my purposes but they've also had more vetting, so I don't have to worry about a broken system as much.

</comment></comment></comment></comment><comment><USER36> welp, guess I'm switching to debian.

I have a few 32 bit machines under my watch, and this is disheartening.

<comment><USER37> Switch to Devuan instead, unless you really have a thing for systemd.

</comment></comment><comment><USER38> they did not mention anything about Arch on 32-bit ARM. Still plenty of devices in the wild

<comment><USER39> The ARM ports have never been "official" ports of Arch Linux. This announcement is about dropping one of the official ports, the 32-bit-only version.

</comment></comment><comment><USER40> Bad news for my old X60 Thinkpad (still the best laptop form factor I've ever owned).

<comment><USER27> If you're interested, Parabola (an Arch derivative) is continuing i686 support pretty much solely because so many of the Parabola developers love their X60's (which is largely due to Libreboot support).

</comment></comment><comment><USER41> Reposted with added "upstart" so Arch fanboys can't nitpick their way out of this.

<comment><USER42> > _stuck to SysVinit and told users "you want Systemd, make a package" until > long after the big distros had made the switch_

Bullshit, Arch was one of the first to switch to _systemd_ as the default way back in 2012. The only "big distros" that switched before Arch were Fedora (obviously since that's where it came from), Mageia which is based on Fedora, and OpenSUSE (but not SLES). The next distro to switch was CoreOS a full year later, and Debian didn't switch until 2015.

I'm not a fan of Arch anymore either, but if you're going to disparage any distro, at least get your facts straight.

Edit: Getting my own facts straight: Mageia was based on Mandriva, not Fedora.</comment></comment>


Low Power Mode on the Mac (Feature Request) - <AUTHOR> https://marco.org/2018/07/31/mac-low-power-mode <comment><USER2> Here is my 2c: don't use Chrome on Macbooks, use Safari instead.

My late 2013 top-of-the-line Macbook Pro has been recently overheating, with battery life that has become very short. My battery health indicator dipped below 79% with less than 600 charge cycles (Apple says it should last at least 1,000 before reconditioning.) I have almost started to convince myself it is time for an upgrade, but then...

In a hunch I decided to give Safari a try, and stopped using Chrome. The result? Laptop is almost always cool to the touch, battery lasts for 5 hours with my typically light use. It has been a great experience overall, highly recommended despite the costs of such a switch.

I will of course, take Marco's advise and make my laptop even more efficient with energy.

<comment><USER3> I took the hardware approach and removed a bunch of accumulated fluff from the fans and heatpipe fins. And re-pasted the CPU and GPU. Big thermal and battery life gains.</comment></comment>


The "Surprise Exam" paradox - <AUTHOR> http://www.thebigquestions.com/2011/12/12/the-surprise-exam-and-more-surprises/

<comment><USER3> Like many philosophical puzzles, this one is based on mapping [torturing] ordinary language into a formally logical model.

In this case "surprise" seems suspect since it is an emotional and physical response - things which are likely to be difficult to predict using formal systems.

Then of course, there is the fact that the surprise is announced before hand rather than exclaimed - "Surprise!" - at the actual event as is the case with a surprise party...and of course surprise parties often do not surprise the person for which they are planned - indeed, sometimes forewarning is a necessary part of the surprise party plan.

Just as a surprise party is rated a success based upon the general standards for parties even when the person for whom it is thrown is not actually surprised (though acting surprised is often helpful), a surprise exam is successful based upon the relevant academic criteria. One simply does not fail a surprise exam because they were expecting it.

What the professor announced was essentially, "On one day next week, there will be an exam. I am not telling you which day that will be." Whatever paradox we imagine finding is dependent on us deeming the purpose of the exam to be to cause surprise among the students, rather than getting them to study or measuring their knowledge or any of the legitimate purposes of the context.

Of course this does not make as interesting a story.

But it is hardly news that a flawed algorithm may produce flawed results.

The problem is that we are trying to treat ordinary language as if it was psuedocode.

            For i = 5 to 1
            i = i - <USER2>
            if i = 1
            then "No Exam"
            else next i

<comment><USER4> The way to put the problem of surprise into logic is more like "On one day next week there will be an exam. It will not be possible to logically determine which day the exam is on." It's a very interesting story, you just have to preserve the core of the problem.

<comment><USER3> > _"It will not be possible to logically determine which day the exam is on"_

Once that becomes a premise, the efforts of the students are of the sort who should be logically classed with:

 _persons in a state of insanity, whose brains are so disordered and clouded by dark bilious vapors as to cause them pertinaciously to assert that they are monarchs when they are in the greatest poverty; or clothed [in gold] and purple when destitute of any covering; or that their head is made of clay, their body of glass, or that they are gourds..._

[Descartes]

<comment><USER4> Well at the start of the argument they're not trying to determine the day it is on, but rather trying to find one day that it is not on.

</comment></comment></comment></comment><comment><USER5> I first read of the 'paradox' in one of Raymond Smullyan's excellent books. My favourite formulation goes like this:

A philosophy professor tells the class there will be a surprise exam this week. He and the class discuss the exam, and they 'prove' that there can be no surprise exam. When everyone has accepted the proof, he announces that there will be an exam on the spot! The exam has only one question: Prove that the exam is indeed a surprise, invalidating the proof that there can be no surprise exam.

This formulation suggests that the exam is a surprise if the students convince themselves that there can be no surprise exam, which is an entertaining trail to follow.

Smullyan also tells an anecdote from his childhood. He and his brother liked to 'fool' each other on April Fool's, and one year his brother announced that the coming April Fool's Day, he would fool Raymond as he had never been fooled before. Well, the day came and Raymond steeled himself for the prank. He waited, expecting a prank or lie with everything they did and every cinversation they had, but no prank, no lies, no fooling.

As he lay in bed that night, Raymond realized that his brother had, in fact, fooled him. Or had he? How could not fooling someone constitute fooling him? According to Raymond, puzzling over the nature of 'fooling' was part of his lifelong journey into philosophy and logic.

<comment><USER6> "When I came home I expected a surprise and there was no surprise for me, so, of course, I was surprised". — Ludwig Wittgenstein

<comment><USER5> Dictionary author Noah Webster was in his office with his secretary, engaged in activities well outside of her professional duties. Noah's wife opened the door and exclaimed in shock: "Noah! I'm surprised!!"

Noah looked up. "No, my dear, you are amazed. It is we who are surprised."

</comment></comment></comment><comment><USER7> There is a guessing strategy that the students can use to guarantee that the exam will not be a surprise. Each day, before class begins, the students declare "We conclude that the exam will be today with probability 1. Therefore, we have advance knowledge of the date of the exam." They might be wrong a few times, but they will be right on the day of the exam, so the exam will not be a surprise.

This means that the professor cannot guarantee a surprise exam, so his original claim is false. But note that the students' strategy requires them to always assume that the exam will be on the earliest possible date and to plan their study time accordingly, which is probably the behavior that the professor was trying to encourage anyway. It just so happens that he has to lie about the surprise exam in order to do so.

<comment><USER8> Belief probability isn't an arbitrary number that you get to declare. A rational student isn't going to be 100% certain that the test is Monday. If you think you could be, let's set this up. Bring your wallet so that we can wager.

<comment><USER7> Yes indeed, my suggested strategy assumes that there is no penalty for guessing wrong except on the day of the exam.

</comment></comment></comment><comment><USER9> Before posting that there is an easy or obvious resolution to the "paradox", please read at least the first couple pages of the literature survey that Landsburg links to [1].

""" The meta-paradox consists of two seemingly incompatible facts. The first is that the surprise exam paradox seems easy to resolve. Those seeing it for the first time typically have the instinctive reaction that the flaw in the students' reasoning is obvious. Furthermore, most readers who have tried to think it through have had little difficulty resolving it to their own satisfaction.

The second (astonishing) fact is that to date nearly a hundred papers on the paradox have been published, and still no consensus on its correct resolution has been reached. The paradox has even been called a "significant problem" for philosophy [30, chapter 7, section VII]. How can this be? Can such a ridiculous argument really be a major unsolved mystery? If not, why does paper after paper begin by brusquely dismissing all previous work and claiming that it alone presents the long-awaited simple solution that lays the paradox to rest once and for all? """

fn 1: <http://www-math.mit.edu/~tchow/unexpected.pdf>

</comment><comment><USER10> couldn't they just say, assuming iid:

      on Thursday you know that the probability that the exam will be on Friday is 1
      on Wednesday you know that the probability that the exam will occur Thursday is .5
      etc.   etc.
      on Sunday you know that the probability that the exam will occur on Monday is .2

So if you look at it from (naive) probability, you can never make the 2nd assumption that on Thursday you will not have surprise test.

you could say the pmf is: .2, .5 .8 .17 .5 and the cdf is .2 .25 .33 .5 1 Which from memory looks like a Beta Distribution.

<comment><USER11> No they couldn't. If the statement was "the exam is going to be on a randomly selected day next week", then you'd be correct.

But that's not the case.

The teacher claims that "students won't know exactly which day until the exams are handed out", whereas by the end of Thursday, they would be 100% certain that the exam was going to be on Friday. Therefore it is impossible for a surprise exam to be on the Friday, so that can be ruled out as a possibility.

Which means that by the end of Wednesday, the only possible day for a surprise exam becomes Thursday, and the same logic which ruled out Friday then applies to Thursday (if it has to be Thursday, it can't be a surprise, so it can't be Thursday), and all the way back through the rest of the week.

<comment><USER12> There a few traps in the question, leading to different refutation or explanation.

The first is the ambiguous definition of surprise. This lead to easy explanation of the paradox. The teacher might as well hand out an exam on a red piece or paper and claim that _that_ is a surprise.

The second is that the teacher invalidly presumes to be able to predict the mental state of his students. This can be stated simply: over the weekend, all his students die unexpectedly. The following week, none of his student are surprised since the set of surprised students is empty.

We can work around those two flaw by ignoring the no-student case and assuming that "surprised" is replaced by a more exact formulation: "on the day the exam occurs, nobody would be able to say ``I knew the exam was today''".

In this formulation, I contend that nothing can be concluded.

The reason for this is that induction can only be applied on facts. The future is not a fact, so to apply induction on a sequence of future events is an error. The only conclusion that one can reach is the contrafactual: if we were Friday then the exam cannot occur on Friday. This is because the reasoning does not rely on any inductive argument but rely only on things that would be facts inside the contrafactual: if we were on Friday now, it would be false that the exam cannot be held on that day and that nobody could say that the exam is to be held that day.

A contrafactual of this nature cannot be built for Thursday, since in _that_ contrafactual ("if we were Thursday...") one would have to reason by induction about teh future. Of course, in the Thursday-contrafactual, one could state the Friday-contrafactual, but you can't build inudction on contrafactual (i.e. non-fact).

<comment><USER11> >The first is the ambiguous definition of surprise.

He doesn't actually use the word "surprise" anywhere in his statement, and spells out pretty clearly what the nature of the surprise would be - "students won't know exactly which day until the exams are handed out. Nothing, other than coming in on a particular day, not knowing for certain that the exam will be that day, but getting the exam on that day nevertheless, would do - e.g.an exam on the Friday would not qualify, as you would already know that this was the day of the exam. And nor would red paper.

>The following week, none of his student are surprised since the set of surprised students is empty.

Again, he doesn't claim that anyone would be surprised. He said that they "won't know exactly which day until the exams are handed out." I suppose you could argue that if they are dead, then they won't even know on that day either, but that's a pretty tenuous point and anyway technically he doesn't explicitly claim that they would know at that point, just that they wouldn't beforehand.

>"on the day the exam occurs, nobody would be able to say ``I knew the exam was today''".

Which is pretty much what he did say.

>A contrafactual of this nature cannot be built for Thursday

Why not? The argument against it being on Friday (and I think we're both agreed that it's impossible for it to be on Friday and still line up with his statement) is that if there's only one possible choice for what day it's on, then the pupils - or at least any that are still alive - would know that the exam was on that day. And if it can't be on Friday, then when it gets to first thing Thursday how many choices are left for possible days for the exam to line up with his statement? One - so we're back to it being a certainty as to which day it would be.

<comment><USER12> True, the way it was worded not involve surprises. Instead, the ambiguity is shifted to the meaning of what consitute knowing, which is pretty much equivalent and causes the same confusion. My aim was to try to put aside such semantic argumentation.

My main point was that future events can't be held as facts.

I used the death of all students as an example. I'm not sure why this would be a tenuous point: it's my central thesis.

Re-reading the paradox as worded, I conclude that the teacher is right: the students won't know exactly which day because they cannot know the future as a fact. They might die, the teacher might die, the sun may explode. I don't consider these as tenuous arguments. They are concrete counter-example that any reasoning involving future events is flawed.

<comment><USER11> It's tenuous because it's almost entirely tangental to the point of the paradox. You could caveat his statement with "assuming that we are all still alive, and in a position to take an exam on any given day next week..." or something like that, and it doesn't change the actual point of the paradox one bit.

Trying to explain away this paradox by talking about people possibly being dead by next week is about as useful as taking "This statement is false" and explaining it away by saying that it could be in a language where "false" means true.

<comment><USER12> Then stop focusing on "being alive" bit. I was giving this solely as an example of why making statements about the future and basing arguments about some future state cannot work. Yet you take it as some trick to avoid having to explain the paradox.

(Your analogy with pretending that the word false doesn't mean false is entirely off base. I don't see the correspondence. But no matter.)

I think I've found a formulation that won't offend your sense: due to time's arrow and causality (which both go forward in time), one cannot make an induction that goes backward in time. This would cause a circular dependency in the inductive proof.

In this case, the steps of the inductive proof go from Friday, down to Thursday, Wednesday, etc. Yet at the same time, causality goes from Wednesday to Thursday to Friday. One cannot simply dismiss causality.

IOW, we have the inductive process N, N+1, N+2, where N is used to proove N+1, etc and where N = Friday, N+1 Thursday, all the while N state depends on N+1 because due to real-world causality, what happens on Friday depends on Thursday.

You seem to wish to deny causality.

<comment><USER11> I'm not the one focusing on it. I'm saying it's pretty much irrelevant to the point of the paradox. It's not about being able to predict any future event except the date of the exam - as I've said, you could put all of the caveats you want in there about any other events either happening or not happening (e.g. "assuming that we're all still alive, and assuming that they don't rename the days of the week before next Friday, and that no-one's changed the terms of the teacher's statement etc") and it doesn't change the paradox.

As for causality, I don't really see how that's relevant either. Assuming you've accepted whatever caveats we feel like adding, then nothing (apart from the test having happened) that happens on Monday, Tuesday, Wednesday or Thursday is going to change the fact that if you've got to Friday without the test having happened you'll have certainty that the test will be on Friday, and therefore won't be a surprise.

In other words, the only things required for the paradox to be a paradox are the idea of a test happening on a day that the pupils can't predict and a deadline for when that test must happen by.

(And the reason my analogy about the word false is relevant is that it's pretty clear what the bounds of both paradoxes are, and you "solve" either of them by throwing in things - whether that's events external to the point of the paradox, or word definitions external to the point - that are outside those bounds, but in either case it doesn't tell you anything useful about the paradox itself).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> One cannot be surprised by a P(1) event. Ergo, the initial statement, that the students will be "surprised" by an event that is guaranteed to happen next week (the exam) is the source of the logic chain that ends in Reductio Ad Absurdum. There is a collapsing probability curve as to _when_ the exam will occur, with an even distribution (from the perspective of the students) of P(.2) for any given day starting on Sunday night, and collapsing to P(1) for Friday after Thursday morning.

Clever logical conundrum though. Certainly forces you to think deeply on words like "Surprise."

</comment><comment><USER14> > In a class that meets every weekday morning, the professor announces that > there will be an exam one day the following week, but that students won't > know exactly which day until the exams are handed out.

Reminds me of quantum physics. The two quantumly linked properties are the truthfulness of the professor's statement and the time remaining until the last possible time for the test. When the professor makes the statement at least 5 days before the Friday, it's true. By the Friday, the statement has become false. Around the Tuesday, the statement is half-true and half-false, an uncertain state.

> …to date nearly a hundred papers on the paradox have been published, and > still no consensus on its correct resolution has been reached.

I'd think far more than a hundred papers have been published on the paradoxes of quantum physics. Can I suggest the surprise test paradox and quantum physics have exactly the same underlying principles behind them.

</comment><comment><USER15> I highly recommend Poundstone's Labyrinths of Reason for an entertaining coverage of this and other similar problems.

</comment><comment><USER16> The truthmaker for whether it is a surprise or not clearly depends on their own belief states. They are reasoning about what they would or would not believe in different circumstances, so they should include a premise about their belief states in their induction, otherwise their reasoning is unsound.

They reason, if there is going to be an exam, and it hasn't happened by Thursday, then it will happen Friday, and _we would believe_ it would happen on Friday and it cannot be a surprise.

They _should_ reason like this: if there is going to be an exam _and we believe there will be an exam_ , and it has not happened on Thursday &c then it cannot be a surprise.

But, they stopped believing the exam was happening. Doh.

EDIT: formatting

</comment><comment><USER17> My thoughts:

The exam can be characterized as "surprising" until the end of Thursday's class. Getting the probability at the end of each day for the exam to be made from now on, we have (M=Monday, T=Tuesday etc):

End of Sunday : P(exam=M,T,W,T,F|S)= 1/5

End of Monday : P(exam=T,W,T,F|M)= 1/4

End of Tuesday : P(exam=W,T,F|T)= 1/3

End of Wednesday : P(exam=T,F|w)= 1/2

End of Thursday : P(exam=F|T) = 1

So, after the end of Thursday class, the probability of the exam is 1, so the students cannot be surprised any more as they are sure that they will be examined Friday. This means, that in every day except Friday the students can be surprised by the exam.

Anybody to point me where the above interpretation is wrong?

</comment><comment><USER18> Setup

1: "You will be surprised to learn the truth value of this is statement, or this statement is false."

Case A

2: "I will not be surprised. I know that the statement is true."

1: "Then the statement is false, and you have been surprised!"

Case B

2: "I will not be surprised. I know that the statement is false."

1: "Then the statement is true, and you have been surprised!"

Case C

1: "I am surprised!"

2: "The statement is true."

</comment><comment><USER8> The paradox is most interesting after only one day remains. On Friday, after Monday through Thursday have passed with no exam, the professor's declaration becomes "we will have an exam later today, but you will not know it until then." If the professor tells you this, do you know the exam will happen? If you can know it, then the professor was wrong (at least) about the second half of his prediction, which brings into question the first half.

</comment><comment><USER19> It seems like there might be an isomorphism between "You can't know the exam will be tomorrow" and "You can't know this sentence is true."

</comment><comment><USER20> The trick is that "being surprised", or more accurately "not knowing on which day the exam will take place", is changing over time.

"D" being the day at which the exam takes place, "not knowing D on Monday" is not the same proposition as "not knowing D on Thursday". If you change the proposition tested at each inductive step, your induction is invalid.

</comment><comment><USER21> Isn't there a problem with the first student's assertion that by Friday the exam would not longer be a surprise? The definition of a surprise in the context of the question is in relation to the state of the students' brains at the time the professor made the announcement.

</comment><comment><USER22> Perhaps an announced 'surprise' ceases to be one, but none the less, what the teacher ought to have said is that there _will_ be a test in a _randomly picked_ day next week. All that's left for the students to guess is how many days they have to study.

<comment><USER4> Not when the teacher is deliberately invoking paradox.

</comment></comment><comment><USER23> Can this be resolved by rejecting the idea that every statement _must_ be one of true or false? If the professor's statement that there will be a surprise exam is neither true nor false, but merely not yet decided, then there is no contradiction. Indeed, the professor can't know for sure that his exam will be a surprise, as the students may have guessed, or placed a spy camera in his office, etc. The professor can guarantee that the exam is not a surprise by announcing it, but he can never guarantee that it is a surprise, only make a good attempt.

Similarly, "this sentence is false" is neither true nor false, but just nonsense. "The set of all sets that do not contain themselves" is not a paradox or a contradiction, it simply describes an object that doesn't exist. Likewise, the professor's statement isn't known to be true or false at the time it's made, and either outcome is possible.

<comment><USER16> Perhaps it can, but the challenge then is to identify what's different about the professor's statement from a statement like "It's raining". Why doesn't the first have a definite truth value, but the second does? (What the professor himself believes is not relevant to the actual truth of his statement.)

You might be interested in verificationism [http://plato.stanford.edu/entries/logical- empiricism/#EmpVer...](http://plato.stanford.edu/entries/logical- empiricism/#EmpVerAntMet) (apologies if you know about it already).

<comment><USER24> What's different about it is its circularity. The students' anticipations of the exam are based on their anticipations of the exam. Sort of like "this statement is false".

<comment><USER16> The students' anticipations of the exam _are_ their anticipations of the exam. I don't see the circularity yet. It's clearer in the Liar Paradox.

<comment><USER25> Circularity is here:

        P( exam is today | P(exam is today | exam was not earlier) = 1) = 0

EDIT: if this is good formalisation of proffesor sentence. I'm not 100% sure.

</comment></comment></comment></comment></comment><comment><USER26> I liked this blog post enough that I clicked through to the author's book, but it's gotten pretty middling reviews on Amazon: [http://www.amazon.com/The-Big- Questions-ebook/dp/B002T0I02Y/...](http://www.amazon.com/The-Big-Questions- ebook/dp/B002T0I02Y/ref=kinw_dp_ke?ie=UTF8&m=AG56TWVU5XWC2)

</comment><comment><USER27> This "paradox" is no paradox at all, and has a ridiculously easy and obvious resolution.

As a teacher:

1) you CAN guarantee for your students that there will be a pop quiz Monday through Friday of next week.

2) You CANNOT _ALSO_ guarantee for them that they will be surprised that day. (i.e. that they won't be sure, on that day, that it's that day).

This is because if it hasn't happened by the last day it can happen, it will happen the last day it can happen.

This obviously makes sense. There's no paradox. There's nothing difficult.

You simply cannot GUARANTEE them surprise, since out of whatever possible space of days it can happen, on the last day it won't be a surprise.

Whether that space is 1, 2, 3, 4, or 5 days, on the last of that day it is not a surprise.

For any space of days in which the exam can happen, the last day would not be a surprise;

therefore, you cannot guarantee them both that there will be a space of days in which it can happen, and also GUARANTEE them that it will be a surprise. (in every eventuality. You can make them an 80% guarantee that it's a surprise, while making them a 100% guarantee that it's a quiz between monday and friday of next week. if you can increase the number of days you can increase your guarantee further and further. if I guarantee you a quiz on one of the next 100 days, I can also 99% guarantee you that you won't be sure you're having it that day -- i.e. will be 'surprised' -- on the day that I give it.)

prior probability. pick a day monday to friday. quiz time comes. monday to thursday they're surprised; if it's on friday, they're not surprised.

why you would think you could also surprise them after giving them a chance to "open" every day up to then is beyond me.

THis is like giving you a guarantee: here are five envelopes, one has a heart in it. I guarantee you will be surprised when you open the one with a heart in it, even if you've opened four of the five envelopes already and found them empty.

um....no... you can't guarantee that. it makes perfect sense, and there's no paradox or worth wasting any breath over.

<comment><USER28> Your envelope example is great because it sheds even further light on the problem: the surprise does in fact exist, it just exists before the moment the final event takes place. In your envelope example, once you open the fourth envelope and discover nothing inside it you can _simultaneously_ be surprised that it wasn't there and that the fifth envelope _will_ contain the heart. In other words, the two events collapse into one. Similarly, when going to class on Thursday you will be "surprised" to find that the test is not that day but rather the next. The only thing that makes the exam version "confusing" is that you then have a full 24 hours to ruminate over this fact, thus making it _seem_ like its not a surprise at all -- but its actually equivalent to on the first day being told when the test will be that week (at which point no one would rule out Friday) - it may be surprising at that moment but clearly won't be by the time the test actually takes place.

<comment><USER27> right, exactly. This whole problem collapses if you don't 'open the envelopes one at a time' while having my 100% GUARANTEE that you won't be sure there's a heart in the one that does have one, after opening any others you've gone through.

An 80% guarantee is fine, but 100% guarantee that you won't be sure, is incompatible with having a space of envelopes and going through it one by one.

why would anyone think otherwise?

the way in which I discovered this resolution is by coding up a perl script to 'monte carlo' different scenarios. I realized at the location that I made the teacher actually have to choose which day the exam will be, there is a space of days.

(they have to choose - or end up choosing - as they break their first guarantee if they don't have it on any day of the week or more than one day of the week, or whatever. it has to be one and only one day of the week, however they end up getting there.)

it doesn't matter if the teacher is choosing one of five days, 10 days, 100 days, whatever. The methodology is that the students get to go through the days one by one.

If you are choosing one of five days, there is a 20% probability of choosing the last of them; therefore given this methodology you can only 80% guarantee them surprise.

if you are choosing one of ten days, there is a 10% probability of choosing the last of them; therefore given the methodology you can only 90% guarantee them surprise

if choosing one of 100 days, 1% probability you chose the last of them; you can 99% guarantee them surprise.

Bottom line, which you discover if you code it up to run in simulations: at some point the teacher MUST actually choose a day to meet their first guarantee. (If they choose none - or end up giving it on none - then they've broken their first guarantee. Any algorithm that doesn't end up choosing a day 100% of the time is wrong).

At the point of choosing a day, it doesn't matter if you make the Teacher choose monday through thursday, monday through wednesday, monday or tuesday, or hard-code it to choose Monday. Whatever the teacher chooses, if the students have access to the teacher's algorithm (which describes the space of possible days), then the last day of the space they would not have surprise. The teacher can thus give a guarantee equal to the number of days OTHER than the last day, over the number of days in the teacher's space. In the usual sense, this is 80% guarantee of surprise.

of course, another question is if the teacher gets to follow an algorithm the students must only guess at. (They don't know what his algorithm is).

In this case, for your simulation you can just hard-code the teacher always giving the test on Monday. Since the students don't know this is his algorithm, they will be "surprised" (they could have thought that he was picking from one day monday thru friday, they had no way to be sure that he was hard-coded to pick Monday), thus fulfilling both criteria of not being sure of what day the test is, and being given a test monday to friday.

sonofabitch. new solution: The teacher can meet his obligations by being hard- coded to give the test on Monday, but not telling his students that this is the algorithm. Since they could be thinking he's choosing from a space of monday thru friday, they could think that the last day is friday: it's really Monday.

this is an interesting aspect I hadn't considered (a secret algorithm).

In this case I would say my response is more nuanced: 1) To whatever extent the students get to know of the teacher's algorithm for picking days, they are that much less able to be given a guarantee of 100% surprise on the day of the exam.

Therefore, if the teacher is completely secret about his algorithm (i.e. he is NOT 'picking randomly monday thru friday') he can surprise the student. Any information he gives his students about his algorithm takes away from the extent to which he can guarantee their surprise. EVEN IF the algorithm includes randomness.

In other words: if the students know the teacher is picking a random day monday thru friday, then he cannot offer a guarantee of surprising them.

if the students have no idea what algorithm the teacher uses to pick a day (and, therefore, have no way to guess at the space), he can offer a guarantee of surprising them.

Thus if students know nothing at all about the teacher, and he knows this fact, he can meet his obligation by giving the test from a space of one day (Monday) without any randomness or space of possibilities.

</comment></comment></comment><comment><USER29> This is why I hated philosophy in college. The logic is extremely simple. The difficulty comes in ridiculously pedantic interpretations of the English language.

Give me mathematics any day. Philosophy? You and the lawyers can keep it.</comment>


Express.io = express + socket.io - <AUTHOR> http://express-io.org

<comment><USER2> Can this do a websocket upgrade on the same http port/connection?</comment>


macOS Big Sur - <AUTHOR> https://www.theverge.com/2020/6/22/21295489/apple-macos-10-16-big-sur-update-redesign-apps-features-catalyst-wwdc-2020 <comment><AUTHOR> Interesting that instead of making the iPad more like macOS, Apple instead makes macOS more like iPadOS. I wonder if this is the beginning of the end for freedom on macOS, with vertical integration and tight control of apps installed outside the Mac App Store.</comment>


Lat/Long to Time Zone API - <AUTHOR> http://www.askgeo.com/

<comment><USER2> We built basically the exact same library at foursquare (though it's in Scala not Java). Would anyone be interested in using it if we open sourced it? We probably should.

<comment><USER3> Definitely, we were planning to develop exactly the same system in our social network <http://ollaa.com> (uses foursquare venues db). I believe that has become a common need for global soical apps. We'd love to see you are open sourcing it, otherwise we will definitely not pay $2,000 for this.

<comment><USER4> Can't imagine it will cost you less to develop in house in terms of salaried engineering hours, and you probably won't get close to AskGeo in terms of performance. A fast spatial index is non trivial. Classic case of not properly valuing the cost of internal engineering resources.

</comment></comment></comment><comment><USER4> I am the developer. Regarding price, we decided to start charging because the serving costs were non trvial and I had been getting a lot of email requests for support that were taking up my time. Then Google App Engine prices went up too.

We didn't expect many paying subscribers and that is how it turned out, but we have enough to make it worth leaving the site up and running.

For low volume users we are thinking of offering a pay-go pricing option AWS style, with a low per-query price.

But this is not our main project now (WeatherSpark.com is) so I don't know when we'll get around to making changes.

</comment><comment><USER5> I've been using AskGeo for about 10 months and am very happy with it. Does exactly what I need. I am surprised to see it's now $200/year.

What I signed up AskGeo said:

Is this free?

      Yes, for now. We built this for internal use and this site doesn't cost
      us much, so we don't intend to charge unless usage takes off. If we do
      charge, it will be to cover costs, not because we think we're going to
      make it big selling access to a lat/lon to time zone API. So for now it
      is free and it is likely to remain so for a long while.

The pricing change has not been communicated to existing users, I was not aware of it until this story had been posted. I'm not sure if they get grandfathered or not. I'm doing about 1 request a day, $200 seems expensive.

<comment><USER6> They seem to be too busy with another project to implement another payment system[1] but maybe you can email them and directly offer a smaller amount of money for a commercial license since your usage is so limited.

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

<comment><USER4> I am the developer. Yes, please contact us if your usage is low but you are commercial. I'm sure we can figure something out that is fair.

</comment></comment></comment><comment><USER7> Looks useful - something that my company could use at any rate. We're currently a customer of geonames's commercial web service.

I have a few recommendations for the developer:

First, the GMail account restriction sounds odd. But I'm guessing you can sign up with any Google account? Lots of people have Google accounts, but don't use GMail... If you can sign up with a Google account (like you often can with app-engine apps), I'd suggest calling it a Google account, not a GMail account.

Second, I think the one-price-for-all-commercial-use is off-putting. I've already seen a light user talking about the price being expensive for 1 request a day, which perhaps it is, and you suggested that commercial users with low usage requirements should contact you. Generally speaking I think you want to be making custom deals for the heavy users, not the light ones. If you want to cater for the light commercial users, you might do better to offer an off-the-shelf package that will appeal to them (whilst being too restrictive for the customers that want heavier usage).

I think heavy users would often a) be willing to pay more than $200 a year (which is under $17 a month i.e. very little), and b) be concerned about the fixed price because you wouldn't be able to sustain heavy usage at that low price and so the chances are that you'd want to cut them off for making too many requests. That's a lose lose situation, when it could easily be a win win (them as a happy heavy customer and you getting more money).

I suspect some sort of rate-limit-based subscription pricing or credit-based pay-as-you-go system may be the way forward. If you used a service like FastSpring you could be taking subscription payments very quickly. (I recommend FastSpring because we're using them and I think they're great.)

I don't want to imply that I know what pricing would make most sense for you - I don't - but I'm pretty confident that the current pricing is a long way from optimal.

<comment><USER4> Thanks for your thoughts. Agree with almost all your points. This just is a tiny side project and we've not gotten around to fine tuning the offering.

And if the 4sq guy's boss lets him spend time to open-source their attempt at this, I don't expect we will. Would be a shame. I'd bet that AskGeo is way higher performance, handles all the corner cases, and would win in a commercial market. But if the 4sq management wants to spend their investor's dollars giving away engineering resources then I suppose our sales will drop off significantly even if our product is better. Hard to compete with a price tag of zero.

</comment></comment><comment><USER8> I don't understand why this has to be queried against a server. Time zones don't change that much. Why can't this just be a standalone library download?

<comment><USER9> _Time zones don't change that much._

Depends on the scale of your application. If it's truely global, then timezones change often. I think Russia tends to change it's timezones every 5 years or so

<comment><USER4> Actually, the Russian time zone change only changes the rules of those time zoned, not the geographical extent of them. Since we just return a tz id, users can just use an updated tz database (any up-to-date Linux system has this) to get the gmt offset at a particular time.

</comment></comment></comment><comment><USER10> You could implement your own using the shapefiles from <http://efele.net/maps/tz/world/>. They have derived the shape files from fip10s data which itself is derived from VMAP0 data.

We created a rough implementation similar to this at postmates using this information but didn't find it worthy of open sourcing.

</comment><comment><USER11> I've been using GeoNames for this functionality to allow users to auto-fill their location & timezone using geolocation for browsers that support it.

Their API endpoint is at [http://ws.geonames.org/timezoneJSON?lat=&lng=](http://ws.geonames.org/timezoneJSON?lat=&lng=)

I've been using it for so long that I don't even know where their docs are anymore.

<comment><USER4> I am the developer. As noted on the page: Unlike GeoNames, look-ups are based on an actual map of the world, rather than "closest point of interest", which ensures accuracy and that you actually get a result for all locations.

We also have a very fast spatial index rather than a slow SQL-GIS solution, and last time I checked, they have usage volume restrictions that are pretty limiting.

We looked into using them before building our own solution.

</comment></comment><comment><USER3> Even though it is still in alpha, it does not convince me to pay $2000 with this design and play framework built-in favicon.

<comment><USER4> Are you implying that web page design skills and icon choices are a good predictor of a coder's ability to write a blazing fast spatial index? This library solves a hard problem very well. The web design is as it is because we threw the web site together fast to help other people solve this problem, not to win design awards. The market is not big enough to warrant further polish.

</comment></comment><comment><USER12> Amusingly, I had to implement this not 2 days ago. Since we're using MaxMind's GeoIP lookup anyway, it was just a case of using the auto-generated com.maxmind.geoip.timeZone class.

Edit: Not quite lat / long to Time Zone, though, more IP -> Location -> Time Zone.

</comment><comment><USER13> This is very easily done with a mesh of two APIs, see <https://bitbucket.org/tebeka/pythonwise/src/tip/timeat>

</comment><comment><USER14> GeoIP includes timezone IDs. And it's a local lookup... and it doesn't cost $2000.

</comment><comment><USER15> can you go just one step further and make it do IP to TimeZone?

</comment><comment><USER16> To play devil's advocate, why is a service like this even necessary anymore?

You don't need a users GeoLocation to find out what timezone they are in. In a web page this information is already available in javascript:

<http://www.w3schools.com/jsref/jsref_getTimezoneOffset.asp>

On the server and your DB you should always store UTC, and your server app should avoid localization if possible, and move all Date-to-String conversion to the client. Then all this timezone nonsense completely disappears.

<comment><USER4> Not everyone is a web developer :). There are tons of sources of geo-tagged data where the time zone is useful. For exsmple, we built it to annotate a database of weather stations with the correct tz ids.</comment></comment>


Things I Wish I'd Known Before My Chronic Illness - <AUTHOR> https://www.nytimes.com/2019/02/18/smarter-living/five-things-i-wish-i-knew-chronic-illness-crohns-disease-ibd.html <comment><USER2> > Chronic illness patients not only face painful physical symptoms, but also > mental ones that linger even when the disease is well controlled.

I could talk a lot about the article, but this lesson should standout.

With a chronic illness, you are forced either by stigma or because you like maintaining relationships, to hide or pretend the symptoms of your disease is better than it is.

This creates loneliness, in someone already under significant strain.

This month an article was published, examining suicide rates in people suffering from my own non-fatal chronic illness. They're ten times higher than the general population, and are unaccompanied by the usual suicide markers. It's no surprise to me.

Chronic illnesses can vary day to day, and having a support network than can support you when things unexpectedly go to pot is essential... And it's essential that the support network won't collapse the moment you do.

If you have the support network... It's essential you use it when you need it, unfortunately, in my experience most people can only really be there for you so often, and people can unexpectedly fail to be the ones helpful to you.

That will be one of the most painful lessons to learn. Who to trust, and how often you can lean on someone else, and what you can lean on others for. Everyone is different, and their circumstances change too, which means every response will be different.

Every symptom, flare and even remission is a mental assault. Make sure you have people manning the battlements.

<comment><USER3> This is probably the most sensible comment that sums up most of what the article stands for. Too bad it's sliding down the comment list, I'm sure it could do a lot of good to anyone who just got hit with the bad news and thinks they are alone or that nobody understands what they go through.

</comment></comment><comment><USER4> I have ulcerative colitis. Same type of disease. Basically there's no cure just management but it probably won't kill us with modern therapies. I basically bleed out my colon and hope it stops with some steroids and biologics.

Smoking helped me more than tremendously. Nicotine replacement did nothing. Last year i quit smoking and fully vaped and had a deathly flare.

Smoking hurts chrons though. The pain is extreme and you don't get opiates because they constipate so just Tylenol. Nsaids are a big no no. I'm about to do another colonoscopy.

The worst part is urgency. During a flare I'll go to the bathroom to bleed every 30 minutes and when it's time to go i literally have 10 seconds to make it there otherwise it's an accident. Sleeping is hard.

So during a flare i have extreme pain, always in the bathroom, little sleep and blood loss.

<comment><USER5> FWIW there are a fair number of people who report good results for this and the original post issues with keto, fasting and related things on Reddit. A bunch of claims around gluten too.

<comment><USER2> I'm afraid I'm going to have to be a little rude here.

You may be approaching this with good intentions, but don't do this.

> Chronically ill people research their diseases ad nauseam. They try more > treatments than they can count. In many cases, great scientific minds can't > crack a cause or cure. So unless someone asks for your advice, don't offer > it.

<comment><USER5> The recent uproar about the NEJM issue containing only marketing is the counterpoint. Dr Fung pointed out that there's no wonder people turn to GOOP when the system is so broken.

So while I understand and appreciate your point, I don't think you understand how corrupted medicine has become. It's now a necessity to do your own research.

Dr Wahls curing of her own MS would be another example.

Edit: here's the goop tweet: [https://twitter.com/drjasonfung/status/1095550994430058496?s...](https://twitter.com/drjasonfung/status/1095550994430058496?s=09)

<comment><USER2> By providing a suggestion, you're implying they haven't tried.

I've spent ten years with a chronic disease with no known cause. I am currently on two trials. You are not capable of naming any suggestion that I have not heard, and that is common in the community.

You don't appreciate my point - you're insulting by making your suggestions. You're suggesting that they haven't investigated something that affects every single part of their life.

<comment><USER5> I meet people all the time whose sole source of information is their doctor. And, I said 'FWIW' as the very first word.

I realize this is the internet but that's a stretch to find an insult.

<comment><USER6> I believe the concern here is that while the intentions to provide advice may be good, the actual result is harmful, and thus it is better not to provide advisement unless explicitly requested in the specific context of someone who has a chronic illness.

The assumption of providing advisement is 1) your advice might be helpful, 2) advising isn't itself a harmful act, 3) you have something worth advising about. In the specific case of a chonic illness, the probability is high that all these assumptions are not correct. Therefore, advising a chronically ill person requires exceptional behavior compared to someone who is not chronically ill.

It's also important that this(unwanted advice) is a common issue that adversely affects a person's QoL, as they are forced to re-address the same ground consistently when they already have limited productive resources.

<comment><USER7> > _adversely affects a person 's QoL, as they are forced to re-address the > same ground consistently when they already have limited productive > resources._

But that's not what happened here. Steve didn't prompt anyone for a response of any kind. He offered a quick one-liner of a suggestion. Shakna wasn't even part of that thread, and just dropped in to tell him to shut up.

It's the internet man. You're quite free to disregard the advice.

<comment><USER6> Shakna was attempting to use a common social cue, criticism, to prevent Steve from continuing to apply inappropriate social behavior, especially relevant given that Shakna has a decade of experience in the nuances of social dynamics in the context of chronic illness. I interpreted Shakna's sharp rebuke as no different than any other expert informing someone that they're participating in highly ignorant behavior.

By criticizing Shakna, you are also participating in a social cue to try and prevent Shakna from continuing to apply inappropriate social behavior (in this case, criticizing others unnecessarily). Does "It's the internet man. You're quite free to disregard Shakna's criticism." not apply also to you?

<comment><USER7> Participating in a social cue...? I just... I don't know.

Don't get me wrong, I'm totally capable of being offended by inane low-content posts on the internet. But I also put some effort into filtering my responses in deference to the recognition of my own biases and insular perspective. I fail a lot, but I try.

Shakna's response seemed to lack any such self awareness. Maybe I'm wrong; maybe i'm speaking from a bubble again. But I do know, and I hate to point out the obvious here, that this is HN -- pretty much the opposite of any sort of health-issue-specific forum. If you post a note regarding a health issue here, you _will_ get advice, likely involving keto nowadays.

I understand Shakna's desire to mold HN into a place better suited to the specific needs of folks like Shakna. Nothing wrong with that. But Shakna's "decade of experience in the nuances of social dynamics in the context of chronic illness" is a lot of weight to expect a random techy internet forum thread to bear, and politely hand-slapping a random dude in a forum replete with dedicated keto experimenters is... well... it clearly risks frustration, right?

<comment><USER6> > If you post a note regarding a health issue here, you will get advice, > likely involving keto nowadays.

Does this mean this behavior should be considered acceptable, or that criticizing such behavior should be considered above criticism?

> is a lot of weight to expect a random techy internet forum thread to bear,

It is also weight to engage in it by providing unsolicited advice. By choosing to engage with the heavy subject, people can choose to engage with their engagement. This is normal human interaction regardless of its weight.

> it clearly risks frustration, right?

Is that for you to decide? I like to believe Shakna is intelligent enough to choose to engage in what they please, even if they are frustrated by it. It isn't my place to judge or advise them, and I'm frankly entirely uninterested in engaging with them about how frustrated they're allowed to get. I'm more interested in engaging with you about how much you should get to tell Shakna how they should react while reacting yourself.

<comment><USER7> > _criticizing such behavior should be considered above criticism?_

Certainly not! It's critical that criticism not be criticized, however I assure you that your _overly_ critical appraisal of my criticism will not be left uncritiqued. By me, right now.

> _It is also weight to engage in it by providing unsolicited advice._

No it's not. That's the whole point. There's nothing weighty about Internet User Steve's unsolicited two cents. Shakna can take it or leave it. Or, he can complain about it, tell Steve he was wrong to open his mouth, and then meet the inevitable pushback with disgusted indignance while two other frisky threadmates get all meta in the corner. Personally, I'm left none the wiser for having witnessed Shakna's precipitated grievances, whereas I feel it would be a bit of a shame if Steve was made to curtail his freewheeling expression, which in this case included a link to a horrifying story about the NEJM (thanks for that BTW Steve).

> _I 'm frankly entirely uninterested in engaging with them about how > frustrated they're allowed to get._

You're right, that would be bad! So don't do that. Instead, gently encourage Shakna to cut poor Steve a bit of slack. You can, without judgment, point out that Shakna's reflexes, gained through years of pain and frustration, are maybe not a productive criteria by which to interact with well-meaning random internet folk, and that some extra persistence in grace, instead of descending into remonstrance after a just one exchange, is far likelier to win converts to Shakna's way of thinking.

Go ahead, try it. Let me know how it works out.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Any patient who tells me they've got to have my private number will be told that they've got to get a different doctor. It is vitally important for me to be able to disconnect from patients and their potentially bottomless well of need in order to maintain sanity.

<comment><USER9> > _patients and their potentially bottomless well of need_

That's worded with a tinge of contempt. Not saying it's undeserved--I've never walked in your shoes, and I can imagine the medical profession being exhausting and one of high-burnout.

But, it does make me think of how things have changed in this regard, for both doctors and patients. Time was that doctors made house calls, knew every patient personally, and frequently cared for multiple-generations of a family. There seemed to be a certain intimacy baked into the profession. Of course, that's pretty much impossible today with insurance, medical costs, etc. making medical practices more of a numbers game.

On the other end, patients are consumers like any other. And, after running a consumer-facing business for many years, I can say that there seems to be an unreasonably high-expectation of service and outright deference to the customer--sometimes bordering on a sort of pathological entitlement.

The result is that there seems to be a lot of hostility baked into transactions and other professional interactions. Given the personal nature of one's health, I can only imagine this to be amplified.

<comment> saiya-jin Imagine you have 7 minutes for a patient, and off to the next one. Imagine 90-95% of your work time is spent in front of computer, filling in forms for every patient coming in, getting any treatment or leaving hospital. Each one takes 60-90 minutes (no kidding). My fiancee's daily/nightly routine, every single day, in biggest hospital in Switzerland.

Our romantic views on what it is to be a doctor are long gone, unless you go with orgs like MSF to ie Africa. Reality is, most of doctor's work these days is pure bureaucracy (maybe apart from surgeons). Any job that gets into this 'corporate work' state will have any positive energy drained out of it.

Do you know any doctors personally? Most of them end up pretty disappointed bitter with their work right after school - those rosy expectations meet reality. In fact, in our circle of friends where there are many young doctors, there is 0 happy with their work.

<comment><USER9> Yeah, I know. That's pretty much what I said.

</comment></comment></comment></comment><comment><USER10> Being stuck in the system without a diagnosis or effective treatment is very scary and maddening. Going through the medical system is a big fear of mine.

<comment><USER11> The author doesn't describe himself as stuck in the system at all. He has a diagnosis, it sounds like many doctors have tried their best to remedy his symptoms and found something that somewhat helps. If anything, he seems grateful for the medical system.

<comment><USER12> For what it's worth, I believe the author is a woman.

Interestingly, and anecdotally, I've noticed that auto-immune diseases such as the author's Crohn's, and my wife's Fibromyalgia/vasculitis _seem_ to affect women more frequently than men.

I can confirm firsthand that the author's major points are all things that have borne out since my wife's diagnosis. We've had good doctors and less-good ones; frustrating insurance dealings that seem to change year-to-year with no rhyme or reason; and supportive friends who may or may not actually understand.

<comment><USER13> You're not wrong, most autoimmune diseases are shown to have increased prevalence in women > men.

However, we (maybe just me, I havent looked at recent literature) don't yet know if that is due to selection bias. Women are simply more likely to see a doctor for their health concerns.

</comment></comment></comment></comment><comment><USER14> We are in a dismal state of medicine on many chronic illnesses, such as the emerging study of Mast Cell disorders which could be affecting upwards of 10% of people but aren't understood by most doctors and is rarely diagnosed (in fact diagnostic criteria for Mast Cell Activation Syndrome aren't even agreed upon yet).

Even to get to the point of treatment you have to be extremely scrappy, spend endless hours on research, have a lot of money available for non-insurance- covered doctors, and still expect to be treated like you are a hypochondriac.

<comment><USER15> I wrote a rant in another comment, but I want to echo this here. The endless research, the costs, the looks you get from doctors, it's all very true.

Thanks for the google terms. Maybe it'll help out!

</comment></comment><comment><USER16> Throwaway for fear of being discriminated against based on this post.

I found out last year that my mentally and physically debilitating chronic illness is caused by mercury toxicity. This was after spending over a decade studying alternative medicine and reading the work of biochemists. I've come to the conclusion that doctors are not appropriate for treating many chronic illnesses--biochemists are.

I'm following a treatment protocol that was published in 1999, has it's roots in the 70s, and in addition to supplements uses medications that were invented in the 50s. It's nothing short of miraculous. There are thousands like me who are having equally miraculous results, including 4 close friends of mine.

It's sad how long it takes for legitimate cures to go mainstream. And this cure in particular has been repressed for political reasons, and probably also profit-motive reasons (although I suspect unconsciously). The people with this illness are routinely mocked by healthcare workers, claimed to be idiots by the mainstream media, and avoided in everyday life if they talk about their illness.

After this experience, I have zero faith in the current healthcare and political system to cure chronic illness. It would be better to give up on it entirely and let biochemists take the lead.

And it's not just the government/healthcare-system/big-pharma/whatever, it's everyday people who just repeat what they hear because it's easier than evaluating the evidence. And then they vote to keep the same system in place that fails millions.

</comment><comment><USER15> Throwaway for obvious reasons.

My SO has one of these types of diseases. It is called Interstitial Cystitis (IC), it's one of the 'bathroom' conditions. Essentially, the cells that make the mucous layer in the bladder were eaten away by a bacterial infection and, hence, there is not longer any protective lining from the urea and other waste products. IC is more of a symptom than a disease, and there are many ways it manifests in ~8 million Americans. IC is incredibly painful when your bladder is full. Think blistering sunburn, but on the inside. Sure, my SO has good days and bad ones. Some foods are known to be more harmful than others and my SO avoids them. Some things help mitigate IC, and the road is long.

But whatever. None of the 'science' really matters here. The pain remains.

What the article was talking about is SO TRUE. Like, incredibly so, and I'm not the affected person, my SO is. The disease is just utterly maddening.

We're both PhDs, myself in a bio field, and my SO in a geo field. We've tracked the hell out of everything, from every morsel of food, to every stair- step, to thrice daily urine testing with a medical grade machine we bought used and fixed up. We're up-to-date as can be on the literature and the latest treatment plans, methods, and equpiment. As PhDs, we know the field very well by now. We're not quite at urine replacement therapy yet, something we've mostly just dreamed up as a treatment, but it's getting close.

It's nothing but noise. We know our stats, we can tell. The pain remains.

The bit in the article about vaping, CDB, bone broth. So freakin true. We've tried it all. Edibles, daily yoga, both at once. Retreats at monasteries and on beaches have produced no results. We've gone to total keto, to total meat, to total raw-veg diets, fatless, sugarless, protienless, etc. Daily HIIT did wonders for my SO's mile times, it went down to under 5 minutes! My SO even got exercise related asthma. We've done water therapies, and sensory deprivation tanks together. Every quack pop-culture fad since the 1820s, we've done it.

Nothing comes out of it. The pain remains.

Therapy has been a wash. Some of the integration work has helped out my SO's metal state. But honestly, most of the therapists around us are bunk. Three of them didn't even know that the urethra wasn't connected to the sex organs. I've no idea what they teach therapists, but a twinge of anatomy may be helpful. We've gotten religion, a few of them, only to be smacked in the face about how we need to confess more and sin less, or about the gender roles in our house, or about how Jesus loves us, but not in that way. I've been told to leave my SO to my face, with my SO standing right there, by more than one religious leader.

No matter how much we pray, still the pain remains.

The online and IRL groups have been a disaster. When some meet, it's mostly just tears and weeping. Nearly no couples stay together after 5 years, from what we've seen. The script is that the unaffected SO declares that nothing will drive them apart, typically somewhat aggressively. 24 to 18 months go by and then just the IC ridden person is attending alone or posting online. Divorces happen frequently. We've been to more than a dozen funerals and seen many posts online that give the last updates for what happened to the frequent poster: typically they choose pills, a few use a gun, some swan-dive off the Golden-Gate; there's a lot of ways people choose. You forge bonds with these people, try to help them up when it gets bad. And they just stop coming to meetings one day. My SO and I, I dunno, it's tough, like really tough.

And still the pain remains.

My Mom emails me new quack remedies all the time. The most recent was about just eating raw ginger all the time. We're going to try that out next week. My Mother-in-law just thinks that it'll get better when we get pregnant and then go away. The pain is too much for most patients to even think of attempting intercourse, many sufferers use a LOT of local anesthetics to do the deed, if at all. I've been at the end of my rope a lot of times, and then discovered that there is a lot of rope left. Love is funny like that. I've had heart to hearts with the family about how I NEED help. The article is great about that tiny little aspect. None of the family ever bother to google a thing about IC and then most forget anyways. It's constant education even towards very close family. I've given up on reaching out to friends and family, it's just too tiring.

And still the pain remains.

I've no idea why I wrote this rant. Sorry for the wall of text. I'd love to hear any remedies that you may have for IC, we're up for anything. I guess I just wanted to add another voice that says that the article is really really really truthful, at least, towards me.

<comment><USER7> > _I 've no idea why I wrote this rant. Sorry_

Don't apologize, you wrote it so we could read it. That's what the internet is fucking for IMO.

Thank you, seriously, for sharing this. I hope your SO and you find the way.

<comment><USER15> ;)

</comment></comment></comment><comment><USER17> I think we should just let people be allowed to die by medical assisted death and be it mental or physical pain (whatever illness). I've known persons with gender dysphoria who want to end their life and they're rational people. The medical system even has assisted death but ignores these people in pain and they turn to self suicide. Some fail and end up in worse states emotionally & financially.

<comment><USER18> I don't think a low barrier to entry is a good idea for something as serious as medical-assisted suicide. Being in mental or physical pain, outside of absolute terminal illness, and being able to choose death for something that may very well be a temporary problem is not a good solution. You mention people who turn to self-inflicted suicide, who fail and end up in worse states emotionally/financially. But what about those who have failed their suicide attempt and eventually end up in a good place and live a happy, normal rest of their life? Had they been given the option of medical-assisted suicide, they would have never have gotten the chance to experience that.

<comment><USER17> Who cares about the what if game. A system should be in place for persons who are in pain that want to successfully end it. No free will exists until such a system exists.

<comment><USER19> If we're going to talk about no free will existing until certain systems are in place, I would say systems of actual good medical care, without financial stress when you have a serious illness, are a pre-requisite to having "free will" to decide to end one's life when in such a situation. Giving up because you are financially ruined and still can't get attentive medical care is no more "free will" then _not_ killing yourself because "systems in place" aren't available to help you do it.

<comment><USER17> That is a made up justification to force a person into living in a broken system when in unbearable pain. While ignoring the person who wishes to end her life and exerting one's will forcibly upon another who is not privileged.

</comment></comment></comment></comment></comment><comment><USER20> the narrative of 'chronic' illness is a shame

edit: I always get beat up on the internet when I make comments like this. Not sure why I keep doing it. Slow learner. In this case, I meant that it is a shame medical professionals tell folks that their issues are going to be with them for perpetuity, as in a lot of cases the medical professional is reinforcing a narrative of helplessness.

[https://www.amazon.com/You-Are-Placebo-Making- Matter/dp/1401...](https://www.amazon.com/You-Are-Placebo-Making- Matter/dp/1401944582)

<comment><USER16> The word "placebo" has been used against me over and over. It is frequently used as a justification for ignoring chronically ill people. It suggests that we are incapable of feeling anything physically real in our bodies.

Totally agree that chronic illness is curable if you look outside the traditional healthcare system. But that book is hand-waivey mumbo jumbo.

<comment><USER20> the book is what you make it. most of the beginning of the book is actual cases of folks taking their health into their own hands, which I find empowering.

certainly dont condone throwing placebo around as a reason to ignore chronically ill people.

just think folks are not presented with this path of recourse by the traditional healthcare system. the placebo is treated as a dirty word and stigmatized. why not attempt harness it? who cares if you cant currently explain the mechanisms at work, the results are what matter.

<comment><USER16> I'll bookmark it and maybe look at it someday. But my illness is caused by mercury poisoning, and I'm responding dramatically to treatment, so not very interested in inexplicable theories at the moment.

<comment><USER20> well yeah. if you have an actual diagnosis such as that, a treatment protocol known to be effective makes perfect sense.</comment></comment></comment></comment></comment>