Here are the 'cyber 9/11' scenarios that really worry the experts - <AUTHOR> https://www.cnbc.com/2018/11/18/cyber-911-scenarios-power-outages-bank-runs-changed-data.html <comment><USER2> Bricking every intel cpu,Using a likely 0 day in JunOS and ASR routers to make them all inoperable for a few days,similar wipe outs of cloud provider infrastructure come to mind.

But if I was the well resourced attacker I would use multiple teams and target a diverse variety of important services and infrastructure and coordinate an phased long term(weeks) attack. I would not cripple the internet as a whole,especially social media. In battle,hiding your location and intent is crucial to victory.

Social media would play a critical role in sowing confusion amidst the chaos. Isolate part of the country and spread a message that some internal political group (antifa or alt-right for example) launched a physical WMD attack,use access to fortune 500 company networks to send emails and other communication indicating internal collapse of the companies,one corp is going bankrupt,another has been lying about profits is under SEC investigation. Chaos after chaos. The goal of a "cyber 9/11" would not be to cripple the internet but (imho)rather to exploit it to acheive three independent goals:

1) Long term (multi?)National and Economical instability and possibly collapse.

2) Make the internet as it stands today a mortal threat to society.

3) As a precursor to a physical invasion. The kinetic attack would be only of the many rumors and reports being circulated. Any and all damage to your enemy's communications brings you one step closer to victory with minimal effort.

More on goal #2: The goal of 9/11 was not to kill some americans. The goal was to destabilize the west by attacking important symbols of economic and political prosperity. It worked,economy was only momentarily destabilized but 17 years later america and the west are grappling to keep their democracies and basic freedoms. The goal of terrorism is to terrorize not to merely kill(which is why mass shooters are not labeled terrorists,their intent is murder not change through terror). A Cyber 9/11 would have similar goals where the intent is to change and cause long term weakening of the adversary.

What makes the internet strong is not BGP,DNS and secure operating systems. It's the fact that people trust it for reliable and resilient communication and governments view it as a strength to their political and economical stability as opposed to a dangerous liability. The goal of terrorism is to change your beliefs so that fear resulting from the attack changes your policy and principles.

<comment><USER3> I accidentally stumbled on an interesting approach to sow discontent. There was a forum that was hotlinking a "words to images" script I had on one of my websites. They would post these images as their "text" instead of plain text.

It was hammering my server, so I changed up the script to return random inflammatory and/or inappropriate images if the referer was this forum site.

I was using the source IP as the rand() seed, so everyone on the forum had a different view of the images, but consistent in that it remained constant for any single user.

The resulting chaos and infighting was pretty funny until they figured it out.

<comment><USER4> This is what I consider/fear the next 'step' for 'fake news' and weaponised propaganda. Giving different audiences different content, and using those differences to turn them against each other.

Picture this:

You've got a story which is seemingly very controversial, and will rile up one side of the political spectrum.

However, this story is only shown for say, 10-20% of your readers/viewers, and the rest get an innoculous story, or one that says the complete opposite.

Now the ones affected by it will post it on social media sites and forums, saying that this is proof of how 'evil' the other side is.

But the others there can't see the same story, and will think said users are trolling them. After seeing them keep posting comments about how some minority group is evil with links to innocent stories about kittens and puppies, said users get banned.

This causes said users to think they're being targeted by the other side, and then every story they see on the site is designed to build off that. Make the forum/social media/news site owners out to be illuminati pawns or what not and their banning policies a way to stifle dissent.

Voila, the site has now basically weaponised A/B testing, and created a localised echo chamber to gaslight its readers into more and more extreme mindsets.

That's basically the nightmare scenario. Imagine an enemy state like Russia or China using it against the alt-right/antifa/whatever. Or activists using it to recruit followers.

Worse still, imagine it with compromised browser extensions as well. Imagine if a foreign government managed to do this in a way that could let them edit the text on fact checking sites like Snopes or major media outlets like the BBC or CNN or what not. Now that could have some worrying consequences.

Still, it wouldn't be impossible to fix/detect. Set up sites like Reddit/Hacker News to automatically archive pages linked to, and send users to the archive rather than the original unless they choose to click through. Avoid using any browser extensions at all, with hosts file blocking for things like ads rather than Adblock/uBlock/whatever. Ask others to double check what every page you see says to make sure it hasn't been compromised/doesn't show different things.

Do that and you can at least minimise this style of dissent sowing.

<comment><USER5> > This is what I consider/fear the next 'step' for 'fake news' and weaponised > propaganda. Giving different audiences different content, and using those > differences to turn them against each other.

That's not the "next step", it's an established practice. Notably, the recent Russian propaganda effort directed at destabilizing the US via false flag social media accounts and other channels was noted for doing exactly this. (They didn't invent the general concepts either, it's much older.)

The actual _mechanism_ in your example would be a bit novel, but it's also fairly easily accidentally penetrated, because real humans aren't 1:1 to online personalities.

<comment><USER6> This is literally how the Brexit vote was won.

Cambridge Analytica used personal profiles scraped from FB and (allegedly) from insurance company customer details to run ads that were _precisely_ tailored - almost down to specific users.

It only took a small swing to push the vote over the line.

<comment><USER7> You really have no idea whether people voted a certain way because of those ads or in spite of those ads.

<comment> barrow-rider Marketing works, we've had 100+ years to tweak and it justify marketing's huge budgets. Tweaked ads work too.

Further more, why can't it be both, because of AND in spite of those ads? Successful propaganda often uses false images from another perspective to generate scorn, e.g. obviously idiotic comments from tumblr SJWs (r/tumblrinaction, for example) who are likely sockpuppets.

Regardless, marketing is about numbers on the whole, not whether Bob or Sheela specifically voted -- and on the whole it worked for Brexit.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I think prior to cyber 9/11 we're more likely to see actors executing attacks for financial gain. i.e. for competitive advantage or market manipulation.

> A hacker took over the Twitter account of the Associated Press in 2013, > tweeting "Breaking: Two Explosions in the White House and Barack Obama is > injured." The stock market instantly fell 143 points.

Regardless, our best defense is diversification/decentralization - which goes against normal economic development (mergers and centralization). But as the risk increases (more attacks) - then the balance will shift to support diversification (well I hope).

<comment><USER9> Wouldn't work very well, even in your example you'd have to be a very quick trader and the SEC would catch it immediately after the fact. Whatever the attack, it would have to be very real not some fake event.

</comment></comment><comment><USER10> Well - and all they really needed was facebook... a mad reality tv star, and a mass of uneducated americans...

</comment><comment><USER11> A cyber 9/11 would be the prelude to a shooting war if committed by a nation state. 9/11 was not conducted by a nation state.

<comment><USER2> Depends on your perspective,they acted on behalf islamic states,although not directly supported. Their backing isn't as important as their intent. For example,North Korea supports APT groups that operate with loose connections to Pyongyang,it's rumored one of these groups(Lazarus?) Was behind the Sony hacks which were effectively a much smaller act of cyber terrorism. They attacked to terrorize Sony into changing its repease of a movie mocking their leader.

<comment><USER11> I don't think the Sony hacks register on that scale.

But hacks against a country's infrastructure would.

</comment></comment></comment><comment><USER12> When a foreign adversarial state launches 'cyber 9/11' it would imply a few things:

1) The offending country is willing to escalate/desires to provoke skirmishes that may lead to major battles with or without conventional military.

2) The offending country is so desperate, the only way to reboot their economy is to start a losing battle so it can be rebuilt.

3) the economy of the offending country is so skewed at the top of the leadership, they are willing to thin the herd using foreign intervention, and build up a zealous supporter base who is out for blood for vengeance.

TLDR: The adversarial state will launch a 'cyber nuclear' attack when it thinks is fully ready to take the brunt of 12 American carrier groups armed with manned and unmanned stealth fighters.

<comment><USER13> What if you can't figure out who the offending country is? The USA like any other nation is just some people who have emotions and psychology that can be tinkered with. How about six American Carrier groups against the other six??

<comment><USER14> >What if you can't figure out who the offending country is?

Sounds like a great excuse to take out all the "usual suspects" at once.

<comment><USER13> Theorotically, in a world without consequences the USA can take out multiple powers very easily.

Practically (and without usage of nuclear weopons), the USA can barely handle attrition. Also the USA have not fought a conventional war with another competent regional power since World War 2 and that too was with many allies.

<comment><USER2> Even something like vietnam would be very difficult now with all the internal division and the prelude strife they'll cause.

</comment></comment></comment></comment></comment><comment><USER15> The cyber 9/11 will be done by rogue AWS employees who are part of a sleeper cell at Amazon.

<comment><USER16> This is an interesting idea: how many Big-N companies have sleeper cells, capable of wrecking havoc the moment they're called upon?

</comment></comment><comment><USER3> Some sustained attack against a core function worries me. DNS, BGP, etc.

<comment><USER17> Hitting DNS would probably take down credit card payments, but I think the worry about hitting electric/water grid is a step up in terms of how immediate the danger would be to actual lives.

<comment><USER18> I think electrical is all you'd really need to take out. If it were an attack like stuxnet, where it physically destroys the power generators, we will be in for a very long ride without electricity. Potentially years. The generators can get so hot they just melt/fuse internally, permanently destroying it. And, it can take many months to years to get a replacement. They're not just sitting on a shelf somewhere, and if dozens or hundreds are needed simultaneously... Seeing as how everything is centered around electricity, including water pumps, internet, financial systems, gas pumps (knocking out the whole supply system), etc., it would be game over and we'd be in a Lord of the Flies situation. Think about shutting off the failsafes on a nuclear power plant and ramping it up to run outside of normal parameters causing a meltdown.

PBS - NOVA (CyberWar Threat): [https://www.youtube.com/watch?v=0EnTLju9_cE](https://www.youtube.com/watch?v=0EnTLju9_cE) Watch the whole thing, but check around the 37min mark for demos with generators.

PBS - NOVA (Rise of the hacker: [https://www.youtube.com/watch?v=-ZdasoAGMQs](https://www.youtube.com/watch?v=-ZdasoAGMQs) This gives a very good description of stuxnet, which is released out in the wild now for anyone to use. THAT, is downright scary.

</comment></comment></comment><comment><USER19> A nation won't play this hand without expecting to back it up with standard military options. So when things get to that point it should come as no surprise.

</comment><comment><USER20> Remotely rooting automobiles during rush hour to accelerate.

Several models now stupidly designed with media systems on same wire where it is physically possible.

</comment><comment><USER21> Question: do HN-ers think that Russia and /or China have the capability of, say, shutting down our grid or water supplies? The army would have to restore order [https://en.wikipedia.org/wiki/New_York_City_blackout_of_1977...](https://en.wikipedia.org/wiki/New_York_City_blackout_of_1977#Effects)

I think they do, but we can return the favor.

</comment><comment><USER22> it's very telling how everyone here is making the same mistakes USA intelligence made on 911 itself.

911 was some internal actors, sponsored by some CIA trained warlord who they forgot from 20 years before, but they could only see attacks coming from big nation states.

Here the comments are making the same mistake. cyber 911 can be something like a random operative who was given some covert training and now focus it on the coutry who trained them. instead everyone can only see full blown world war from well organized and funded nation states.

my guess: the (israeli?) company the US outsourced scada atacks on iran (stuxnet) will start selling the same tech (which most US facilities are still vulnerable to) other actors, such as north korea or syrians who felt betrayed with the US constant side-changing.

<comment><USER23> > 911 was some internal actors, sponsored by some CIA trained warlord who they > forgot from 20 years before, but they could only see attacks coming from big > nation states.

Despite popular opinion, Bin Laden wasn't trained by the CIA or a hero of the Afghan jihad. He hid out in caves Pakistan for the most of that war and made occasional forays in to Afghanistan with a rag tag group of "fighters" whose exploits were comical more than anything else.

Bin Laden's family very much wanted him to "stop dicking around", as did the Saudi govt and secret service. If I'm not mistaken he was persona-non-grata in Saudi Arabia and the only country that would have him was Sudan, where he lived in squalor, even before 911 happened (source: The Looming Tower).

> cyber 911 can be something like a random operative who was given some covert > training and now focus it on the coutry who trained them

Most of those tools are for espionage, not warfare. Stuxnet was sabotage, highly specialised and took huge amounts of effort to develop and deploy.

Afaik Middle Eastern hackers are mainly defacing websites and N-Korea is hacking entertainment companies and robbing banks.

The cyber realm is different from the physical world in the sense that it has much more eyes on it than 911 had during the planning phase.

Stuxnet was discovered by a tiny E-European IT shop and examined by a handful of people working in the private sector.

To really start a war using software (say by launching missiles) you'd need highly specialised, precisely targeted tools that aren't lying around to be sold by rogue agents.

<comment><USER6> To really start a war you need to persuade the people with the missiles they should launch them. Or maybe that voters should elect someone who is more likely to launch them.

That's a whole lot easier than hacking into the launch systems.

</comment></comment></comment><comment><USER24> It's only a matter of time before foreign hackers have the power to turn off the United State's electrical grid. Look how Russia did it in Ukraine.

<comment><USER25> Decentralizing the attack surfaces would go a long way to mitigating 'turning off the grid'. The US arguably has the advantage of their grids being lots of different grids patched together and run by 500+ companies. [https://en.wikipedia.org/wiki/Continental_U.S._power_transmi...](https://en.wikipedia.org/wiki/Continental_U.S._power_transmission_grid) Against that there are probably lots of backdoors and security lapses amongst all these daisy chained systems...

</comment></comment><comment><USER26> I think a cyber 9/11 is just about the only thing that'll make us get our shit together in this industry. Hopefully it happens before cyber WWI.

</comment><comment><USER27> Hacking some financial system or industrial control isn't really the big threat demanded of 'cyber warfare' that is just sensible information security, building systems to best practice, reviewing them and updating as per normal.

The real danger is an idea that gets all too popular.

For instance, the could be a new climate change type of group that comes along and gets too much mindshare. In fact there was a new group who closed five of London's bridges the other day. I doubt that they will be the group from which big ideas emanate from to take over the world but you never know.

So the case can be made for all of this extra spending on the basis that it is all there to do things that sound sensible - 'Internet Security' \- but there is capability being built for the more nefarious 'cyber warfare', making sure ideas that threaten business as usual get taken out.

<comment><USER28> For those confused, the op is complaining because some protesters staged a protest on a few bridges in London last week over their view that the UK government is not doing enough to tackle climate change. Civil disobedience existed well before the internet, on a far larger scale.

<comment><USER29> I knew this was going to happen, because I read it on the internet. If the government had censored it, then as far as I know it didnt happen, never even existed. There could be people trying to organise similar things in Australia right now, and the message isn't getting through the censors. 1 passionate activist cant shut down a bridge. Governments inherintly fear any disruption to the status quo, but its how virtually all social progress is made.

<comment><USER28> > There could be people trying to organise similar things in Australia right > now, and the message isn't getting through the censors

How on earth did Ghandi organize the Salt March without twitter.

China struggles to censor the internet, how on earth do you expect people to believe that Australia does.</comment></comment></comment></comment>


WhatsApp puts limit on message forwarding to fight fake news - <AUTHOR> https://www.theguardian.com/technology/2019/jan/21/whatsapp-limits-message-forwarding-fight-fake-news <comment><USER2> So, fake news will be shared with copy-paste instead of forwarding? This will absolutely deter those rascals who manipulate their platform and multiply user engagement.

<comment><USER3> It seems like a valid and useful way to slow the rate of propagation of fake news.

Much of the current problem is that fake news spreads faster than moderators can make a decision on it, or journalists can fact-check it. If you can keep it in a "slow burn" phase longer, where it's being forwarded along to a handful of people at a time, it's easier to combat.

<comment><USER4> It also seems like a valid and useful way to slow the rate of propagation of real news. Real news also spread very fast and faster than moderation.

The point is, this has next to zero selectivity. It just makes the platform hostile to encrypted group messages. My guess would be that (besides PR regarding the Indian stories, which is a social problem, not a technical one) this is about censorship. You can't censor things you can't see. Better stop them from communicating freely.

<comment><USER5> People probably won't understand this but I totally agree with you.

</comment></comment></comment></comment><comment><USER6> You can still fwd to 5*256 people. Not sure about the effectiveness of this limit.

<comment><USER7> Because Whatsapp group size is 256 people and you can foward a message to 5 groups.

<comment><USER8> That's quite a blast radius. Also, we have seen automated accounts that automatically spread messages to those groups.

</comment></comment></comment><comment><USER9> So now it can get sent around via a game of literal telephone. I wonder if this will end up _creating_ fake news. Of course, any mistakes can be blamed on the users.

</comment><comment><USER10> Ok given what we've seen from headlines recently, this actually makes sense. My grandma is old and I read older people share fake news more then youngins. My grandma (and older aunts/uncles) are the only people who forward emails. I wouldnt be surprised if lots of fake news articles were forwarded around networks of older folks.

<comment><USER11> There is a correlation between age and "credulity" (for lack of a better word for 'likely to share inflammatory fake news') but it's not the best proxy.

The question is more: assuming that Facebook/WhatsApp can give its existing members a reasonably accurate score, would you allow certain people to share more? What would you do with new accounts?

</comment></comment><comment><USER12> So now viral media is the enemy?

</comment><comment><USER13> Improve your messaging program by preventing people from sending messages. Good move.

</comment><comment><USER14> Messaging app handicaps itself to reduce the number of people you can message at a time rendering it more useless for group communication

Edit - I removed a paragraph which was conjecture

<comment><USER15> Through forwarded messages. The app already supports group messaging, which was already (and remains) a more effective way of communicating with an established group.

</comment></comment><comment><USER16> WhatsApp UI is also at fault: they distinctly dont show who the message was forwarded from or the original poster

Telegram does and it saves a lot of questions

I have a partner that forwards other people's business replies over Whatsapp, and I never know the context especially because I never know whose message he is forwarding</comment>


I'm Adam, and i'm a recovering Singleton addict. - <AUTHOR> http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/ <comment><USER4> The OP is down, but from reading the 1 comment, I'm sure this is a C# (possibly Java) developer.

1- Take a programmer who's tied to an IoC container and DI as a way of life, along with anti-singleton, and interface everything.

2- Introduce him or her to a dynamic language. Specifically focusing on testability without DI, interfaces and fear of singletons and statics.

3- Watch as he or she either:

a - accepts the fundamental truth that all that crap in a static language doesn't add value outside of freeing you from the language

b - refuses to believe that what you are doing can even be classified as programming

This is equally entertaining to do to either a very "experienced" (doing the same thing for the last 10 years) programmer, or someone who's just discovered mocking and mocks everything.

You can tell a lot about a Java or C# programmer by how readily he or she accepts this shift (which isn't to say they magically switch over to a dynamic language, but they should recognize that all that stuff a static language demands of us is really a limitation of said languages).

<comment><USER5> Hm, I think your statements is too broad: "...the stuff a static language demands of us is really a limitation of said languages." You could apply it to some languages, like Java or C#, but the Haskell and ML folks have an entirely different view of static typing. As Haskell has proven, a good static typing system can make it easier to write short, clear code, correct code. And dynamic types are really just a kind of static types -- reduce a static type system until it has only one type, voila, a dynamic type system. I jest.

I tend to think about it the other way around, as "These are things I can do in a static type system but not in a dynamic one," but never let it be said that arguing about type systems on the internet was a good use of my time.

</comment></comment><comment><USER6> Well, two points come to mind:

1) Singletons do make sense when they represent a true physical singleton - for example, you only want one piece of code drawing directly to the screen, the Window Manager, which should indeed be a singleton.

2) Most of your problems stem from the us of GetInstance() not from the use of the Singleton pattern in and of itself. For example, without GetInstance(), the other way to get a reference to the Singleton object is to pass it in to the object that is going to use it. This indicates the dependency in the client class's interface, and also makes mocking out the Singleton for test purposes a real possibility.

<comment><USER7> Question regarding the injection. I've found that while injecting dependencies is good, I still prefer the brevity of not having to declare the common case. Basically, I allow an injection to take place, but make it optional, and if one isn't passed, I use the common case, which in effect makes a call to a getInstance.

Any thoughts on that?

<comment><USER6> Well, that is a workable solution, but then, I'm sure you're already aware of that, seeing as you use it already ;) Personally I prefer having the object appear in the published interface, it helps highlight the existence of a dependency, but your way doesn't seem horrible either. I suspect that it depends a lot the language you're using. I'm a C programmer, and optional parameters are quite verbose in C, so I would never choose your solution, but in Ruby or Javascript your solution could be quite clean.

<comment><USER7> My big concern is always implementing a solution and not seeing an otherwise obvious problem. Hence the question. =)

As a PHP guy, setting up optional params are easy, so I like the solution.

</comment></comment></comment></comment><comment><USER8> I don't normally do this but Google Cache is being a pain for me so it might be being a pain for others. Here is the original article from [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://adamschepis.com/blog/2011/05/02/im- adam-and-im-a-recovering-singleton-addict/&hl=en&strip=1)

I'm Adam, and i'm a recovering Singleton addict.

Posted by aschepis on May 2, 2011

My name is Adam, and i'm a recovering Singleton addict. There, i've said it. I used to use singletons all the time because they make doing some things, like sharing state globally, incredibly convenient. My code was littered with XYZManager classes. The defining trait of these classes was the static GetInstance() method that magically enabled me to get access to that object and its state wherever I wanted!! What a great idea, right?

What a mess! I learned over time that the cost of changing one of these things, or the cost of doing a major refactor was really high in terms of code change. And to make things worse, because my classes' dependencies were hidden in implementation and weren't transparent in the interfaces it was impossible to write real unit tests. This made doing a big refactor even less attractive.

So over the years, through work in the industry and coding on my own I've come to the conclusion that the singleton sucks, and that there are very few places where they are actually appropriate (logging comes to mind as one acceptable place). The fact of the matter is that most of the places I see singletons used in software they are actually just an enable for developer laziness.

So here is my off the cuff list of why singletons suck. Feel free to comment and add your own reasons (or counterpoints)

Singletons hide your dependencies. This makes code harder to understand Singletons make unit testing difficult. It's hard to mock out a global object that you can't inject into a class Singletons reduce reusability. If i'm writing a class that utilizes a singleton because my application will only ever use one then i'm limiting myself because I can't use that library to write test tools that may want to simulate how many of these object (for instance, many users) interact with a system. Singletons reduce scalability. A single, global object? Sounds like a source of contention to me. Singletons are not good object oriented design, they are lazy!

</comment><comment><USER9> Steve Yegge wrote on this some years ago, calling it the Simpleton Pattern. [http://sites.google.com/site/steveyegge2/singleton- considere...](http://sites.google.com/site/steveyegge2/singleton-considered- stupid)

</comment><comment><AUTHOR> Apologies!!!! You guys killed my little ec2 instance! It's back up, but running slowly. I'm going to look for some new hosting. thanks for the comments. i'll take some time to respond later.

</comment><comment><USER10> As a video game programmer, I use the Singleton pattern quite often. For example, "TextureMgr", "MaterialMgr", "ModelMgr", "GrSubsys" (for Graphics Subsystem), etc..

The most beautiful Singleton code I've seen in C++ is:

      class GrSubsys
      {
      public:
        GrSubsys();
        ~GrSubsys();
      };
      extern GrSubsys* gGrSubsys;

... then the constructor and destructor are written such that you can startup/shutdown the singleton as follows:

      //</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      void
      App_Startup()
      {
        // initialize graphics subsystem.
        new GrSubsys;
      }

      //</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      void
      App_Shutdown()
      {
        // shutdown the graphics subsystem.
        delete gGrSubsys;
      }

      //</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      int
      main()
      {
        // startup the engine.
        AppStartup();

        // enter the per-frame application loop.
        while ( AppFrame() )
        {
        }

        // shutdown the engine.
        AppShutdown();

        return 0;
      }

_Shrug_. A friend introduced it to me, and I liked it a lot. The same concept can be easily applied to C, too.

<comment><USER4> how much unit testing do you do?

<comment><USER10> A better question might be, "Would this pattern impact our ability to write unit tests?" I believe the answer is "No."

Let's say the module Foo depends on the Graphics subsystem. That is, Foo.cpp has the code:

      #include "GrSubsys.h"

      //</comment></comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      Foo::Foo( const string& name )
      {
        // fetch a handle to our model (loading it if necessary).
        _model = gGrSubsys->GetModel( "models/" + name );
      }

      //</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      bool
      Foo::IsValid()
      {
        return ( _model != NULL );
      }

In order to write a unit test that takes into account the aforementioned Singleton pattern, you might write:

      //</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      void
      Test_EngineComponents()
      {
        // prepare for science.
        AppStartup();

        //</comment><comment></comment><comment></comment><comment></comment><comment>==
        // Test #1 - <USER2>
        //</comment><comment></comment><comment></comment><comment></comment><comment>==
        {
          // load a Foo entity.
          Foo* sunTzu = new Foo( "test/warlord" );

          // verify the entity loaded successfully.
          assert( sunTzu->IsValid() );

          // shutdown.
          delete sunTzu;
        }

        // conclude our science.
        AppShutdown();
      }

and AppStartup() is the function which initializes the subsystem singletons (and those will initialize their manager singletons).

It's about discipline. Any fool can butcher with any tool.

<comment><USER11> Unless I have missed something about unit testing somewhere I am pretty sure that fails the "unit" part of unit testing. Unless that "#include GrSubsys.h" is actually importing a mock graphics subsystem.

<comment><USER10> A mock graphics subsystem isn't possible since it depends directly on the video card.

<comment><USER4> My initial point was that the code isn't really unit testable. From what I know, this is common in video games..too much code tied too hardware.

I'm certainly not saying this is bad. I am saying that, from my experience, video game programming is very different than other sorts of programming.

<comment><USER10> Ah. I gave an example of running a unit test against the hardware. I'd like to understand _why_ it's not really testable? Not to defend myself -- to better myself.

<comment><USER4> Again, video programming _is_ different..you might want to seek out the advice of people from that field specifically.

We have an analogue in enterprise/web programming. Code that interacts against the database. Do you, or don't you, stub/mock out the data layer code? Traditionally people did mock this out. Then Rails came along with ActiveRecord...and now hitting the DB isn't only common, I think a lot of people agree that, at a point, it's the right approach. Because, after all, what are you really testing if you don't hit an actual DB?

But, that's specific to code that has dependencies on outside systems (like the DB, or your graphic subsystem). When I look at your Foo class and the IsValid method, I see a pretty specific unit that really can and should be tested separately from an actual GrSubsys implementation. I mean, _you've_ given it a dependency on GrSubsys, but I'm not sure that's right.

Should the test read:

"it is invalid when the model is null"

or

"it is invalid when the graphic subsystem returned null"

?

The difference is subtle, but important. The first is decoupled from the implementation. Foo is invalid when it's model is null. The second is coupled to the depedency: Foo is only invalid when the graphic subsytem returned null.

What value does that extra coupling, within your test, get you? What should IsValid (either the test, or the implementation) care that why the model is null? Why add that extra complexity which makes your test more likely to break due to changes to the implementation of the dependency?

If you test Foo independently, and then you test that gGrSubsys returns null on an invalid model separately, the two unit tests end up working together in isolation from changes you might make to the other.

</comment></comment></comment></comment></comment></comment><comment><USER12> Singleton's are fine, as long as you don't know they are such. For example calling a function, that does lazy initialization (first time init) - <USER3> really good - e.g. not requiring certain initialization is sometimes really practical, and does not introduce messiness in your code. Most importantly does not require putting that initialization code throughout every application that you might use.

For example, we use at work DEJA Insight Profiler, and you can directly put profile probes (C++) with DEJA_CONTEXT("SomeFunction") - it's using RAII to mark start/end of the probe. But the point is there is no explicit call to DEJA_INIT, or DEJA_CLOSE, etc. But this only works if the DEJA main application is loaded.

</comment><comment><USER13> The post is down, so I can't comment on that, but getting rid of singletons was the single most effective thing I did to improve my software design. I also summed up my objections to the singleton pattern in a blog post:

<http://zmotula.tumblr.com/post/1390385240>

There's also a blog post called _Singletons Are Pathological Liars_ by Miško Hevery, which is very well thought-out and contains links to other related topic:

[http://misko.hevery.com/2008/08/17/singletons-are- pathologic...](http://misko.hevery.com/2008/08/17/singletons-are-pathological- liars/)

Hope that helps somebody, reading Hevery's articles was a huge eye-opener for me.

</comment><comment><USER14> Is it just me or have there been a lot of content-free short opinion pieces on software here lately? I expect a lot more nuanced and detailed critique than "x is bad".

</comment><comment><USER15> >"Singletons are not good object oriented design, they are lazy!"

Hmm, so perhaps that says something more about OO than "singleton style"?</comment>


Full screen, in browser, Flash 10.1 content shown running on a Nexus One - <AUTHOR> http://www.geek.com/articles/mobile/full-screen-in-browser-flash-10-1-content-shown-running-on-a-nexus-one-20100218/

<comment><USER2> > _So the idea that you can't do Flash in a mobile browser is just not the > case as you can see._

Nobody that I know of has claimed otherwise. The claim is that you wouldn't want to run it because of stability, performance and battery life issues.

> _In my opinion Apple do not like Flash and AIR because it is a major threat > to revenue from App Store sales._

That's a common opinion, but I don't see how it holds up. If you're talking about free Flash games the obvious competition would be free iPhone games which Apple makes no money off of. If you're talking about ad-supported Flash games then the competition would be ad-supported iPhone games, which Apple makes no money off of.

> _The other aspect of Flash that worries Apple is obviously control. They > have none over that content. So if someone wanted to produce a strip poker > app with full nudity, for example, they could, and have it running full > screen on an Apple device._

That's also reaching. They have no control over any webapp you build either, and you could certainly pull off a strip poker game online without flash. You could even use real people.

<comment><USER3> > _If you're talking about free Flash games the obvious competition would be > free iPhone games which Apple makes no money off of. If you're talking about > ad-supported Flash games then the competition would be ad-supported iPhone > games, which Apple makes no money off of._

Apple may not get any money on freebies, but those freebies are still distributed through the iTunes Store, you still need to pay the $99 entrance fee, and you still have to own a Mac to develop iPhone software. That's control they are going to great lengths to keep.

<comment><USER4> Interesting, I did not know that Adobe gives Flash development tools for free. Where can I download my free copy?

<comment><USER5> They don't give away the IDE, but the SDK and command line compiler is available here:

[http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sd...](http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sdk)

There are also a few open source editor/IDE options here:

<http://osflash.org/projects>

Particularly [http://www.flashdevelop.org/wikidocs/index.php?title=Main_Pa...](http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page)

<comment><USER4> you can get Xcode and iPhone SDK for free too and directly from Apple.

</comment></comment></comment></comment></comment><comment><USER6> "Forget everything Steve Jobs is saying about Flash being buggy. In my opinion Apple do not like Flash and AIR because it is a major threat to revenue from App Store sales."

No. That is the MAIN reason Flash isn't on the iPhone, it is the number one crashiest program on the Mac.

How is the battery life? That's another big concern with Flash on a mobile device.

<comment><USER7> The big problem isn't Flash itself, but what people make in it. Most of the crap Flash movies out there are made by graphical designers who have no knowledge about programming, and typically only test their creations in isolation on their own machines. When that thing is then released, it is actually displayed on some webpage together with lots of other flash elements and other ads, and the whole thing slows to a crawl because none of it was optimised.

A good Flash programmer can make very good Flash movies that don't perform like crap, but good Flash programmers are very rare.

A lot of people hate flash because of all the low-quality crap that is made with it, and shoved down people's throats through websites, but if you replace Flash with something else, you can bet your life that there will still be a lot of low-quality crap, made by non-programmers, that will be shoved down your throat and slow down your browsing experience.

<comment><USER8> All true... except that the same flash app running on a non-windows machine will use more resources than one running on a non-windows machine. Full screen flash video takes up a ridiculous amount of resources on a mac, and an obscene amount on a Linux machine. Based on adobe's crappy track record with non- windows platforms, I have no trouble believing the reports that the version of flash they submitted to the app store drained the iPhone battery in under an hour, as rumors indicated.

Non-optimized flash apps are indeed a problem that Adobe can't really fix. But the problem is multiplied by Adobe's god-awful implementation of flash on non- windows machines.

<comment><USER7> Fair enough.

For comparison, it's interesting to see that there's a new "browser war" concerned with optimizing the javascript performance, and the results of that are pretty impressive and to the benefit of all. If Flash had been a more open standard and there would have been competing Flash players, we could have seen something similar there, a race to improve the Flash player performance to in turn make the browsing experience better.

But it's proprietary, so the only thing that motivates Adobe is the fear of being marginalized.

</comment></comment></comment></comment><comment><USER9> Amusing and possibly telling that the one screenshot that includes the battery indicator shows it in late-orange to early-red territory. I'll give Adobe the benefit of the doubt. Maybe it wasn't fully charged when they started the demo.

</comment><comment><USER10> I like this new, under pressure Adobe. It's almost as if they're trying to please people rather than save their own skins.

<comment><USER11> They'd please me most if they abandoned flash. Flash is a closed black box sitting in a web page. I'm working on a Google Chrome extension that finds MP3s on web pages and I hate it when I find a site with cool music but they use flash. Also it eats my CPU.

I hope flash goes away. I have half the mind to uninstall it from my computer. Most flash content is just ads and sites that don't really need flash for whatever it is they're doing.

Adobe's Kuler is a great example of something that doesn't need flash. What does it do that can't be done with HTML and JavaScript? Why would someone choose flash for a project like that? Google analytics and other online chart software are another good example.

<comment><USER12> <http://kuler.adobe.com/#create/fromanimage> that's something thats trivial to implement in Flash, but much harder with JavaScript I imagine.

<comment><USER13> Something like this, maybe? [http://harthur.wordpress.com/2009/12/18/getting- the-color-sc...](http://harthur.wordpress.com/2009/12/18/getting-the-color- scheme-of-a-website-using-canvas-and-hierarchical-clustering/)</comment></comment></comment></comment>


We will soon be able to visit the ancient maya civilisation through VR - <AUTHOR> http://unimersiv.com/course.php?id=11

<comment><AUTHOR> Virtual reality being used in education is a great thing, it will add in experience-based learning, as we will be able to practice skills in a simulated environment. And networking, as we may interact with other students and instructors inside virtual spaces.</comment>


Ask HN: What does your daily schedule look like? - <AUTHOR> There have been a few threada I have found enjoyable in the past. What do you do everyday? What time do you wake up? How do you wake up? <comment><USER2> Wake: 6:00 AM In Bed By: 9:30 PM Sleep By: 10:00 PM

Fitbit with an ankle strap that tracks my sleep and goes off at 6.

Keep phone with alarm in bathroom at 6:15. I should already be awake by now and will turn the alarm off before it begins as to not wake anyone.

I have a little script that has all my tasks and creates a spreadsheet for each day with all the tasks that I want to get done in the morning. I print the schedule off a week at a time. I do not use my phone in the morning before work, other than to turn off the alarm.

Siempo installed on my android phone to reduce screen time.

Citibike (I live in nyc) to work and get into office by 7.

Eat with coworkers over lunch and bond.

Work until 6 and go home.

WFH 2 times a month, trying to do it more.

I lock my tv remote and tv cord in a kitchen safe box 4 times a week so I don't watch tv -> [https://www.amazon.com/Kitchen-Safe-Locking-Container- Height...](https://www.amazon.com/Kitchen-Safe-Locking-Container- Height/dp/B00JGFQTD2/ref=sr_1_7?ie=UTF8&qid=1530921113&sr=8-7&keywords=box+lock+timer)

I have a life time subscription to the freedom app that blockers internet.

I have a apple script that runs via a cron job that grayscales my home computer every 15 minutes

I use stretchly which makes me take micro breaks every 5 minutes.

I work in tech, but try like hell to not use tech outside of work. Its tough but doing so makes me much happier and it makes the days feel much much longer

<comment><USER3> 3 free hours a day? Do you feel it's enough?

<comment><USER2> I do get a little burned out every 7-8 weeks, which then for about a week my schedule falls apart and I'm just super lazy for that week.

3 hours without a screen is actually a long time tho. It feels like forever.

I've noticed people have a similar schedule to mine although they get much less sleep and increase the amount of tv or video games. I'd rather get more sleep and have less of that type of free time.

</comment></comment></comment><comment><USER4> (Wife wakes up around 5-6, works out, gets ready... out the door by 7...)

7AM "Bye Honey, have a nice day" back to sleep

8AM Finally get up, shower

9AM (Bike 0.5 miles) Drop daughter off at daycare

930AM (Bike 4.5 miles) Arrive at the office. COFFEE

Noon (lunch / typically first food of the day)

4-6PM (weather / wife dependent) Leave work (Bike)

+30min (arrive home) Workout and/or chores til...

630PMish Dinner w/Family

7PMish Daughter bedtime

730-9PM TV/Computer (Work, Grad School HW or Idly surfing) on Couch w/Wife

9PM-11PM (Wife falls asleep on couch) Continue TV/Computer above... 10% chance I can play a video game

Definitely some sub-optimal parts in there, but that's the norm

</comment><comment><USER5> Alarm goes off at 8:15. Snooze it until 9:30. Get stuck on reddit until 10, quickly rush to get showered and out the door. Drive 30 minutes to work, happy my job doesn't really care when I get there as long as my work is done.

Leave work around 6:30, have a quick dinner with my wife before she goes to work. Play games, watch YouTube, read reddit until 2 AM. Go to bed.

</comment><comment><USER6> Today is a Saturday so I'll only cover my weekend routine.

* 6:30AM - Wake up, make coffee & check interent.

* 7AM - Wake up our toddler, feed him, dress him.

* 8AM - Hand the toddler over to my wife, who will care for him until he has his mid-day nap. Generally waking up again at 1PM.

* 8AM-1PM - Enjoy my own free time, surfing, smoking, sitting in a hammock, shopping, etc.

* 1PM-5PM - Entertain our toddler. Take him to a park, play with him at home, etc.

* 5PM-6PM - Relax some more - as my wife is in charge for an hour.

* 6PM-7:30PM - Play with the toddler, then give him a bath and put him to bed.

* 8PM - Watch TV with my wife, talk, or otherwise do stuff.

* 10PM - Go to sleep.

Weekdays I'm in charge from 7AM-4PM or so, and alternate giving the child a bath and putting him to sleep every other evening.

I wrote about this on my blog in the past:

[https://blog.steve.fi/how_we_care_for_our_child.html](https://blog.steve.fi/how_we_care_for_our_child.html)

<comment><USER7> That's a lot of free time with a young kid. I find that weekend are pretty full of chores when not directly looking after them. 1-2 dishwasher loads. 1 washing machine load. Tidy house. Buy food. Clean all the mess. I have 2 children tho.

I do try to very occasionally get some surfing in. 30min drive to beach so not too bad.

<comment><USER6> I guess when you say that I realize you're right; each of us has "half" the day off each weekend.

During the week I'm a stay at home dad, so I take care of him from approximately 7AM until 4AM, then an hour or so in the evening.

I've started to become very productive during his 2-hour lunchtime nap!

</comment></comment></comment><comment><USER8>
        05:30 wake up just before alarm. browse news on laptop
        06:30 leave home, walk to the bus stop, buy the coffee and cheese bread
        06:50 - 07:10 take bus, eat breakfast, listen to audiobooks
        08:20 - 08:30 arrive to office, go get another cup of coffee while windows boots
        09:00 daily standup
        09:30 start actually working
        12:30 lunch break
        13:00 back to office, grab another cup of coffee
        17:00 leave office, walk to bus station
        17:30-17:45 take the bus, listen to more audiobooks
        19:30 back to my neighbourhood, go to gym ( or the pub, or therapy, depends on which weekday )
        20:30-21:00 back at home, shower, quick meal
        21:00 little code-for-fun or netflix, or just relax with wife
        23:00 sleep time

</comment><comment><USER9> Weekday: I'm usually up between 05:30-06:00

From 6:30-07:45 I eat breakfast, shower, and get my kid dressed and ready to go.

I get to the office around 08:15. I have standup at 10:00 so I usually grab coffee and do some work before then.

10:15-12:00 is usually a mix of work (I do integration and cloud applications development) and meetings. I eat lunch around 12:00, usually with coworkers.

13:00-18:00 is usually about half meetings and half doing actual work.

Usually home around 18:30. I eat dinner with my spouse and kid. Kid goes to bed around 20:30 (which usually means I'm rubbing her back for 15-20 minutes in bed).

Hang out with spouse for the rest of the night. Sometimes I play PS4, play piano, or just do some more work.

Usually in bed around 22:30-23:00

Weekends are usually pretty flexible. The only real commitment is that my kid has ice skating lessons for an hour every Saturday. I spend my free team reading, playing music, and visiting new coffee shops and restaurants with my spouse.

</comment><comment><USER10> Wake up around 11.

Start work around 11:15, work until 5 or 6.

Chill with my wife until 1-2 AM.

Repeat.

</comment><comment><USER11> 05:00 Wake up, take shower

05:30 Email, Hacker News (phone)

07:00 Leave home, head to work

07:45 Arrive at work, start working

10:15 Daily standup

10:30 Resume work

17:00 Leave work, head home

18:00 Email, Reddit (phone)

18:30 Cook and eat dinner

19:00 Reddit, YouTube (phone, Chromecast)

23:00 Sleep</comment>


Playing with Ruby on Arduino  - <AUTHOR> http://www.arduino.cc/playground/Interfacing/Ruby

<comment><USER2> Misleading title. The Ruby isn't on the Arduino, it's on the PC. This is just getting Ruby to work with a serial port and plugging the Arduino into that.</comment>


Wyoming teen builds nuclear reactor in dad's garage - <AUTHOR> http://journalstar.com/news/state-and-regional/wyoming-teen-builds-nuclear-r%20eactor-in-dad-s-garage-gets/article_ec305fc7-3597-5315-8e98-2b38eaa7bfe3.htm

<comment><USER2> A nuclear _fusion_ reactor, that is.

A Farnsworth-Hirsch fusor, to be specific. Fairly cheap. Really, authentically produces hydrogen fusion... but not much of it (neutron flux is very low) and it can't run very long before the accelerator grids overheat. It's basically a spherical particle accelerator, and doesn't come anywhere close to achieving breakeven. <http://en.wikipedia.org/wiki/Fusor>

Tom Ligon wrote an article for Analog in 1998 describing how a high school student could build one for a science fair: <http://fusor.net/newbie/files/Ligon-QED-IE.pdf>

Quite a few people have built operational fusors, including many high school students: [http://fusor.net/board/viewtopic.php?f=7&t=13&p=512](http://fusor.net/board/viewtopic.php?f=7&t=13&p=512)

<comment><USER3> This is the weirdest example of pg's negative comment up-voting I have ever seen. True you are not actually nit-picking the article but the second paragraph comes close to dismisal.

A teenager built a fusion reactor FFS. I had trouble making coffee this morning.

This is the Maker top 1% - and should be celebrated, not compared poorly to other similar attempts.

<comment><USER4> What amazes me is that I read the original comment as just an explanation to encourage others to try. It seemed like a list of places to start if you wanted to make one yourself.

You appeared to see it as negative...fascinating.

<comment><USER5> There is nothing negative in the original comment, because there is no shame in replicating a scientific experiment that has been done before.

In fact, carefully replicating other people's complicated experiments is what science is about. If you want to pretend that you're being original take up structural knitting or something.

The original comment's context was very useful because it tells us that the article isn't about some crazy and dangerous attempt to build a fission reactor by hoarding radioactive waste (see: scary link from patio11) but about an experiment that has been legitimately accomplished by high school students in the past and which is rather less dangerous (because it doesn't start irradiating nearby objects, like your body, until you throw the switch... and you don't need to leave it turned on much longer than it takes to read a Geiger counter and high-five somebody.)

<comment><USER6> I agree with these comments in support of the original comment. It was, in my opinion, _informative_. Which is -- to put it in the context of the current apparent meta-discussion about HN's role that I seem to see scattered about the site -- where HN started out.

It was a much smaller community, then. And it was, perhaps more so than today, supportive -- genuinely supportive.

But it was about _information_. And support was not about obligatory glad- handing or pats on the back. Some of it could be fairly critical, at times. _Informatively_ critical and in the interest of improvement, for the target of criticism and for the community at large. "Constructive" criticism, I guess.

Not that I perceived the comment that started this sub-thread as being critical. (Except perhaps -- if one chose to take it that way -- of what might be a hyped news headline. Not the student.)

I really appreciate the context that comment provides. If I'd known that when I was a student, maybe I would have had another interesting thing to try out.

</comment></comment></comment></comment></comment><comment><USER7> See also: <http://www.dangerouslaboratories.org/radscout.html>

(There's a sad coda at the end where the kid did _not_ learn the lesson about the wisdom of scratch-building nuclear reactors out of foil and smoke detectors.

</comment><comment><USER8> Fusors have been built before; stories like this surface every few years. What interests me most about this is why he built it. Farnsworth isn't that common a name. Did he inherit a heap of stuff from his grandfather, or did the shared surname make him think it would be cool to build one for himself?

<comment><USER9> I want to know too. That's how Weird Al got his start. there happens to be an unrelated famous accordion player also named Yankovic. People should choose their last names more carefully. :-)

</comment></comment><comment><USER10> I'm curious. Is there any practical benefit to building one of these apart from proving that it can be done?

<comment><USER11> I would hazard a guess that learning might be a practical benefit. Otherwise, as sbierwagen pointed out, no, not really.

<comment><USER10> I'm not saying that the effort was wasted. I just wanted to understand if this type of reactor had any direct practical benefits.

</comment></comment></comment><comment><USER12> What a disappointing article.

There were no details about his fusion reactor (the thing I actually wanted to read about), just talk about his disqualification from some science fairs.

<comment><AUTHOR> You're right. I can relate to what you are saying. (eg most of the nanotech/cancer stuff posted here is not as interesting as metal chelators. But it sounds "cool" and "hi-tech" to most people.)

The main reason I posted it was to get other people's opinion on it (since I don't have a degree in science).

What are your thoughts on the comedic potential? (ie a Farnsworth getting kicked out of a science fair despite building a reactor.)

</comment></comment><comment><USER13> I don't get the story. Did the lady really get 'taken care of' as the article steers us to believe? Did her career end, or did she simply end her time doing that role (maybe it's not even a sought after role?)...

Besides, I was hoping to hear more about the reactor :(

<comment><USER9> I don't know. for all the sensationalism it does seem like a pretty clear violation of the rules.

I want to know how he didn't qualify at his first science fair. Maybe he can build and follow directions but doesn't know the science part well enough. is there another story about how this kid entered a science fair with a nuclear reactor but didn't qualify for the international contest?

</comment></comment><comment><USER3> This is brilliant. A teenager has put aside the TV remote, taken an interest in the work of those before, read, learnt experimented and actually made something.

They are now likely to continue on this path, practising and following in others footsteps until one day they make something that no-one has made before. Enough of these teenagers and we might just survive the century as a human race.</comment>


ChanJit – Real Time tracking and project management software - <AUTHOR> http://www.chanjit.com <comment><AUTHOR> What is ChanJit

Chanjit is a multi-tier productivity improvement software for the office that includes automatic time tracking, task management and project management.

How does it work? The software is installed at each employee or manager station and after an initial input of the company's clients, the software will be able to monitor the total working hours and effective working hours on tasks and clients from each station automatically. The software knows how to produce profitability reports and employees effectiveness reports, by calculating the cost of employees and work hours, and help you spot bottlenecks and problems

In addition, the system is also an advanced task and project management software with advanced tools such as real time taskboard, gantt and burndown charts to help managers and employees to always be updated on new tasks, delays and so on and act in real time.</comment>


Twitter image encoding challenge; compress an image into 140 Unicode characters - <AUTHOR> http://stackoverflow.com/questions/891643/twitter-image-encoding-challenge <comment><USER2> neat idea for a challenge.

just a thought for the currently prevailing idea - a quick gzip shrinks the tiny mona's size by 100-ish. (i'm not a member, otherwise i'd post this there)

<comment><AUTHOR> You can log into StackOverflow with any OpenID (LiveJournal, AIM, Yahoo account, Gmail account, etc). But I'd rather have code than just a suggestion; it's easy to think of an idea that sounds good on paper, but harder to actually implement it and get it to work for real world cases.</comment></comment>


Stockholder Proposal Regarding a Report on Users Owning the Twitter Platform - <AUTHOR> https://www.sec.gov/Archives/edgar/data/1418091/000119312517116229/d319969ddef14a.htm#toc319969_28 <comment><USER2> This is a stockholder recommendation and the Board of Directors is recommending [1] that stockholders vote against it, so it's likely dead in the water. The headline "to discuss" is a probably overstating what will actually happen.

A similar situation has happened the last couple of years with Apple, where there's a shareholder proposal for greater diversity[2], and it gets clobbered at the meeting.

[1] [https://www.sec.gov/Archives/edgar/data/1418091/000119312517...](https://www.sec.gov/Archives/edgar/data/1418091/000119312517116229/d319969ddef14a.htm#toc319969_1)

[2][http://www.businessinsider.com/apple-diversity- shareholder-p...](http://www.businessinsider.com/apple-diversity-shareholder- proposal-2017-2)

</comment><comment><USER3> The question is whether Twitter's board is going to try to ride it all the way down to the bankruptcy. _Twitter loses money_. $167m last quarter. Twitter has lost money for 10 years. Revenue is flat. They're not a growth company any more. There's no sign of a turnaround.

This is when the board has to consider firing the CEO, and the stockholders have to consider firing the board.

<comment><USER4> Someone working at Twitter told me they're losing money due to paying off earlier employees' equity grants rather than cost of operation. Continuing to run the company for growth will probably ruin it, since nobody has any good ideas except continuing to turn it into Facebook.

(IMO this is the problem with starting your big company in SF - you'll just get employees who leave your competitors and think the same way they do.)

<comment><USER5> That's ridiculous. California is at-will through and through. If paying a subset of their employees was the biggest problem it'd be an easy one to solve.

<comment><USER6> Paying an equity grant isn't the same as continuing to employ someone and continuing to pay their salary. If someone has an equity grant, that's already a liability to be paid. "At will" refers to ongoing employment, not paying existing liabilities.

<comment><USER5> I'm not sure what you mean by "paying an equity grant". If you fire someone they no longer receive new equity. And for a company that's been public for 4 years with a constantly dropping stock price I doubt the volume of early employees exercising options could possibly bankrupt the company. I don't understand how that could happen to any reasonably well managed company.

<comment><USER7> >Even among its Silicon Valley peers, which have drawn closer scrutiny from investors recently because of their generous stock-based compensation practices, Twitter is notable for how much equity it doles out.

>And those grants of restricted stock units or options, which would have to be covered to some degree by any buyer, simply add to the purchase price of any deal.

>According to Twitter's most recent annual filing, the company racked up $682 million in stock-based compensation last year. By comparison, the company's adjusted earnings before interest, taxes, depreciation and amortization — which also excludes stock-based compensation — for the year was $557.8 million.

>Factoring in the payouts would have pushed Twitter well into the red for the year.

[https://www.nytimes.com/2016/09/27/business/dealbook/twitter...](https://www.nytimes.com/2016/09/27/business/dealbook/twitters- steep-premium-the-cost-of-employee-stock-grants.html)

</comment></comment></comment></comment></comment></comment><comment><USER8> Maybe I'm slow but am I the only one not getting the point of this at all? Users can already be owners by buying stock. And what exactly is the benefit? Random Twitter users are somehow gonna come up with plans on how to make the company profitable (heh how many "monthly fee" proposals will be submitted?)?

Are there examples of large companies converting into a credit union type model?

Why would shareolders want this?

<comment><USER9> Its worked quite well in a number of areas -- it tends to be good for sustainable growth, rather than adventurism, as the owners are concerned more about keeping the company sustainable and healthy than rapid growth. And the feel-good factor of it being a community organisation means people like to give it their custom.

John Lewis, one of the UK's largest retailers (annual turnover about £10bn) with one of the best-respected brand is employee-owned under a cooperative structure.

In terms of rescuing businesses from big egos doing badly, Portsmouth FC was rescued by a fan take-over after a number of disastrous owners who'd saddled the club with debt and left it on the verge of liquidation. It's now on a healthier footing and starting the climb back up the leagues.

For Twitter, which was in a strong position to become a social utility, it's probably not a bad model. But it doesn't involve going out in a blaze of glory, so executives will hate it.

</comment></comment><comment><USER10> For folks wondering about whether this will happen, I would highly recommend also reading the Board's "Statement of Opposition." Pretty clear no. Shareholder value, etc.

While this might be a decent option for a medium that could be considered important for public discourse, it's certainly not going to goose your stock price and I'm guessing even every Twitter user contributing a few bucks won't get you to a sale price that might work for the board.

<comment><USER11> > I would highly recommend also reading the Board's "Statement of Opposition." > Pretty clear no. Shareholder value, etc.

While I agree there is no shareholder value involved, I think there is some scope for thinking of the platform as a public utility and putting it under some framework other than a publicly traded corporation. It could operate either as a Foundation, a Public-private partnership, a federal agency perhaps as a subsidiary of the Library of Congress, or some other system of governance that makes it operate more as a public trust than a corporation.

It's function is definitely more akin to a public utility than a product produced for market, after all, so why not? I'd say most online stuff still has too many returns to innovation to where the opportunity costs of nationalizing them outweigh the benefits. But clearly Twitter isn't doing a great job of staying afloat as it is.

<comment><USER12> >It could operate either as [...] a federal agency perhaps as a subsidiary of the Library of Congress [...]

Because Twitter is a US-only thing, right? Don't forget about the enormous _global_ user base who would definitely not be served by making it directly controlled by the US government.

<comment><USER11> Are they any better served by it being incorporated in the US and managed by a US based board of directors and mostly US based shareholders?

I suppose there might be some other sovereign wealth funds and investors from China, Gulf States, UK, etc. in there too but still, hardly representative of its actual user base.

I agree that that would probably be the worst option of the bunch, but it's just an example of other ways a platform can be governed that's not a for- profit corporation.

<comment><USER13> So far they're not _as_ deeply bound by US National Policy as they may be if they're full-on nationalized.

</comment></comment></comment></comment></comment><comment><USER14> It'd be much better of if each Twitter user would become a verified user and pay $1/yr for normal plan with let's say notifications about posts/replies, $6/yr for read/write access and $12/yr for some premium plan. Maybe that'd make Twitter better off financially and better platform in general. Each time I post something from my blog here I get natural organic comments etc.. Each time I post on Twitter, I get some bots following me, retweeting and others. I'd much rather pay and know there is real life there.

<comment><USER15> I agree. I've always been non-plussed at Twitter's valuation, given the lack of a clear monetization scheme, but then so many early unicorns were the same - eyeballs were the primary goal, with vague assumptions that revenue will automatically follow.

And I agree that if you had to pay (I'd go for a dollar a month) to tweet, it would cure many of Twitter's ills. Bots, scams and fake news would pretty much disappear overnight.

<comment><USER16> The worry is probably that most of their userbase would also disappear overnight...

</comment></comment></comment><comment><USER17> Douglas Rushkoff wrote decently well about this topic -- his argument was that Twitter was a company that never should have gone public and which would have been much more interesting had it been more decentralized and privately controlled. Maybe not as interesting financially -- but interesting in the sense of control and technological vision. Public markets can do all sorts of strange things to a company -- I think as IPOs start to wane in frequency, a lot of startups are going to take a long hard look at public markets and some might decide to take a hard pass on them, despite the gold pot at the end of the rainbow.

<comment><USER18> Had they not brought in a bunch of good engineers with the lure of IPO, they would likely still be at the fail whale state.

</comment></comment><comment><USER19> The board's statement of opposition pretty cleanly argues against this type of equity overhaul.

That said, I do appreciate the spirit of the proposal. Specifically, how do users that are contributing to the value of the network somehow extract some of that value in real terms? Of course, there's a lot of complexity to that sort of system and the cost of implementing it substantial. But whereas some people are working on architecting that sort of system from the outset as more a technical feat, this tact would get legal momentum that would almost guarantee some sort solution, be it good, bad or more likely, somewhere in between.

<comment><USER20> > how do users that are contributing to the value of the network somehow > extract some of that value in real terms?

If users aren't getting any value out of using the service, they won't use it. The fact that they are using it, without any force or coercion, indicates there is sufficient value being extracted from the service by it's users.

</comment></comment><comment><USER21> I kind of want to buy some Twitter stock just so I can vote for this proposal. Shame the board lacks vision beyond "maximize shareholder value". Yes yes, fiduciary duty, etc. etc. There's more to life than the value of your stock.

<comment><USER22> > Yes yes, fiduciary duty, etc. etc. There's more to life than the value of > your stock.

You don't see the contradiction in this statement?

</comment></comment><comment><USER23> This reminds me of when people claim it'd be better if a company was owned by its employees. This idea influences businesses to various degrees, from stock options to cooperatives.

IMHO, this idea fails to acknowledge that ownership is a dynamic concept, not a static one. In a free country, people can sell what they own. So even if you give shares to a category of person you think should own them, you don't know if they will keep them or if they will sell them to the very category of people you took these shares from in the first place.

<comment><USER24> The idea that the difference between people with capital and without is one of _preference_ seems rather bizarre.

<comment><USER25> OP could have been a bit more subtle with his statement. Obviously some people have an easier time than others accumulating capital. If you're working at a minimum wage job (or 2) you may not have any "extra" capital to accumulate. In those cases, it's not really a preference. On the other hand, many people DO have some amount left over after their basic living expenses. People have options with this. They have "preferences". They could spend it on a "luxurious" lifestyle, expensive bars, updated wardrobes, expensive cars, houses larger than they need. Etc. Many "rich" people (even middle class people) have a preference for living below their means, and allowing the capital to accumulate.

My father was a post office worker, the government took care of him for sure, but he never made more than $20/hr. Today his retirement account has over a million dollars in it. Growing up we never owned a car, we rarely eat out, and we lived in a very cheap house, in a very cheap neighborhood.

I resented him for it many times, not having a car is very difficult in the suburbs of the Midwest. Our cheap house was in a shitty school district.

But it was his "preference". He could have saved less, and spent the money on a better house in a better school district. He chose to accumulate capital instead.

<comment><USER24> Or he could have been born into money, used the family's capital wisely to accumulate more capital while living in the best school district and leaving a lot more than that for retirement.

Nothing wrong with that, but not everyone had the "preference" or "foresight" to choose their parents so carefully.

What OP missed is not subtlety but a basic grasp of how the deck is stacked for most human beings living today.

</comment></comment></comment></comment><comment><USER26> I feel like I'm missing some "between the lines" stuff, like, is this some sort of velvet-gloved veiled takeover attempt? I'm not saying that's what this is, but it seems like there's more than meets the eye here. Is there anybody with _experience_ who might be able to comment on that? Either way it seems related to the fact that this probably wouldn't be getting discussed if the stock was doing well.

<comment><USER27> Shareholders are allowed to propose items that will appear on the ballot for annual vote, "(1) In order to be eligible to submit a proposal, you must have continuously held at least $2,000 in market value, or 1%, of the company's securities entitled to be voted on the proposal at the meeting for at least one year by the date you submit the proposal." [https://www.law.cornell.edu/cfr/text/17/240.14a-8](https://www.law.cornell.edu/cfr/text/17/240.14a-8)

Before shareholders vote on the proposal, the board of directors can make a recommendation - is this a good idea or a bad idea? In this case, they say: bad idea.

Shareholders aren't bound to agree with the board, but usually do - after all, they're the same folks who nominated the board in the first place.

<comment><USER26> So, "some person" of no particular power within Twitter (given how easy it is to own $2K of Twitter stock for a year) got a ballot proposal on the ballot for what could be read as more-or-less personal/ideological reasons as much as a serious proposal? In which case, this sort of thing happens all the time and this is only HN news because it's Twitter? (Checking my guess/understanding. And I'm not upset that it's HN news or something, that's fine; just trying to calibrate my understanding, as my initial calibration was perhaps too oversensitive.)

<comment><USER28> > In which case, this sort of thing happens all the time and this is only HN > news because it's Twitter?

Yes, this sort of thing happens all the time. If you own some shares of an individual company (not through a fund), you'll get notice periodically of items to be voted on: proposals from the board (often routine such as handling accounting and audits), which the board recommends passing and which almost always pass, and proposals from individual shareholders, which the board almost always recommends against and which almost always fail. Many of them are ideological, some more reasonable than others.

Does anyone know of any prominent case where a major company _passed_ a shareholder proposal? And/or the board recommended in favor of one?

<comment><USER29> I don't understand why American shareholders are so quiescent and trusting of their boards. I can't help noticing that the people who idolize corporate boards are often the same people who fulminate against representative government.

<comment><USER30> > I don't understand why American shareholders are so quiescent and trusting > of their boards.

In this case, I don't think that's what's going on. Most of the shareholder proposals I've seen are basically idiosyncratic political soapboxing, and I vote my tiny number of shares against them because I don't agree with either the proposal or the venue or just don't care.

If I ever saw one that seemed pertinent, I'd vote for it. However, the shares I own outside of mutual funds are tiny and insignificant, so it's moot anyway.

</comment></comment></comment></comment></comment></comment><comment><USER31> I think the first social media network that succeeds in democratizing ownership of the platform will spread like wildfire and overtake incumbents.

Everyone is already being primed for app-driven direct democracy through social media channels, so the moment this is made real, it will explode in popularity. The technical challenges for creating clones of existing services are solved problems, so all it will take is the social will.

</comment><comment><USER32> As a Twitter stockholder, how do I get to vote against this?

<comment><USER33> In practice, it's a little convoluted ( [https://www.bloomberg.com/view/articles/2016-05-13/t-rowe- pr...](https://www.bloomberg.com/view/articles/2016-05-13/t-rowe-price-voted- for-the-dell-buyout-by-accident) , that story is about takeover bids, but I'm sure the process is similar).

Occasionally, I get postcards asking me to nominate a proxy for some upcoming shareholders meeting due to investments I own through my 401(k). I guess that you should be on the lookout for that kind of postcard and follow the instructions.

</comment></comment><comment><USER34> To go slightly off tangent, will it make sense for Twitter to enter into the micro payments landscape? All (almost?) bloggers, people working on open source projects have twitter account; even if they don't have one, creating one is easy. Donors can get some kind of acknowledgement on their (and receivers) twitter feed and the content creators will get some money.

</comment><comment><USER35> Their examples of other organizations that are largely owned by their employees skips the fact that these other organizations have great leadership, who in turn foster commitment by spreading around the wealth.

Simply spreading around shares of the company won't make great leadership magically appear at Twitter. That's backwards thinking.

</comment><comment><USER36> I'm not going one way or the other, but just want to remark that 'you can already buy shares' isn't a correct response to a call for democratic ownership. Typically in the latter you have the notion of one user/one vote, while in the former model you get as many votes as you can buy.

</comment><comment><USER37> haha. Twitter is not a public utility.

If you represent an organization and you need to control your social infrastructure, you need to self-manage that infrastructure. Getting involved in the development of GNU social or Mastodon would be a great start.

</comment><comment><USER38> Regardless of how likely this would be to move forward, I have to say that I can't imagine a user-owned Twitter being much of a good thing. I'm pretty sure it would just devolve further into a platform for crap-flinging.

</comment><comment><USER39> Is this actually happening? In legal terms, what does it mean?

<comment><USER40> No, it's not.

This is just a proxy statement, meaning it includes all proposals shareholders will be asked to vote on at Twitter's next annual meeting (on May 22nd). Everyone can submit shareholder proposals who owns at least 2000$ of stock [1]. This does not mean that anything will actually happen: The board of Twitter recommends voting AGAINST the proposal and I doubt large institutional investors will vote against the board on this, so the measure will most likely fail.

And even in the quite unlikely case the measure would be approved, it is only asking for a "report" on what selling Twitter to its users would mean. It does not argue for such a sale to actually take place.

[1]: [http://theshareholderactivist.com/shareholder-activism- spotl...](http://theshareholderactivist.com/shareholder-activism- spotlight/what-is-a-shareholder-proposal/)

<comment><USER41> And this is really just being considered from the perspective of what Twitter being sold to users means for Twitter shareholders. What about what that means for Twitter's users? Will using Twitter require having to purchase a share of stock on a public exchange? I think it's a pretty bad idea all-around. Unless they're incredibly smart about this (not even sure it's possible to figure out), all of a sudden dilution of Twitter stock is linked with adoption, and voting rights are linked with number of Twitter accounts, and having a Twitter account is linked with ability to purchase stock which is not exactly an anonymous, private thing.

<comment><USER42> Credit unions have a decent handle on customers-as-owners, so it's not completely without precedent from a business standpoint.

My biggest issue is your last point, where owning an account would likely involve "Know Your Customer" levels of identity proving. It would likely require a new class of shares or going private, rather than buying a share on an exchange. Similarly, you'd likely only get one share no matter the number of accounts (using KYC information to de-dup, or having two notions a "member" who can have multiple "personas").

I don't know that it's a good idea for Twitter, but it's at least a (sort of) legally workable idea for an authenticated messaging platform in the abstract.

If I were starting a new Twitter, I'd consider it.

</comment></comment></comment></comment><comment><USER43> We've updated the title from "Twitter to discuss proposal to sell itself to users".

</comment><comment><USER44> Let's say a large percentage of people who don't exactly support the current governments use of twitter buy up some twitter ownership. Can we then politely ask him to communicate to American citizens via different mediums?

<comment><USER45> Are you serious? This isn't necessary or relevant.

<comment><USER46> I think this is completely relevant. I think a company should be able to moderate it's own content based on what it deems acceptable for it's community. This is a totally valid question and something I believe is worth discussing as we have gone well beyond absurdity at this point.

Edit: Disclosure, I am a twitter shareholder and approve the ban of @realDonaldTrump from twitter unless the "libel" and McCarthy type posts are removed and any accusations as such are filed in proper mediums.

<comment><USER47> There is something to be said though about shining a spotlight on the cockroach infestation, rather than filling the holes with spackle followed by a nice paint job.

Threats of violence, or calls that encourage it are a fair line to draw for any user. But the posts you're talking about removing, I think amounts to turd polishing that might actually make it sparkle more than it deserves, and ends up being a deception of the true character of the person.

Imagine if all the birtherism posts were scrubbed? That's his true nature. Compulsive liar or delusional - doesn't really matter. My concern is assurance posts are difficult to scrub. That's what incentivizes people to be sincere rather than just taking inconsequential pot shots at others.</comment></comment></comment></comment>


John McAfee Wanted in Belize for Murder - <AUTHOR> http://gizmodo.com/5959812/john-mcafee-wanted-for-murder/ <comment><USER2> Maybe he got infected with the heebie-jeebies from cats.

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

</comment><comment><USER3> And this is why, boys and girls, we don't do bath salts.

</comment><comment><USER4> wow, that was an odd read. I initially thought it was a hoax.</comment>


The Coming Data Explosion - <AUTHOR> http://www.readwriteweb.com/archives/the_coming_data_explosion.php <comment><USER2> I wrote a blog post about it in 2007 with a nice (imho) taxonomy of different kinds of data we should see in the coming decades.

<http://natureofdata.wordpress.com/2007/11/11/4/></comment>


Frosted Glass/Panel Effect, Cross Browser Solution, Vanilla JavaScript and CSS - frosted-panel https://github.com/cryptodescriptor/frosted-panel <comment><AUTHOR> Safari can do this with one CSS rule: [https://webkit.org/blog/3632/introducing-backdrop- filters/](https://webkit.org/blog/3632/introducing-backdrop-filters/)

<comment><USER2> This was recently implemented in Chromium-based browsers (M76) too. [https://web.dev/backdrop-filter](https://web.dev/backdrop-filter) has some more information about the CSS, and [https://www.chromestatus.com/feature/5679432723333120](https://www.chromestatus.com/feature/5679432723333120) has more information about the implementation.

<comment><USER3> And this is landing very soon in Firefox, behind a pref. [https://twitter.com/svoisen/status/1159322370122768384](https://twitter.com/svoisen/status/1159322370122768384)

<comment> frosted-panel As of yet, the browser support for this is very shoddy. Not to mention outdated/legacy browsers like IE.

</comment></comment></comment></comment><comment><USER4> That's one of the worst images you could choose to demo this. You can barely see anything blurred because the cloudless sky is just a gradient.

<comment> frosted-panel For the most part it is fine, apart from the "auto auto" breakpoint.

edit: Demo is changed slightly on smaller screens to better demonstrate the blur.

</comment></comment><comment> frosted-panel As of BETA_v1.6 is should be working in most Safari versions, excluding the very old one's that don't support SVG or flexbox! I do not know about Firefox focus, but I have changed a few things that I think could have made it work in that browser too.

Things changed:

\- Reverted back to using xlink:href rather than href attribute within the image element (the newer href attr was not supported in Safari)

\- Added two new attributes inside the filter element:

1) filterRes (needed for Safari to display the blur on page load without being prompted by a resize)

2) color-interpolation-filters (some older versions of Safari were using a different variation of this filter and the blur effect would't look right)

\- Autoprefixed main.css for older browser compatibility

</comment><comment><USER5> there are a few of these libraries but as far as i can tell they are just hacks that only work with a background image, and are thus not a drop in replacement for _backdrop-filter_. a replacement for _blur_ maybe.

<comment> frosted-panel All of the libraries I have seen seem to just be jquery libraries that apply a blur CSS effect to DOM elements. This is NOT supported very well accross different browsers.

Frosted Panel is a cross browser solution which allows you to have a full scale, centered, background-image with a responsive, blurry panel overlapping it, of which you can put whatever content you would like inside.

It works by taking advantage of SVG filters, which are supported in most (if not all) browsers, while panning and zooming a duplicate SVG image of the original background-image in order to mimic the actual background-image of the body tag.

<comment><USER5> nice, thanks for the details

</comment></comment></comment><comment><USER6> Nice - though the effect doesn't seem to work on iOS Safari (iPhone XS).

<comment> frosted-panel Updated, please try the demo now: [https://cryptodescriptor.github.io/frosted- panel](https://cryptodescriptor.github.io/frosted-panel)

</comment></comment><comment><USER7> Why support Internet Explorer?

Also the extra element attributes are not 'data-' attributes and will not validate as HTML5.

Webkit/Blink/Firefox on mobile/desktop is all there in the referred to article. Edge is soon to be Webkit so for me the target browser list is not as extensive as for some. IE is depreciated and was never HTML5.

Can we just have this smaller list of browsers, CSS only and HTML5 valid with no warnings?

Apart from that, great work!

<comment> frosted-panel I should probably follow the spec, but I think having "data-" prepended to every custom attribute on the frosted-panel div will take up unnecessary space.

Why support IE you ask? Why not? Some clients force their devs to support legacy browsers such as Internet Explorer.

</comment></comment><comment><USER8> Wouldn't this also be possible without javascript by nesting HTML inside SVG?

<comment> frosted-panel Only if you wanted the whole page blurred, in this instance we want only a small part of the background image blurred, so we have to do all sorts of fancy panning and zooming to the SVG image so we can mimic the movement of the actual background-image.

</comment></comment><comment> frosted-panel Frosted Panel is a cross-browser compatible library written in pure Javascript to achieve a responsive "Frosted Glass" effect.

<comment><USER9> This is a cool effect. One thing about your marketing though... "Cross- browser" should include mobile browsers. At least on iOS Safari it's not working. If you haven't handled testing the major browsers yet, you should refrain from using that as a key selling point.

<comment><USER10> What version of iOS are you using? It works for me on iOS 12.3.1

<comment> frosted-panel Safari should now be working in all versions that support flexbox and svg images with filters! Please read the new reply I made to this thread for more information.</comment></comment></comment></comment>