Google activated battery saving mode on multiple phones, then rolled it back - <AUTHOR> https://www.reddit.com/r/GooglePixel/comments/9fkrvw/is_anyone_elses_power_saving_mode_turning_itself/e5xl907/ <comment><USER2> We need more transparency from companies, this time it was a 'bug' that was visible to the end user (hey! who turned on power saving?). Would Google go public if they also develop a 'bug' that is not visible easily by the user or if it was not discovered by anybody but them? Like a 'bug' that changes certs temporarily to intercept your encrypted traffic or uploads random data elsewhere, etc?

<comment><USER3> You can avoid all of this by using an iPhone. Apple's business model does not involve ad revenue or data collection. Your data is collected but is used purely to improve the iPhone. Your data is intentionally obfuscated for privacy. For an example of Apple's strict policy, check out this article on Apple Maps: [https://techcrunch.com/2018/06/29/apple-is-rebuilding- maps-f...](https://techcrunch.com/2018/06/29/apple-is-rebuilding-maps-from- the-ground-up/)

<comment><USER4> > You can avoid all of this by using an iPhone.

Not really. [https://www.apple.com/lae/iphone-battery-and- performance/](https://www.apple.com/lae/iphone-battery-and-performance/)

> Apple's business model does not involve ad revenue or data collection.

I fail to see how ad revenue and data collection has anything to do with battery saving mode.

<comment><USER5> It doesn't, monitoring and configuring battery saving is relatively harmless to the majority of consumers. The point that the OP made is that there is nothing stopping them from doing more harmful tests like experimenting with web traffic, running benchmarks or something, tracking app usage in terms of direct relationships (e.g. this person always reads emails, then hacker news, then checks snapchat, then browses these kinds of shopping apps), etc. I'm not saying that these are likely, but when information about specific users drives ad revenue up then it's not much of a leap to suggest they'll collect a bunch of information that people don't want them to collect.

</comment></comment></comment></comment><comment><USER6> I'm taken aback by how many, even in this tech forum, seem surprised to learn that automatic os updates means settings can be updated automatically.

Bugs are bad and all but I don't understand the "how could Google do this?!" questions. Am I missing something?

<comment><USER7> This happens in ubuntu linux actually. Every now and then, an update changes my configuration of systemd without asking.

<comment> B-Con Thus is the nature of updating settings. Easy mistakes to make include:

* Changing a field's default value (is that even a mistake? users might perceive it that way. Also, is there a difference between a field set to the default value and has never been changed vs a field explicitly set to the default value? Should you change it in the latter case? Did you even track the latter case?).

* Overwriting a field's non-default value and setting it back to default.

* Migrating a field and mapping the non-default value to the wrong non-default value.

* Migrating a tuple of fields to another tuple of fields and getting the map wrong for an edge case subset of the input values (bonus points if that subset was thought to be an impossible state to get into).

etc...

The best way to avoid settings updates it to throw it all on the user. eg, Arch Linux just takes the approach: if, you update a file in /etc, the new file is just created with a special file extension and merging the new and current file is left to the user. You don't get nearly as many surprise updates, but... you spend time merging config files, which few people are willing to do.

<comment><USER7> > The best way to avoid settings updates it to throw it all on the user. eg, > Arch Linux ...

actually I prefer Slackware's way to do it: you can keep either the new or the old file, or launch vimdiff and merge them yourself

<comment><USER8> That's the way Arch Linux does it as well.

</comment></comment></comment></comment></comment><comment><USER9> I don't see WHS the the big issue is. Yes my phone went to red battery low power mode. So what? What aspects of this alter contract between me and Google over automatically applied updstes? I gave can implicitly ages ago.

If they involuntarily disabled battery saving and caused me to loose service or drain and reduce battery life i could see an issue.

Truly, bemused at the hate. What did you think the t&c said when you enabled updates?

<comment> King-Aaron You've put into words exactly what I was thinking.

From the thread: "Ok, but how is it that you have the power to control our phones this way? "

Christ buddy. You have a phone thats made by Google. Google, the company that tracks you everywhere and rolls greenfield updates on all their other software. And then this person says they're going to turn 'allow modify system settings' off... What do these people seriously think Google is going to do?

<comment><USER10> I think people with a Google phone should just implant a chip in their arm, reporting to Google. It's basically the same thing, and you can view your body information on a Google dashboard and get Google advice on health care, along with a Google map to get there.

<comment><USER11> Many would and will when it's available.

<comment><USER12> Except for the 20% of users who feel that Google is not to be trusted and implant an Apple iChip for the premium experience.

In all seriousness, the percentage of people willing to forego using an Apple or Google smartphone (or any smartphone) to uphold at least some semblance of (digital) control over their life sometimes feels so low that it should be called a permillage.

<comment><USER13> Thank you for the vocabulary.

</comment></comment></comment></comment></comment></comment><comment><USER14> After my Samsung Galaxy S7 phone started having hardware issues, I looked to see if a phone running open source software was available, one that also could run the Android apps I currently use.

I've had sucess with LineageOS 15.1 on a Xiaomi Redmi Note 5 Pro (codename "whyred"). Unfortunately the phone's LTE bands don't support every country, but it works fine here in India. The phone hardware costs USD 210 and buys a lot of hardware: [https://www.gsmarena.com/xiaomi_redmi_note_5_pro-8893.php](https://www.gsmarena.com/xiaomi_redmi_note_5_pro-8893.php)

The phone comes with Xiaomi's Android fork called MIUI. It comes with the bootloader locked, and Xiaomi makes you wait for about 2 weeks to 2 months to be able to unlock the bootloader to install a different phone OS (called a custom ROM). Until then, one has to either put up with MIUI or leave the phone sitting on a shelf.

[https://wiki.lineageos.org/devices/whyred/install](https://wiki.lineageos.org/devices/whyred/install)

Once you unlock the bootloader, you can install LineageOS on it which is fully open source stock Android with some minimal tweaks and extra privacy features. The current version for this phone is 15.1 which is based on Android Oreo. This reminds me of my old Google Nexus 5's phone OS, but it is far more tweakable. You can build the LineageOS ROM for your phone from source code: [https://download.lineageos.org/whyred](https://download.lineageos.org/whyred)

You can install a subset of Google Apps depending on what your preference is: [https://wiki.lineageos.org/gapps.html](https://wiki.lineageos.org/gapps.html) [https://github.com/opengapps/opengapps/wiki/Package- Comparis...](https://github.com/opengapps/opengapps/wiki/Package-Comparison)

Or you can avoid Google Apps altogether by using microG instead: [https://microg.org/](https://microg.org/)

After 2 weeks of using LineageOS, I am so impressed that I'm willing to shill for it^w^w^w describe about it here.

For your country, if the "whyred" phone's LTE bands are not compatible, you should be able to find a similar phone that is.

<comment><USER15> Fully aware this might be a silly question, but why do they make you wait, and why does the time period vary so greatly?

<comment><USER16> Xiaomi temporarily locks the bootloader to prevent third-party Chinese retailers from bundling malware and adware with its phones sold on the international market[1].

[1] [https://www.xda-developers.com/xiaomi-anti-rollback- protecti...](https://www.xda-developers.com/xiaomi-anti-rollback-protection- brick-phone/)

<comment><USER17> Which is hilariously dumb because now 3rd party retailers are the go to source if you want to buy a Xiaomi with unlocked bootloader rather than waiting a month . It's creating more business for the people they are supposedly trying to stop.

Also none of the stock Android phones they sell have a wait time for bootloader unlocking, it's only the ones with their own os MIUI

<comment><USER16> Xiaomi doesn't give a shit about the bootloader itself. What it cares about, is people receiving a modified version of MIUI which it has no control over:

"The retailers would buy Xiaomi devices in bulk, unlock the bootloader, change the software themselves or flash a custom ROM like Xiaomi.eu (unofficial ROMs based on MIUI China but with more languages and features), and then sell the device. Most consumers would have no way of knowing they're running unofficial/modified software, and would instead blame Xiaomi for a lack of updates or bugs they encounter."

<comment><USER18> >Most consumers would have no way of knowing they're running unofficial/modified software

It's right there on the boot screen. They can make it more explicit if they want with a red skull or whatever. That reason doesn't fly. Also, what changes in 30 days ?

<comment><USER16> Xiaomi is primarily a software company, not hardware. It sells hardware almost at its costs, because it treats it as a user acquisition. If a re-seller replaces the official MIUI version with a modified one, Xiaomi loses a customer. Xiaomi doesn't care about Android One phones, and allows them to be unlocked instantly.

<comment><USER18> I think you are conflating a few different things. That they want you to use their OS is obvious. The 30 day period may even be a wear-you-down period, so that you grow to like their OS. That is quite unrelated to the evil reseller backstory, mainly because the reseller could do that after 30 days too, and if they only wanted to thwart resellers, they could do captcha + ip checks, which they presumably anyway do.

<comment><USER16> The percentage of people who unlock the bootloader themselves is so small, that Xiaomi couldn't be less worried about them. On the contrary, unlike many other manufacturers, Xiaomi releases the source code and welcomes enthusiasts. The problem is with re-sellers, who unlock the devices in bulk and sell a modified version of MIUI to non-technical people. The longer the unlock period is, the longer the re-sellers have to keep the inventory purchased before they are able to make any modifications. This increases their costs and risks, because they now have to make large investments up-front.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> This happened to me today! I was using my phone and then it went all weird with no haptic feedback when typing. I finally figured out that battery saver was on and disabled it...

This really bothers me... I am starting to think we need a truly open source phone. That is hardware and software. like GNU/phone or something.

We must have full control over our hardware and software!

Viva La Gnu! (no clue what this actually means, but it seemed like the thing to say at this time).

<comment><USER20> We've had several FOSS based phones. The problem is that no one buys them, their finances dry up and the whole thing goes down the drain.

<comment><USER21> I'm a broken record at this point, but I'll say it again until I'm convinced I'm wrong -- FirefoxOS did great but was tragically mishandled. I'm 100% a FFOS stan ([https://en.wikipedia.org/wiki/Fan_(person)#%22Stan%22_fans](https://en.wikipedia.org/wiki/Fan_\(person\)#%22Stan%22_fans)) but it absolutely could have (and did) work -- they just fumbled the execution and 0 executives took responsibility (as per usual).

While I appreciate Mozilla's recent exploits like the IoT Gateway ([https://iot.mozilla.org/gateway/](https://iot.mozilla.org/gateway/)), they should have put all their non-thunderbird non-firefox effort into FirefoxOS, it was a strategic bet.

<comment><USER22> I installed FFOS on my Nexus 4, and everything I needed from a phone, TOTP/SMS/Calling/Internet just worked.

I even added SSH, nginx, and ran a webserver off it.

I'm hoping for KDE Connect to come through. I want seemless integration from a mobile device to a desktop.

A girl can dream

<comment><USER23> The only problem would be my banking app, which is pretty crucial.

<comment><USER21> But your bank probably has a web portal right? You could have used that, probably. I actually did that alot from my phone actually.

<comment><USER23> Yes, but it is slower, and doesn't allow me to make small payments without the security token. Also, even checking the balance requires the security token with the web portal. Further, I'm sure that many banks don't have their web portal optimized for phone screens (because on a phone you are supposed to use their app).

But yes, it's a matter of convenience mostly.

<comment><USER21> Once upon a time, your bank probably didn't have an app either -- that isn't a strike against mobile platforms. In that same vein, having a bad web portal isn't a strike against the web as a platform, it just means your bank isn't taking full advantage (yet).

The only strike against FFOS as a platform that you mentioned was speed, and I acknowledge that web-based apps do render slower than native ones 99% of the time. The parser/execution system that handles HTML/CSS/JS is almost guaranteed to be slower than one that can handle a more limited subset (there's just less to do).

That said, speed seems like a red herring though -- just how fast do you need your banking application to be? Is the half-second you had to wait longer to see your balance really the mission-critical feature? I get that rendering speed is important, but there are lots of bloated native apps that don't render as fast as possible either.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> That's why I still use windowsphone: dead platform == no updates ))

<comment><USER6> Also no security updates.

<comment><USER25> My Lumia 950 XL just pulled down a security update about 5 hours ago.

[https://support.microsoft.com/en- us/help/4459082/september11...](https://support.microsoft.com/en- us/help/4459082/september112018kb4459082osbuild15254530)

The GP's comment still stands though, it's a dead platform. Mainstream support ends on December 10, 2019, but lots of little things will die as we get closer to that date. Recently the Podcast app stopped letting me add new podcasts with some vague error about being unable to contact Bing. When Microsoft shut down their music service they killed Cortana's ability to identify music playing in the background. Notifications can be hit or miss depending on the app in question.

I went through the same cycle with webOS. What finally did it in the end for me was the browser crashing on about every 6th website I would visit.

</comment></comment></comment><comment><USER26> Clicked on this expecting it to be something about making sure people's phones didn't die while they were evacuated due to hurricanes or gas explosions. Now I'm curious how the response would have differed had that had been the case.

<comment><USER27> See also: Tesla extending the range of vehicles in natural disaster areas: [https://www.theverge.com/2017/9/10/16283330/tesla- hurricane-...](https://www.theverge.com/2017/9/10/16283330/tesla-hurricane- irma-update-florida-extend-range-model-s-x-60-60d)

</comment></comment><comment><USER28> You can't turn off Google Play Services any more. There's no "Disable" button. I use F-Droid apps for everything and have all the Google stuff turned off, but can't easily get rid of Google Play Services.

<comment><USER29> The only way to turn off Play Services is not installing them at all.

</comment></comment><comment><USER30> We need silent updates to be disabled by default until the user opts in, and we need 7 figure bug bounties on any method of bypassing that. We also need a certificate transparency type system for updates so users know whether how unique the update they're being asked to accept is. Otherwise this functionality will be abused for wiretapping purposes.

<comment><USER31> Requiring users to manually update is a security nightmare. There is no getting around this. Automatic updates are a _tremendous_ win for security.

</comment></comment><comment><USER32> Set aside for a moment this specific issue (which all in all did not create particular damages), I wonder what is the actual authorization/implementation procedure in a firm like Google to actually push these "potentially destructive" updates (or tests or whatever you call them).

I mean, I imagine that there is a control room where people receive an order by the president, together with a launch code, then an officer in command retrieves the other half of the launch code from a safe he opens with a key he keeps at all times on a chain around his neck, and then two other officers, each one with at least 5 years of service and the grade of captain enter the code and press simultaneously two buttons on two consoles rather far apart.

But I fear that the procedure is much simpler and - theoretically - at the reach of a disgruntled or "gone mad" employee, hired only a couple months before...

</comment><comment><USER33> If a system setting is changed (in this case, power-saving mode = on) _without_ associated user trigger (UI action), then the system should issue a push notification and prompt for confirmation. That's the right thing to do - for all apps no matter who made them.

</comment><comment><USER34> Google is so deep-rooted in our life and they are doing it so elegantly without making much noise and the majority of people are least bothered about this. I want Google out of my phone, and I need it now. What am I going to do about it? Nothing because Google is so convenient.

</comment><comment><USER18> A plug for something that you may find useful: [https://github.com/dan-v/rattlesnakeos- stack](https://github.com/dan-v/rattlesnakeos-stack)

Backstory: It was created after the death of copperheadOS to fill in the gap. It builds stock AOSP (without any google play blobs), and signs it with your own keys for verified boot. This project is still pretty new, and has some limitations. It builds on aws, whereas I would like to do local builds. Still, a pretty neat and useful project.

</comment><comment><USER35> Could they face repercussions over this? That is unsettling that they can remotely manipulate your phone without your permission.

<comment><USER36> They can also delete media from your phone. Had a graphic video of that carnival ride breaking and killing someone and it was deleted...

<comment><USER37> Is this for real? Was it deleted specifically on Google Photos, with a local copy still available or possibly available if it hadn't already been cleared locally? Or was it a legitimate "reach into local storage and clear it"?

<comment><USER38> I'd be wary of believing some random anecdotal story with absolutely zero proof and very little detail.

<comment><USER39>
      anecdotal story with absolutely zero proof

If you lack real control over your device, " _absolutely zero proof_ " is the new normal, and everything that gets zeroed out of RAM is rendered anecdotal thusly.

</comment></comment></comment></comment></comment><comment><USER40> A lot of people on reddit seemed to ignore the part where it was clearly stated the activation was done by mistake and corrected.

</comment><comment><USER41> Oddly I turned on battery saving a few days ago and missed this.

As much as I like my Pixel, simpler times of loading apps onto a Palm trek with a wire like syncing music onto an iPod comes to mind.

<comment><USER41> To help those who may not be able to read between the lines, or know a time before the app store:

Externally initiated and unattended changes to my phone only impact the ability to trust and rely on my phone. This is a battery setting today, but might it be the last thing?

Windows forced updates and reboots come to mind of where we could end up.

</comment></comment><comment><USER42> no gapps in my phone, so no need to worry about intrusions from Google

</comment><comment><USER43> Oh, I wondered why that happened.

</comment><comment><USER44> Off topic, but Google is getting killed this last week. I was pretty ticked at them ignoring Senator Warner's request the other day and I think the hearings are usually a public circus. Google is just the most powerful lobbyist in Washington. They face no repercussions for anything.

In 2016, Trump (probably his admin he didn't know anything) wanted to appoint the most badass anti monopoly czar in America. Probably the most momentous position in recent memory in terms of the future of society. Sounds like I'm exaggerating, but free speech, monopoly, hate speech, income inequality, spying, tracking everything, face recognition, Orwellian themes, and potential usurpation of nation states in favor of data harvesting multinationals was on the line. Google used all their lobbying capital to shut it down. Threatened to nuke every bipartisan bill and every conservative judicial appointment with the congressmen in their pockets. The WSJ had a great expose about this.

In the end the one man who scared the hell out of even Google and was poised to take down uber monopolies like att&t, Disney etc. was passed over for a pushover.

</comment><comment><USER38> What a misleading, fake title. Honestly disappointing coming form HackerNews... The post quite literally says it's an experiment, accidentally enabled. A bug. Literally an A/B test, which they do all the time.

The title makes it sound like they hacked in your phone. With that logic, any time your apps update or you get a notification, you're getting hacked.

<comment><USER45> > What a misleading, fake title.

The title is accurate. The Google account linked to says just as much.

> The post quite literally says it's an experiment, accidentally enabled. A > bug.

And this can be accurate too, without being in conflict with any claim in the title.

> Literally an A/B test, which they do all the time.

On accounts enrolled into beta programs. Not on regular accounts. This one happened to phones with only regular accounts.

> The title makes it sound like they hacked in your phone.

The title makes it sound — at best — as if it was unexpected. Which it was. The title does not make it sound like they "hacked in your phone". Perhaps you're reading some outrage in the title that isn't there.

</comment></comment><comment><USER46> I think Apple remotely activated battery killing mode on mine. The battery was already in bad shape but since this morning it's been ticking down like a clock. It's much worse than yesterday. Anyone else? Am I just paranoid? Seems like an odd coincidence.

<comment><USER47> This is more like an App (or a JavaScript website on safari) has gone havoc and is draining a lot of power. Look for statistics in power setting to identify a potential culprit. If nothing suspicious an it keep doing after a reboot contact apple support, they have a recall program rolling for some models.

<comment><USER48> Apps and websites that drain power will be quickly killed by the OS. More likely, there's a system daemon that's running amok, which should usually be fixed by a reboot.</comment></comment></comment>


Office politics a danger to morale - Microsoft - <AUTHOR> http://www.microsoft.com/en-gb/business/news/Work-together-better-Office-politics-a-danger-to-morale-801371633.aspx

<comment><AUTHOR> This is actually a SEO blogspam thing on Microsoft's site - the title however is beautifully ironic.</comment>


Privacy of 3.5 Billion Cellphone Users Compromised – GSM Code is Broken - <AUTHOR> http://www.programmerfish.com/privacy-of-3-5-billion-cellphone-users-compromised-gsm-code-is-broken/

<comment><USER2> This title is significantly overstated.

See here: <http://www.nytimes.com/2009/12/29/technology/29hack.html>

"The encryption key itself does not enable surveillance of mobile calls, which must still be overheard and identified from the digital stream of thousands of calls transmitted through a single cellphone station.

The undertaking is complex because a digital call typically hops among up to 60 different broadcast frequencies during a single conversation, as the mobile network operator maximizes the use of its available bandwidth."

<comment><USER3> Nope it's not. The key is the only thing that prevents anyone on the street to decipher the frequency hop pattern of the network. Once that's deciphered then all you need is cheap equipment (as low as $1500) for the necessary hardware and GSM processing software to do the eavesdropping. It really is BIG news.</comment></comment>


Configuration as Code - <AUTHOR> http://www.xmsxmx.com/configuration-as-code/ <comment><AUTHOR> At least on two occasions i have seen configuration as literal code (like in config as java, scala, python code). While config as code could be beneficial, using it as literal code is not optimal.</comment>


Our Small Business and the Era of Yet Bigger Government - <AUTHOR> http://blogs.law.harvard.edu/philg/2010/08/06/our-small-business-and-the-era-of-yet-bigger-government/

<comment><USER2> "The bigger the government gets, the worse our small business does both in absolute terms and in terms of our competitive position. Anyone else out there running a small company with a different story to tell?"

For every aviation school, I imagine there are at least 100 small businesses right now experiencing the best sales they've ever had in windows, air conditioning, and anything else that involves the $1,500 tax credit.</comment>


C No Evil - <AUTHOR> http://blog.regehr.org/archives/574?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+EmbeddedInAcademia+%28Embedded+in+Academia%29 <comment><USER2>
        #define continue break

There's my choice. It's one of the few that will actually compile and the runtime effect is not super immediately detectable.

<comment><USER3> or break switch statements with:

      #define break

</comment></comment><comment><USER4> Some of the most frustrating problems I've seen are due to misunderstanding or rare semantics rather than mistakes. Examples might include the specifics of floating-point math, or exactly how numeric coercion works. This is especially bad when the result isn't easy to eyeball as right or wrong.

For example, we could force a double-valued transcendental function to float and back for a small loss of precision in normal cases:

        #define sin(d) ((double)sinf(d))

Which yields...

        double i =  10
        --> i    =  10.0000000000
        sin(i)   = -0.5440211109
        sinf(i)  = -0.5440211296
        delta    =  0.0000000187

        double i =  0.25
        --> i    =  0.2500000000
        sin(i)   =  0.2474039593
        sinf(i)  =  0.2474039644
        delta    = -0.0000000051

        double i = 9999999.999999
        --> i    = 9999999.9999989998
        sin(i)   =  0.4205487007
        sinf(i)  =  0.4205478132
        delta    =  0.0000008875

(Format string was %25.10f, fwiw.)

Another idea: Let's say we know the application relies on rand() to produce the correct distribution for testing, or maybe to generate session keys. Changing the semantics of the RNG won't result in a compiler bug, but it might result in the tests failing to cover all cases, or a horrible security breach.

</comment><comment><USER5> I think #define volatile is by far the sneakiest.

The rest would probably be found quite quickly, but omitting volatiles could lead to hard to detect bugs that will only manifest themselves under specific circumstances.

<comment><USER6> > I think #define volatile is by far the sneakiest.

The only legitimate reasons for using volatile generally involve memory-mapped IO and POSIX signal handlers. C's volatile is nothing like Java's volatile and has very weak semantics. With lock-based code you generally have nothing to worry about because lock/unlock has load-acquire/store-release semantics. But if you're writing lock-free code, volatile is useless in general and you need to think carefully about how atomicity is affected by memory alignment and operand size (e.g. a byte write that might look atomic implicitly turns into a non-atomic read-modify-write), explicit memory barriers, etc.

So defining away volatile won't actually impact most applications unless they're relying on very compiler-specific behavior.

<comment><USER5> A typical usage of volatile, and one that bit me many times is using longjmp, for which the man page says:

      The values of automatic variables are unspecified after a call to longjmp() if they meet all the following criteria:
      · they are local to the function that made the corresponding setjmp(3) call;
      · their values are changed between the calls to setjmp(3) and longjmp(); and
      · they are not declared as volatile.

I've had bugs that made me go half-crazy before someone reminded me that you have to use volatile in these situations.

<comment><USER7> I assume that's a side effect of how the execution context is restored? If a nonvolatile local was stored in a register, and passed by address to a function that modified it before longjmp(), then the saved register value would clobber the updated one.

<comment><USER6> You don't need to pass it by address to a function. Something like this could trigger it:

        // region 1:
        // x is allocated to register r1
        int x = 0; // store 0 to r1
        jmpbuf jb;
        if (setjmp(jb) == 0) {
            // region 2:
            // x is re-allocated to r2, so r1 is copied to r2
            x = 42; // store 42 to r2
            longjmp(jb, 1);
        }
        // region 3:
        // x is allocated to r1
        printf("%d\n", x); // load from r1

The compiler is allowed to allocate the same variable to different locations at different points in the program. At re-allocation boundaries, it will insert register moves or stack spills or whatever. The problem in the example is that the longjmp() crosses a re-allocation barrier, so the store to r2 won't be registered as a store to x in region 3.

Actually, this would still occur even if x was always allocated to r1. The reason is that before calling setjmp() the compiler spills x to the stack, so the callee can use the registers for its own use, and on returning (either via longjmp() or the first time through) it will restore x from the value on the stack.

I tried the example above with GCC. At the default optimization level it printed 42. But with -O2 it printed 0. Looking at the assembly code, it's actually even worse than I described. The compiler has treated the longjmp() akin to an exit() and so has determined that the x = 42 is actually a no-op that can be eliminated. This is similar to how in printf("1"); exit(0); printf("2"); the compiler will actually remove the second printf() as dead code from the executable.

So, in conclusion, there seems to be a whole bunch of ways in which the compiler could screw this up while staying within the bounds of standards- acceptable behavior.

</comment></comment></comment></comment></comment><comment><USER8> Obviously library dependent, but I think this would make me pull my hair out:

#define pthread_mutex_lock(x)

#define pthread_mutex_unlock(x)

</comment><comment><USER9> Can anyone explain what effect

      #define goto

would have? It doesn't looks valid, because if I have

      myLabel:
      /* some code*/
      goto myLabel;

would produce

      myLabel;

Which, as far as I know shouldn't compile because it expects either a normal expression or a definition/declaration and _myLabel;_ doesn't appears to be any of them. (Maybe I'm missing something)

</comment><comment><USER10>
        #define free(x)

Most tests still pass, but once the program's been running for a while you'll get a nice memory leak. Fails if your mortal enemy runs leak checks as part of their standard test suite or other QA, or has a high enough allocation rate to quickly turn up such issues.

<comment><USER11> Improvement: include some static counter, and only skip the free after a few million (billion?) calls. If possible, also make the thing random, and limit skipping free to a limited range of block sizes. The latter provides a nice false trail for investigators (hm, it is leaking only struct foo...)

Problem of course is to find a nice size range for the program at hand.

</comment></comment><comment><USER12> This is pretty much straight out of the daily wtf: <http://thedailywtf.com/Articles/The-Disgruntled-Bomb.aspx>

<comment><USER13> We have a winner:

#define if(x) if(rand()<0.0001 && (x))

<comment><USER14> if(rand()>=0.0001 && (x))

that way it will fail extremely rarely and be even harder to detect!

<comment><USER13> You're right, they either need your change or a switch to ||

</comment></comment></comment></comment><comment><USER15> #define free(x) free(x + 1)

#define malloc(x) malloc(random())

<comment><USER2> The free one at least will be detected immediately with a good libc, but nice idea. It gives me another idea though:

        #define free(x) do { free(x); x = NULL; } while (0)

Assuming you can turn it off just before shipping, this will hide many forms of double free during development which then show up when the evil line is deleted.

<comment><USER16> That assumes 'x' is an lvalue, which it may very well not be (thus causing compilation errors, which would presumably get caught pretty quickly).

<comment><USER2> I'm having a very hard time thinking of an example where you'd free an rvalue. Function return, maybe, but without using the value? It (almost) had to be an lvalue in order to get the malloc into it. Ah, an unconst cast. free((void *)constx), but lots of compilers don't catch that. Is there something else you were thinking of?

There's also people doing stupid shit like free(&x), but those people don't need evil macros to dick up their code. :)

<comment><USER17> Function calls seem right - particularly if they're badly written. Also, this macro might give curious results when passed in ptr++ .

While this is C++, I've actually seen this particular construct: delete new SomeClass(...);

used as, basically, an eye-poppingly clever way of initializing something, doing work, and then cleaning up after.

<comment><USER2>
        { SomeClass makeitso; }

:)

Also, free(ptr++) is broken by design, the post increment value is useless. But free(*ptr++) is a good case.

<comment><USER17> > free(*ptr++)

Yes, of course - that's what I thought I'd written. Clearly not :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Some buddies and I were messing around with ways we could sneakily inject one hidden #define somewhere in a C project to make it look like a segfault. We ended up with #define printf to print out "segfault" but GCC always threw warnings, so it didn't have much practicality for use in a joke.

<comment><USER2> Pre C99? Cheap hack using variadic macros:

       #define printf(...) printf(__VA_ARGS__); puts("\n\n\n\nFAIL!")

<comment><USER18> Yes, pre-C99. I'm going to have to try that now.

</comment></comment></comment><comment><USER19> Here's mine:

        __attribute__((constructor)) void __maiin(void)
        {
            if (rand() < 0.05) exit();
            //if (rand() < 0.05) close(1);
            //if (rand() < 0.05) main(); // and so on ..
        }

The program will randomly quit before main() is executed.

</comment><comment><USER20> #define int char

I did this one to a friend (briefly) during school.

</comment><comment><USER21> An interesting, albeit not that valuable, challenge. It's a fun little question, but it's not even valuable as a black hat exercise. It's just a non- sensical hypothetical.

<comment><USER22> Its supposed to be interesting from the perspective of people trying to write reliable C code, not do actual harm.

</comment></comment><comment><USER23> I would prefer:

        #define assert(x) ((void)(x))

Most of these would cause an immediate flood of hints and / or warnings; but an assert that did nothing but evaluate its argument could lurk for some days, especially if the developers in question don't spelunk with a debugger very often.

<comment><USER24> I don't get it. In (non-wildly-buggy) code evaluating the argument to assert() is required to (a) succeed, and (b) have no side effects, so what would such a definition accomplish?

<comment><USER23> Assumptions:

* asserts are used in a defensive programming style to state invariants

* the enemy developers will be reasoning about the code assuming that asserts which didn't fire were true

* when debugging, they'll read the code and prematurely dismiss valid theories as to why the bug exists based on what they read in the assertions

<comment><USER24> Sure, but I don't think this matches the problem statement -- if the product is within a week or two of shipping, it should be long past the point where developers are tracking down bugs by using asserts to exclude possible code paths.

If the problem was to slow down _early_ development I'd absolutely agree with you.

</comment></comment></comment></comment><comment><USER25>
        #define rand() (rand() % 100)

</comment><comment><USER3>
      #define memmove memcpy
      #define default default: break; case 0xfeceface

</comment><comment><USER26> Reminds me of Sony... Perhaps they had this someplace: #define rand(x) 4

</comment><comment><USER27> #define fopen(A,B) ((rand() % 1000 == 0) ? fopen(A,"w") : fopen(A,B))

</comment><comment><USER28> I think redefining volatile wouldn't be harmful enough because so few people use volatile correctly anyway. By contrast, the break/continue or double-free suggestions would show up too quickly. I don't think I can come up with anything as insidious as some of the "one in a million" suggestions, but I like this one for its brevity.

#define do

You could even slip that into a makefile (-Ddo=) and it might not be noticed.

<comment><USER29> I think that would cause an infinite loop on most usages of do/while, thus making the problem (probably not the cause hehe) quickly noticeable.

</comment></comment><comment><USER30> Interesting header, but why would anyone want to cause someone else so much trouble trying to release a product?

<comment><USER31> It's just a throwaway scenerio to wrap around an interesting problem...</comment></comment>


Inside the essay-scoring business - <AUTHOR> http://www.citypages.com/2011-02-23/news/inside-the-multimillion-dollar-essay-scoring-business/

<comment><AUTHOR> Something I've long wondered, but which doesn't seem to be testable given currently available public data-sets: If we're going to be doing this sort of large-scale, rubric-based grading of essays, perhaps it should actually be done by computers? Given some training data, I would hypothesize that a modern statistical classifier could assign an essay a score with at least as good accuracy as a human employee doing such huge volumes of essays. It would also be more consistent, whereas it seems like there's a huge amount of person-to- person variance in the current scoring process.</comment>


BB-8 Droid Teardown - <AUTHOR> https://www.fictiv.com/resources/starter/hardware-dna-bb8-teardown <comment><USER2> It's great to see a teardown that also analyses the product engineering going on. Very nicely done.

<comment><USER3> I was reminded of this blog's analysis of the Apple Watch manufacturing process from its announcement video:

[http://atomicdelights.com/blog/a-glimpse-at-how-the-apple- wa...](http://atomicdelights.com/blog/a-glimpse-at-how-the-apple-watch-is- made)

The site also has a similar analysis of the Mac Pro.

</comment></comment><comment><USER4> The actual toy moving:

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

My dog would love it.

<comment><USER5> Your dog might, but I speak from experience when I say that your cat definitely would not. (assuming it's anything like the original Sphero)

<comment><USER6> My cats love to hunt the original Sphero, but you need to make it move slow and then fast, play hide and seek, etc.

You could be interested in the "mousr" : [https://www.kickstarter.com/projects/525985345/mousr-the- rob...](https://www.kickstarter.com/projects/525985345/mousr-the-robotic- mouse-that-plays-with-your-cat)

(I'm not involved with the project, just curious, and a cat person)

<comment><AUTHOR> I've wanted to get my hands on one of those for my cat!

</comment></comment></comment></comment><comment><USER7> We have one and I think myself and the kids played with it most of last weekend. I was hoping that the Bluetooth sequences might be able to be decoded so one could emulate commands (or create new ones) from a Bluetooth equipped broadcasting PC. If anyone has any info on anyone attempting this, please post.

<comment><USER8> The original Sphero has an SDK, but BB-8 is build on a newer version of their platform. It uses BLE like Ollie. It should be possible to reverse engineer their BLE service, for example: [https://github.com/hybridgroup/cylon- ollie](https://github.com/hybridgroup/cylon-ollie)

</comment></comment><comment><USER9> Very interesting to see how it works in there. Though it is sad that it had to be cut apart though, it would be fun to upgrade it.

<comment><USER10> I had to saw my Sphero open to replace its batteries (lesson learned - don't leave it charging). Its guts are very similar, and I used some plastic- specific adhesive and then clear repair tape to hold it shut. Ideally the shell would have screwed open and shut, given the wall thickness (I have seen some other repair / upgrades that used clear plastic balls, like xmas ornaments, as the replacement shell). The polycarbonate is very strong, my Sphero once fell ~12 feet onto hardwood, without any damage - physical, mechanical, or electrical.

<comment><USER11> The nice thing about the way they make it is that it's waterproof!

</comment></comment></comment><comment><USER12> > _Also note the lead weights used here to make the product feel more > substantial_

Are these weights really made of Lead? Or is "lead weight" just an industry term for anything heavy? If they're actually Lead, how do toys like this conform to RoHS?

<comment><USER13> I'd be surprised if it was. Children's toys get tested for lead and just breathing it in is dangerous for kids.

Also, lead has a certain look and feel to it. When I open up toys and gadgets, the weight in there doesn't look like lead to me. No idea what it is, but I'd guess a zinc or iron alloy.

</comment></comment><comment><USER14> what are good resources to learn more about the product/material engineering they discuss in this article?

<comment><USER15> I'm pretty the site of this article has a bunch engineering resources and articles.

</comment></comment><comment><USER16> I start scrolling to read the article, and -- okay, what is this dev doing? I'm outta here!

</comment><comment><USER17> Someone please make someone stop using large fonts on my phone that are hard and slow to read</comment>


Do you like the browser bookmark manager? - <AUTHOR> How do you think it compares to services like webcull.com, raindrop.io, or getpocket.com? Have they advanced the field to the point that it's worth switching? <comment><USER2> Things I'd add to browser bookmark managers someday:

\- Support for (persisting) bookmarks tags. From the post re: the re-launch of del.icio.us: [https://news.ycombinator.com/item?id=23985623](https://news.ycombinator.com/item?id=23985623)

> _" Allow reading and writing bookmark tags" > [https://bugzilla.mozilla.org/show_bug.cgi?id=1225916](https://bugzilla.mozilla.org/show_bug.cgi?id=1225916) > _

> _Notes re: how this could be standardized with JSON- > LD:[https://bugzilla.mozilla.org/show_bug.cgi?id=1225916#c116](https://bugzilla.mozilla.org/show_bug.cgi?id=1225916#c116) > _

> _The existing Web Experiment for persisting bookmark > tags:[https://github.com/azappella/webextension-experiment- > tags/bl...](https://github.com/azappella/webextension-experiment- > tags/blob/master/experiments/tags/api.js) _

\- Standard search features like operators: ((term) AND (term2)) OR term3

\- Regex search

\- (Chrome) show the createdDate and allow (non-destructive) sort by date

\- Native sync API for syncing to zero or more bookmarks / personal data storage providers

\- Support for integration with extensions that support actual resource metadata like Zotero

\- Linked Data support: extract and store bibliographic metadata like Zotero and OpenLink Structured Data Sniffer

What are the current limitations of the WebExtensions Bookmarks API (now supported by Firefox, Chrome, Edge, and hopefully eventually Safari)?: [https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/Web...](https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/WebExtensions/API/bookmarks)

</comment><comment><USER3> Big shout-out to Pinboard.in! (Pinboard's creator acquired del.icio.us in 2017[^2])

I haven't worried much about bookmark managers in 2+ years, thanks to Pinboard features[^1] like: * Import and Auto-Sync * Tags and Bundles * Tab Sets * Notes * Quick Edit * API and outside services * Feeds, Badges, and Widgets

[^1]: [https://pinboard.in/tour/](https://pinboard.in/tour/) [^2]: [https://blog.pinboard.in/2017/06/pinboard_acquires_delicious...](https://blog.pinboard.in/2017/06/pinboard_acquires_delicious/)

</comment><comment><USER4> I use the bookmark manager that is built-in to Firefox. I also use a browser extension that checks for dead bookmarks and redirects in order to update them for me.

I try to keep them organized and tidy in a hierarchy. I bookmark any website I find useful so I don't have to use search engines unnecessarily and most of my websites autocomplete within a few keystrokes.

In summary, I am happy with the bookmark manager. In the future I would like to switch to a plaintext format, perhaps like org-mode if I can get it integrated with the browser. The reason I want this is so I can put that file up on my website to share with others.

<comment><AUTHOR> Interesting perspective, thanks for the response. How many bookmarks do you keep at any given time if dont mind me asking?

</comment></comment><comment><USER5> I use only chrome built-in bookmark manager, tried pocket several years ago but dislike it.

I realized that 90% of the sites I bookmarked, never used again or find it again with google instead with my bookmark manager.</comment>


Azure CDN Down - <AUTHOR> https://www.windowsazure.com/en-us/support/service-dashboard/

<comment><AUTHOR> The status says "an issue with CDN provisioning, however content delivery is not impacted" but all of my cdn images are not flowing through to my production website. I can browse the blob storage, just not the cdn. In case you needed a reason to not trust the azure CDN.

It's just so convenient I couldn't help but try...</comment>


(Almost) Everything We've Learned in 30 Years of Leadership Coaching - <AUTHOR> https://blog.leadingup.co/2019/04/27/almost-everything-weve-learned-in-30-years-of-leadership-coaching/ <comment><USER2> Learnt a lot from this.</comment>


Can anyone share some feedback and suggestions for my chrome extension? - <AUTHOR> https://chrome.google.com/webstore/detail/couponzcorner/jfpfpagpbmhehakphdipojfiiidppikk <comment><AUTHOR> I request you all to share your thoughts on my chrome extension. Thanks in advance.</comment>


Show HN: Spieel, a simple happiness tracker for Android - <AUTHOR> I made a simple mood/happiness tracker as a side-project for myself and friends to use. I know there are thousand of mood trackers already - this is mine.
Spieel allows you to log how happy you feel in a particular moment in time, tag it, and then save an optional photo and diary entry with your entry.
Over time you can view you average levels of happiness over months, days and hours.
You can also filter your happiness log by tag, getting some deeper insights into how specific things or people affect your mood(pizza, that person, your job).
Being able to visually see how your levels of happiness vary over time would likely allow you to make some important life decisions with more clarity, or just allow you to fine-tune your life satisfaction a little bit more. Well, still use your judgement though - my logs so far reaveled that eating junk food makes me particularly happy, this is not something I think I should optimise for!
Privacy-wise, sensitive info like passwords and diary entries are hashed, and all network calls are sent over https and/or ssh. If you want to delete your account and associated data, you can do so instantly in the settings menu.
Spieel is only for android at this stage, if there's enough interest I'll port a verion to iOS too. I have some future updates planned, but will only look into those if there's enough interest.
Please be kind, it was only myself working on it on-and-off, early mornings and an hour here-and-there over weekends.
Hope this helps someone!
https://spieel.app/
https://play.google.com/store/apps/details?id=com.spieel
Apologies, it's not available in all regions. <comment><USER2> How did you come up with the name? It reminds me of "spieël", which is an Afrikaans word for "mirror".

<comment><AUTHOR> That's exactly where the name comes from. ;)</comment></comment>


Ask HN: What laws would you remove or create to increase competition for ISPs - <AUTHOR> In lieu of all of the net neutrality discussions that have been around, it is obvious law makers want to remove regulations. What regulations could we remove, or add to increase competition between ISPs so we have more choices to drive cost down and speeds up. <comment><USER2> In the US:

1\. I would reverse the decision of SCOTUS that establishes corporations as "people" and their money as "free speech".

2\. I would figure out a way to get money out of politics. It seems that the main issue is that government officials spend about 1/3 of their time in office fundraising from donors (who expect certain legislation in return) and campaigning for re-election. The American citizens will continue to be thrown under the bus in favor of corporate donors, such as the ISP's, in exchange for money.

3\. I would make it to where the local governments own the basic infrastructure (poles, towers, etc) and the ISP's are only allowed to pay a fee (or percentage of earnings) in exchange for using such infrastructure.

<comment><AUTHOR> I think #1 and #2 wouldn't necessarily increase competition as much as limit the governments ability to further constrain it.

Wouldn't #3 limit the speed and growth to whatever the city can afford to provide? And truly the only ISP is the local government at that point since they own everything.

<comment><USER2> #1 and #2: True

#3: The government would only own the poles and towers. ISPs are free to pay a fee to use said poles and towers to hang their cables/wires/antennaes. Since these items would no longer be owned by ISPs, they would not be unable to block smaller startups from trying to get into the neighborhood.

Imagine, for a moment, a landscape in which the roads in our country were owned by FedEx and UPS (or even Amazon) rather than the government. Then, imagine that they'd struck deals to stay out of each others way; moreover, imagine that they decided to divide up the cities amongst themselves (LA roads are owned by FedEx, SF roads are owned by UPS, etc). They would be able to block smaller delivery companies from delivering around the country. The copy shop in the next town over would be unable to deliver copy paper to your office directly. They would have to either go through one of the larger delivery companies or not deliver at all due to being blocked. Well, this is what's happening with current ISPs.

I currently have only Comcast/Xfinity in my neighborhood because Comcast owns all of the telephone poles (which are using public land for free), and in my last neighborhood, my only choice was AT&T/DirectTV. There is no chance for anyone new to come into the market where I live be cause the ISPs own the basics. It's sad really.</comment></comment></comment>


Taxi Drivers Protest Uber in Clashes Across France - <AUTHOR> http://www.nytimes.com/2015/06/26/business/international/uber-protests-france.html?_r=0

<comment><USER2> Efficient markets are important. Charging $270,000 for a taxi license makes for market inefficiencies resulting in fewer taxis and higher fares which are both bad for customers. Uber simply and justifiably gets around those market inefficiencies increasing taxi availability and lowering prices which is good for customers.

</comment><comment><USER3> So are we finally going to agree that not all unions are good for society?

<comment><USER4> No.

I support the taxi drivers.

<comment><USER3> You support a group that has had a broken business model for decades and the only reason it continues on is because of thug-like tactics like this.

Changing society for the better and unions generally don't mix. Unions prevent technological advancements and many times are just as big and corrupt as any corporation.</comment></comment></comment>


PayPal Unveils Micropayments For Digital Goods, Facebook Signs Up - <AUTHOR> http://techcrunch.com/2010/10/26/paypal-unveils-micropayments-for-digital-goods-facebook-signs-up/ <comment><USER2> Phony announcement. I've been using this for almost a year now. I guess they are unveiling that they are now promoting micropayments. A year ago you could google micropayments, links right to their micropayments site, and then request that your paypal account be switched over to micropayments, with no hassles.

</comment><comment><USER3> Amazon FPS fees are practically identical to Paypal.

Paypal Micropayments, $0.05 + 5% for transactions under $12 Amazon FPS, $0.05 + 5% for transactions under $10

Paypal Micropayments = Over $12, $0.30 + 2.9% Amazon FPS, over $10, $0.30 + 2.9%

I don't see any details from Paypal about debit transactions, but Amazon charges $0.05 + 2.0% for bank debits.

<comment><USER4> Do they accept this for people not in the US yet?

Also, does Amazon switch rates automatically based on the transaction, or do they force you to pick an account as well?

<comment><USER3> Amazon does --- but it costs 1% more for transactions outside of the US.

Also, Amazon's rates automatically change based on the amount you are charging.

All of this info is here: <http://aws.amazon.com/fps/pricing/>

<comment><USER4> Fantastic, thank you.

</comment></comment></comment></comment><comment><USER5> It's worth noting that this is an either-or pricing: you either get the micropayments rate or the larger rate. Why they don't give you the cheaper option is beyond me...you're paying an arm and a leg to collect on anything larger than $12.

Also, their labs website doesn't work in Chrome: <https://micropayments.paypal-labs.com/>

<comment><USER3> PayPal says it's cheaper for the seller above $12 to use the $.30 + 2.9% fee. You are skeptical, so let's do the math:

$12 x 2.9% = $0.348 + $.30 (flat fee) = $0.648 $12 x 5% = $0.6 + $0.05 (flat fee) = $0.65

The "larger rate" is actually cheaper above $12.

Amazon (whose fees are identical to Paypal except their magic number where you move between fee scales is $10) actually creates a "dead zone" above $10 and under $12 where you're charged at the higher rate which is more in processing fees than the lower rate would be.

<comment><USER5> You misinterpreted what I said: Paypal is saying you can either have the 2.9% & $0.30 rate, or the 5% & $0.05 rate, applied to every transaction in your account. When I say that they should give you the cheaper rate, I mean whichever one costs less for that particular transaction. Right now they force you to choose one.

<comment><USER3> I gotcha. Thanks for the clarification. I don't use Paypal, so I was just reading their site where I missed the key sentence, "Each PayPal account is associated with only one merchant processing rate."

That sucks. I think that makes Amazon a bit more attractive for micropayment processing.

</comment></comment></comment></comment><comment><USER6> This seems to be just new payment terms for micro payments. Anybody know if they also plan to release anything to make UI better and more seamless integrated with the site's/app's experience?</comment>


Apple to announce iPhone apps SDK at WWDC - <AUTHOR> http://blog.metrailler.net/2007/09/24/apple-to-announce-iphone-apps-sdk-at-wwdc/ <comment><USER2> Phht, this is totally worthless. This guy is blowing steam with no grounds to base his claim on whatsoever..

What some people will do for attention.

Not trying to make unfounded claims, but my personal belief is apple will keep the iPhone a closed platform for as long as they can. Only when (if) competition forces them to open it up will they do so.

</comment><comment><USER3> lame. i predict it will rain in seattle next year in summer.</comment>


Ask HN: Low latency minimalist FaaS provider. Thoughts? - <AUTHOR> I'm frustrated with the high latency and complexity of the larger hosting providers. The smaller providers I've seen restrict language choice or have high latency themselves. I'd love to provide minimalist low latency language agnostic pseudo-FAAS hosting. Something along the lines of "give us an Alpine Linux binary and supporting files and we'll run it in a managed container with some RAM and low latency disk space".<p>Thoughts? In particular, am I nuts to bemoan 200ms+ (and highly variable) server-side latencies? Sometimes I feel like an old man shouting into the wind... <comment><USER2> I love the concept of FaaS, but the rush to reduce everything to *aaS has omitted intelligent scaling in favor of code atomicity.

Let's say your function operates on a huge dataset, and requires 120ms responses.

How can you do this consistently on a virtualized shared tenancy platform like AWS where (a) you don't control the 'ticks' allotted your Vcpu and (b) you don't have control of, or even insight, into the co-tenancy of the host machine?

Easy answer. You can't.

IMHO, since you can't control wether another process is awarded priority of Vcpu ticks OR memory, it can't be done consistently over time on any non- dedicated platform.

I have two full racks of servers, and I am regularly pricing the clouding of those server functions, and have been for years. Not once has the cost of moving to the cloud gone down. At the moment, the cost of moving all my servers to the cloud is $18.8k/mo versus the $2k I pay now, and I would lose all control over the throughput of the instances because a profit-only- motivated host will have final decision over my Vcpu and IOps ratios.

Since my hardware hasn't changed in several years, and the cost of clouding has increased over 100%, the only explanation is that providers are slowly and consistently slowing down Vcpus to maximize profits.

They may be lowering the per-minute cost, but they're lowering the Vcpu tick ratios much faster. There just isn't any other explanation.

For core functions, where latency is key, you either need to find a way to scale the sensitive functions across multiple instances, or host your own fully controlled instances and route only latency sensitive functions to them instead of the cloud.

In the data tables case I mentioned above, you might consider a switch that will spawn multiple requests to FaaS instances with specific ranges of scope, effectively minimizing the work each call must do by systematically decreasing the scope of data it must operate on, and spreading that across (hopefully) multiple virtual hosts that may or may not be on different physical servers.

Or, you could spend $100 a month on a dedicated machine at a colo provider that is honest and well known, and I believe you will find over time what I have...

Profit comes from having control of your on-premise cloud, not farming it out.

Cheers

<comment><AUTHOR> Thanks for the long and thoughtful response! Sounds like there's scope for a higher-value *aas product that offers some guarantees about co-tenancy, or at least response times.

<comment><USER2> There may be but unless you scope your guarantees around a common benchmark and anything outside that is on the developer, you may have problems.

You may also have to over-engineer your FaaS platform to ensure spin-up times for new instances are linear over 2 to 3x load, and that you are relatively immune from DOS attacks, both technically and within the scope of your guarantee.

You should always have an "out"... Wether you use it is another thing entirely.

Cheers!</comment></comment></comment>


Exploiting Hardware Heterogeneity within the Same Instance Type of Amazon EC2 - <AUTHOR> https://www.usenix.org/conference/hotcloud12/exploiting-hardware-heterogeneity-within-same-instance-type-amazon-ec2

<comment><USER2> (tl;dw) This talk discusses how to get the most cost effective servers from EC2 taking into account that EC2 instances are heterogeneous (that is to say they don't run the same hardware so it is almost certain that they will perform differently).

Each instance has three-four subgroups of different hardware types depending on when the configuration was installed. (2006/07/10 etc).

Also, each zone has different configurations, especially as new zones are being installed and newer hardware is being added to start with.

Variations of performance can approach 60% between the same instance types (processor,memory,disk,network).

Cost savings can be achieved by seeking for better performing instances, check it it performs well, if it does, keep it, if it does not, drop the machine and request a new instance.

Instances using E5645 are 1.6 times as effecient as the E5507, however, if you are requesting m1.large servers, you only have a 5% probability of getting a E5645 server if you rented in 2011, whereas now you have a 42% probability.

You can also wiew the slides here: [https://www.usenix.org/sites/default/files/conference/protec...](https://www.usenix.org/sites/default/files/conference/protected- files/ou_hotcloud12_slides.pdf)

<comment><USER3> from the slide:

 _"Saving money by seeking for better performing instances, simply using "trial-and-failure" method

– Applying for instances randomly;

– Checking if performing well;

– If not, drop and apply for new ones."_

</comment></comment><comment><USER4> We got bit by this recently when we were running code on some m1.large machines and incorrectly assumed that all m1.larges supported SSE4.2 (which this paper doesn't mention). The only way to guarantee that you get a specific processor type is to use cluster compute instance or play roulette while you are booting instances, neither of which are ideal (which this talk presumably says).

I'm not sure what the ideal way to resolve this outside of further subdividing instance types or rebalancing CPUs so that more advanced CPUs are used at the high end in a consistent manner or if users should be able to request a specific CPU type. (but hopefully jeffbarr will read this and put it on a todolist somewhere)

<comment><USER5> > hopefully jeffbarr will read this

Done, from our development center in Iasi, Romania. I'm fairly sure that our EC2 team is already aware of this, but I'll send the thread to them just to be sure.

<comment><USER4> Awesome, thanks!

</comment></comment></comment><comment><AUTHOR> There's a fairly well hidden PDF link at the bottom which has the details

[https://www.usenix.org/system/files/conference/hotcloud12/ho...](https://www.usenix.org/system/files/conference/hotcloud12/hotcloud12-final40.pdf)

</comment><comment><USER6> I liked William Vambenepe's comment on that -- "Are you the dumb money in the Cloud?" <http://stage.vambenepe.com/archives/2061>

</comment><comment><USER7> A similar paper was recently presented at SOCC: <http://tinyurl.com/8hgvaq9>

This one focuses more on a model for how to take advantage of said heterogeneity, and has a few examples where they actually implement the model on EC2 and see some performance improvements.

</comment><comment><USER8> How is this usable information, though? Do the authors recommend playing roulette to figure out which of your instances are new? Or even if they're AZ based, everyone has differently coded AZs.

<comment><AUTHOR> Well if you were planning on having an instance run for a long time, and it's a CPU bound process, then it would definitely be worth experimenting with a roulette system.

Some people already do this for EBS disk I/O issues, you fire up an instance, run some sample benchmarks, and kill the instance if it's a problematic one.</comment></comment>


TSA's Head of Security 'Removed' from Office - <AUTHOR> http://www.npr.org/sections/thetwo-way/2016/05/23/479242102/tsas-head-of-security-removed-from-office-says-house-panel <comment><USER3> One of the most irritating aspects of the TSA inefficiencies is that they _know_ the demand at each airport in advance. Because all airlines submit passenger information to the TSA as its booked (often months or weeks in advance), the TSA can shift resources.

While I'm all for blaming the TSA, the head of the TSA's union was on NPR this morning and pointed out that Congress diverted funds collected from the "9/11 Tax" (per-ticket fixed fee used to fund TSA) to other parts of the government budget. The union is requesting emergency funding for 8,000 additional TSOs, which would only bring it back to 2011 staffing levels.

There are quite a few other issues at play as well. The TSA has the highest turnover rate of any government agency. This is, in large part, due to the fact that they're mostly part-time and underpaid. Their public image isn't respected either.

I do think we should replace/get rid of the TSA, but the neo-conservative method of government excision where you cut off the cash flow and wait for everyone to get pissed off ("starve the beast") is incredibly unpopular. But thats exactly whats happening.

<comment><USER4> Just a nit: The management technique you're talking about is called "attrition". I think it's ideologically neutral. Either way: "starve the beast" isn't a neocon position; Grover Norquist isn't a neoconservative.

Neoconservatism is primarily about activist foreign policy, something that sets them apart from traditional conservatism, where isolationism is a more prominent strain of thought.

<comment><USER5> This is not a small thing: Starve the beast is emphatically a right-wing tactic, and well known one at that. To call it ideologically neutral w/r/t government is blatantly wrong.

Whether it's technically neoconservative or not is a red herring. (Neoconservative being just one subset of the overall conservative movement.)

<comment><USER4> Starve-the-beast is certainly a conservative strategy! RIF through attrition, though, is a general management technique.

"Starve the beast" refers to cutting government revenue to force tougher decisions about which departments to reduce or eliminate.

I agree, like I said, it's just a nit.

<comment><USER5> Fair distinction!

</comment></comment></comment></comment></comment><comment><USER6> Can we just get rid of the TSA?

Current estimates are that hundreds of people die each year in car accidents because they chose to drive rather than deal with TSA lines. This means that every few years the TSA manages to inflict more casualties than 9/11 did. In addition to inconvenience, economic inefficiency, and a demonstrably ineffective screening process that weapons can easily get through. (As many have shown.)

Security theater is a dangerously bad idea no matter how you look at it. Can we do something saner?

<comment><USER7> This is naive. Why would you assume the same number of successful attacks on air travel would occur without the security?

You can't argue that the current system hasn't done well, it has performed fantastically, based on the number of successful attacks within the US.

That said, they need a lot more screeners, and to be much more polite. And get rid of incompetent management.

<comment><USER8> How many attacks were _stopped_ by the TSA? Directly: 0. Hell, they're 0/2 on known attempts (the Shoe Bomber in 2001 and Northwest Airlines Flight 253 in 2009), both thwarted instead by passengers and crew.

Indirectly? (E.g., how many attacks weren't planned _because_ of the TSA that would have been planned and executed otherwise?) Very hard to say. Have law enforcement officials seen an uptick in other terror channels that would indicate terrorist plots are avoiding air travel?

Are any would-be terrorists abandoning their terror plans _altogether_ because of the TSA? Surely not. So all the TSA is doing is shifting attacks from air travel to other channels. That's a net zero.

And finally, _at what cost_?

<comment><USER9> Shifting attacks from one method to another is not necessarily useless. If what would have been the most effective method is reduced in its effectiveness, and as a result, another less effective method becomes the most effective one, and the used one, that reduces the effectiveness of attacks.

That wording was convoluted.

What I mean is,

if they would have done plane attacks because of plane attacks working best for them, then making plane attacks not work as well, and therefore making them shift to something else, means that whatever they are doing for attacks wouldn't work as well for attacks as the plane attacks would have, which is a benefit.

That's not to say that the TSA is beneficial, or that it does really reduce the effectiveness of adversaries.

I'm just saying that, assuming that it is true that adversaries shift their attacks from air travel to other methods as a result of the TSA , that would suggest that adversaries are restricted by the TSA , and made somewhat less effective (assuming that adversaries weren't overestimating the effectiveness of air travel attacks originally).

<comment><USER8> Fair point.

I think we're both struggling with how to _quantify_ the value of _deterrence_ , and how to model (mentally or otherwise) things like "effectiveness shifting". It's hard! But I think we're notoriously bad as human being and a populace at having real conversations about cost-benefit analysis.

</comment></comment></comment></comment></comment><comment><USER10> The airport security in most of the American airports I've seen in the last few years is just a complete shambles in terms of efficiency. It takes forever in comparison to most of the busy European airports I've been through. And I doubt the security is any better. For example, London Gatwick has a really fast system where they have a set of packing bays before you get to the scanners/pat downs. This massively reduces delays caused by someone in the queue ahead of you faffing around putting their stuff into trays. It's like no-one is even bothering to think about that kind of stuff in American airports. Or maybe it's just for international travellers?

<comment><USER11> the key here is that more than one person is filling their tray at a time. so if one person is taking their time, other people can jump past them. obviously it helps to have motivated and efficient operators, but in my experience, it's almost always some dithering idiot that holds things up. as as we all know, serial processing of a queue is not efficient when you end up waiting on IO :)

<comment><USER12> I fly frequently through a limited set of airports.

I rarely see the millimeter scanner at less than max throughput.

That said I regularly do what I can to slow things down, and sometimes take the pat down in favor of hassling the staff.

Attrition is damned right. The TSA scam is awful, and I hope we can get rid of it soon.

<comment><USER13> My personal experience is just the opposite. I always see the nudie scanners languishing for 30 seconds or more between people. The delay seems to be the baggage x-ray.

If that's true, then some other things fit neatly into place. The airline escalation of baggage check fees has driven people to carrying more stuff. That, in turn, means that more stuff needs to go through the x-ray conveyor, which slows down that process.

<comment><USER14> To be fair, some people were only carrying more things because they didn't want their stuff stolen out of their checked baggage, or for it to be otherwise lost in transit.

Stealing stuff right out of the security checkpoint ought to make those folks think twice, right?

<comment><USER15> I made the switch to carry-on only last year for all my travel. Too much waiting around at baggage claim, too much risk of luggage being lost (especially with transfers), etc. Checked baggage fees weren't the motivator, as most carriers allow one piece for free and I've never needed more than that.

With cameras, laptops, and other expensive items, I have to carry on at least one bag regardless. Now, it's one or two bags (roller luggage, plus laptop case, usually).

</comment></comment></comment></comment></comment></comment><comment><USER16> The danger of the TSA is that the employees truly believe they are doing good and important work. The brainwashing is so strong that it almost reaches a religious level.

<comment><USER17> I flew through Charlotte a few weeks ago and got stuck at TSA (the sniffer threw up a bright red "EXPLOSIVES DETECTED!" banner, upon which the other passengers at the checkpoint started giving me dirty looks and edging away... Thanks for that, TSA. You'd think it'd say something like "ERROR 5930" instead...).

There were hundreds of people at the checkpoint, TSA was moving very slowly. Someone else's laptop got flagged, they asked why, and the TSA staffer said "the molecular weight of the laptop was off". She (rightly) said that didn't make sense, complained that they'd made her miss her flight, and said "I work for the government, we're on the same side, but WTF?".

Response to her was "don't you want to be safe?" followed by a good five minutes of the entire TSA staff mocking her after she'd gone. They mocked her for saying she worked for the government, saying "if she worked for the government she'd know that already" (ignoring for a moment that their explanation was massively _incorrect_ , why would a non-TSA staffer know anything about the spectrophotometer workings?) etc.

Meanwhile, when they get tested, they miss 95% of test weapons/bombs. [http://www.nbcnews.com/news/us-news/investigation- breaches-u...](http://www.nbcnews.com/news/us-news/investigation-breaches-us- airports-allowed-weapons-through-n367851)

</comment></comment><comment><USER18> I've been to the DMV yesterday. You wait in line for 40 minutes in the sun just to get a number and then wait some more. Once you get a number, you're counted in the official wait time statistics published on their website, so the extra 40 minutes are shaved off for free. Who ever though it was going to be different when the TSA was created?

<comment><USER19> In CA you can make an appointment. I made one and was in and out in 20 minutes.

<comment><USER20> This is stupid. The last time I was at the CA DMV, I made an appointment ahead of time, only to have to take a number when I got there. What was the point of making the appointment if I still have to take a number? WTF? I sat there waiting for 20 minutes, despite having a set appointment time. That's not helpful.

<comment><USER19> They have a separate number/letter for appointments. For example, if you are there for DL issues without an appointment you get letter G and have to wait hours. If you have an appointment then you get letter B and you wait 20 minutes. How is waiting 20 minutes bad?

</comment></comment></comment></comment><comment><USER21> The most galling aspect is the $90,000 bonus, broken up into $10,000 increments to escape scrutiny.

Who is running the TSA circus?

<comment><USER22> I find this ridiculous. TSA employs 55k people and has budged $8B. Sure its director should be pay reasonably.

At the same time Yahoo CEO gets over $150M and people applaud it.

I get private versus public organization difference, but TSA is bigger than Yahoo.

<comment><USER23> Reasonable pay is fine, but why would he receive a bonus when the organization is not performing well? Furthermore, why would that bonus be paid explicitly in a surreptitious way?

</comment></comment></comment><comment><USER24> The most ridiculous thing is that you'd think it was surprise when these people show up at the airport - it's not as if all these people had bought tickets days in advance with a time that indicated when they were going to show up

</comment><comment><USER25> Lets be honest, every damn supervisor and management position within the TSA airport security apparatus should be on those lines until its fixed.

Got to love the stories where the TSA backdoor lobbies the Congress to prevent reform.

</comment><comment><USER26> I predict that security problems will be solved at airports once they fire the rest of the TSA.

</comment><comment><USER27> Let's close down the TSA instead. Use intelligent profiling and random searches instead of universal scanning. Let anyone go to the gates, not just ticket holders. Allow liquids, yogurt containers, etc. Allow knives. Allow people to "congregate" near the front lavatory.

Try it for one year and I can almost guarantee, flights will be every bit as secure. Security theatre is not security.

<comment><USER28> has the TSA stopped a single credible plot since it started doing all this theatre?

<comment><USER27> They boast of all the knives and guns they've confiscated. I wonder though, whether we'd not be more secure if _everyone_ carried guns on board. A hijacker wouldn't stand a chance. Of course, there might also be some bloody air rage incidents as well. But at the same time, maybe people would act more civil if everyone around them is packing, or at least the flight attendants....

<comment><USER29> Maybe this is the movies I've watched, but isn't firing a gun structurally dangerous to the airplane?

<comment><USER30> Not structurally, but you might hit something important.

<comment><USER31> What about the issue of depressurizing the cabin?

<comment><USER32> That's not a structural issue.

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> Security has been privatized at a few airports, like San Francisco and Kansas City. How does security screening effectiveness, efficiency, and cost compare at those two airports relative to all other TSA-operated US airport security? I haven't seen any side by side comparisons -- does anyone know if any reputable journalists or researchers have tried to compare?

<comment><USER34> Comparisons with the Kansas City airport will probably mislead. It has a very different architecture than most other airports: it's _aggressively_ anti-hub. That is to say, although it nominally has three terminals, each of those effectively has four or five _separate_ secured areas.

This actually works fairly well for trips starting or ending in Kansas City, not least because it means that no security wait will reach the ridiculous lengths you see in many other airports. It also means that screening personnel have to operate 15 different security lines rather than two or three. That may be why TSA left?

</comment></comment><comment><USER35> Congress cut the TSA budget 15% at the same time there is a 15% increase in traffic.

Sure, blame 'that guy'.

<comment><USER36> Good start! Only 85% to go!

<comment><USER37> Eliminate the TSA and give the $8B to Nasa. A much better investment.

<comment><USER38> The TSA provides value, security theater has its place.

<comment><USER39> Keep the sheeple thinking that something is being done while providing low wage jobs for what is being promoted as critical safety personnel? Orwell would just look at this, shrug and say "I was trying to say..."

<comment><USER38> You've lost when you start saying words like "sheeple" and "Orwell" in these conversations, you realize that right?

<comment><USER40> I took zentiggr's comment to be sarcastic with a hint of truth. I don't think his choice to use "sheeple"¹ or bring up Orwell detracts from his point.

¹ And let's be realistic, anyone who thinks the TSA actually improves security is basically just listening to what the TSA itself says. As mentioned in this thread, the TSA 1) hasn't stopped known terrorist attacks and 2) isn't hard to sneak weapons past. Blindly listening to the TSA saying they're important for security is, well, sheeplish.

<comment><USER38> How is calling me "sheeplish" helpful for this conversation?

The goal of the TSA is to create security theater, and _that_ goal is effective at preventing terrorists from even attempting to attack airports. It's _difficult_ to prove this, of course, because how does one measure a terror cell's internal and secretive planning?

You don't get to collect data on the targets terrorists don't attack, because they... well, they don't attack them! It's intellectually dishonest to claim 1), because of this.

As for 2), this is absolutely true, but why do you think the TSA's goal is to be functionally effective? It'd be nice, obviously, but like I said in my original comment, there is value in security theater.

The head of the FBI once said that there's simply no stopping a terrorist once he has his weapon on premises. The point of the TSA is to provide a false front line for terrorists to misidentify as the significant hurdle in executing an attack, and they do that successfully. The reality is, the world's police catch terrorists before they act, the vast majority of the time.

It'd be great if the TSA were effective, and it's via shitty management that they're not, this is unmistakable. But the mere presence of the TSA at US airports is an effective misdirection, because it provides what people call "security theater", and while most folks consider security theater useless, they're wrong. It has value.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER41> ~850 million US-based passenger * flights per year

~15 minutes in TSA waiting per passenger per flight

~80 years in a life

850,000,000 passengers per year * 15 minutes = 12,750,000,000 minutes of passenger time per year ≈ 24,241 years of passenger time per year

24,241 years of passenger time per year / 80 years per life ≈ 303 passenger lives per year.

The TSA effectively kills ~300 people per year just by wasting our time.

</comment><comment><USER42> Same thing happened to me with a video camera.

</comment><comment><USER43> Tea Party conservatives are not necessarily neo-cons.

<comment><USER44> Wasn't the Tea Party movement started because of their disgust with neo-cons?

<comment><USER45> No, it was started because a Black Guy got into the White House. Don't fool yourself, the Tea Party is simply a racist reaction to non-White person being in the White House. Budget wise, Bush was much worse than Obama and there was no Tea Party telling him not to invade Iraq and blow 2 trillion dollars on pointless wars. The Tea Party only came about when Obama took office.

<comment><USER43> This is absolutely false. The Tea Party coalesced after the bank bailouts.

<comment><USER45> Really?

[http://www.britannica.com/topic/Tea-Party- movement](http://www.britannica.com/topic/Tea-Party-movement)

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

There might have been some reactions to the Bush Bailouts, but what is the Tea Party does not come into being until Obama is sworn in.

Don't fool yourself, if Obama was White, there would be no Tea Party.

</comment></comment></comment></comment></comment><comment><USER46> Can't believe I am saying this but whatever Israel does in their airports, do it here and problem solved.

In fact whatever company does it in Israel should be hired to do it here, if it is a government thing, borrow their people to train ours, we give them enough for that loan.

<comment><USER47> The way Israel achieves their efficacy is blatant racial profiling. I've been to Israel several times, and because I am a white Jewish American, I have no problems. If I had brown skin, or was Muslim, or wasn't from the US, there's a good chance I'd just not be let in.

Now, it works extremely well. Can't deny that. And it's legal under Israeli law. But it would be blatantly illegal here.

<comment><USER27> Israeli profiling is far more sophisticated than "blatant racial profiling" as the above commenter baselessly claims.

For one thing, many Jews in Israel are of Middle Eastern origin and appear identical to Muslim Arabs. The Israelis use several layers of profiling: a preliminary sweep as you are checking in, which assigns you a particular "risk level" based on your country of origin, profession, behavior, and other details (probably if you're wearing Muslim attire, that's taken into account as well).

You then have to undergo several more levels of scrutiny from very well educated, highly intelligent and intensely trained specialists. They can and will frisk, pat down, and strip search if needed. They can open all of your luggage and check every inch of it if they're suspicious. Or they can wave you through if they're satisfied of your innocence.

Here's one journalist's impression of the Israeli system:

[http://www.businessinsider.com/israels-ben-gurion-airport- se...](http://www.businessinsider.com/israels-ben-gurion-airport-security- uses-secret-sticker-system-2015-6)

For the Americans to adopt the Israeli system would mean recruiting some very sharp cookies, training them very well and compensating them commensurately. The U.S. government's track record of such achievements is not that great, unfortunately. Certain groups like the Navy SEALs, certainly, but to hire, say, 100,000 such people to operate the 5,000+ airports in the U.S. is dauntingly beyond reasonable contemplation.

EDIT: also worth mentioning that Israel is 20% Muslim. They wouldn't just "not let in" Muslims; on the contrary, they have to accommodate many different ethnicities and religions every day. It's an extremely diverse country.

<comment><USER47> Your own article contradicts your suggestion that my claim is "baseless."

> As Lia Tarachansky wrote back in 2010 for Mondoweiss, while a one rating "is > awesome," a six indicates that "you're f-----." It appears to be reserved > for Palestinians, Muslims, and hostile internationals.

Palestinians and Muslims? That's ethnic and religious profiling, and together I think you could call it racial as well. And yes, Israeli Arabs are citizens of Israel with allegedly the same level of rights and responsibilities as any other, but they too face significant systemic discrimination (although not as far as leaving/entering the country is concerned, as far as I know).

But your main point - that the Israeli system is complex and intelligent - <USER2> true. It IS a complex, thought-out, professional system. It does work better than that of the US. That doesn't mean it is suited for the United States, or that it doesn't involve discrimination of a kind that would be illegal in the US.

I do not begrudge Israel its system. I believe it is necessary for the country's safety, though I don't like it very much. I just don't think it can or should work here.

</comment></comment></comment></comment><comment><USER48> "Security"</comment>


The Magical Number 7 plus or minus 2 - <AUTHOR> http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two

<comment><USER2> I have always been somewhat skeptical of the fact that this number coincides so nicely with the number of digits in a phone number, which the subjects (I presume to be from the US, I know, I have to track down and read the paper) are highly trained to commit to short term memory.

Does anyone know of similar finding were found in experiments with diverse cultures?

<comment><USER3> This is kind of a chicken-and-egg problem, isn't it? Which came first: the ability to remember 7 digits, or the decision to make phone numbers 7 digits long? It seems more likely that 7-digit phone numbers became common because that was the highest number of digits that most people could remember.

<comment><USER4> I believe that there is some truth to the claim that the length of a phone number affects our ability to remember numbers of that length; in Norway, we have 8 digits in our phone numbers.

A couple of years ago, I decided to try and remember as much of Pi as I could, and I found that precision to which I could remember it, was in fact 8 decimal digits. Even though I have only been asked to recite as much of Pi as I could remember _once_ during the last year, and I seldom actively try to remember it, whenever I come to think of Pi, _3.14159265_ usually pops into my mind.

However, whereas I remember telephone numbers either grouped on the form _12 34 56 78_ ( _twelwe-thirtyfour-fiftysix-seventyeight_ ) or _123 45 678_ ( _hundredandtwentythree-fourtyfive-sixhundredandseventyeight_ ), I remember Pi as a sequence of digits ( _three-comma-one-four-one-five-nine-two-six-five_ ).

Edit: The two ways of grouping the digits in a phone number that I mention here, is the way that phone numbers are usually written here in Norway. Often, landline phone numbers are written on the form _xx xx xx xx_ and cellphone numbers on the form _xxx xx xxx_. (Additionally, if I remember a phone number on one form, and someone else says the same number on the other form, I find it hard to tell whether we are speaking of the same number).

</comment></comment></comment><comment><USER5> Just as an anecdotal piece of info: most musicians accept that the human brain can keep track of eleven notes. Beyond that, you can change the scale progression and the transition will be (relatively) smooth to the human ear.

<comment><USER6> Perhaps you could clarify or point me to some more information on this? Even as a (somewhat amateur) jazz musician, musical pivots have always eluded me.

<comment><USER5> I've been searching for an interview with Jimmy Page, where he mentioned this and it's the first I've heard of it, but to no avail. Hence, 'anecdotal'. If I find it, I'll post it here.</comment></comment></comment>