Computing with Random Pulses Promises to Simplify Circuitry and Save Power - <AUTHOR> https://spectrum.ieee.org/computing/hardware/computing-with-random-pulses-promises-to-simplify-circuitry-and-save-power <comment><USER2> It's likely that computing with random pulses would _increase_ power. That's because the vast majority of power in processors today is spent _transferring_ information, not computing arithmetic operations. The actual arithmetic operations are very cheap energy-wise compared to the cost of reading and writing data from memory, as well as sending it around the chip.

The cost of moving data is proportional to the number of toggles you have to push through the wire. And with this representation, the number of toggles is immense. Bill Dally noted at SysML the other week that this kind of data format is almost the worst possible number format you could construct, if you care about power, because on average there must be lots of toggles.

It's too bad the article doesn't include any comparisons to see why the authors believe this is a good idea. The neuromorphic story is getting a little threadbare at this point, without data to back it up.

<comment><USER3> A few points: data movement is expensive, but the reasons are not so simple:

1) x68s RAM needs to move huge amounts of data cheaply and extremely reliability. This requires a lot of power to fight noise. Once you're allowed to have a few bit flips, the bus voltages can be made much power directly lowering losses.

2) _A significant portion of the large energy costs is actually in computing associated with memory movement!_ (according to Sohmers from REX Computing, about 40%). Encoding, queuing on processor, Decoding, fetching, queuing on the memory controller, and caching again on the CPU takes a lot of logic.

I think it's quite possible this approach is superior for low precision floating point applications that currently use CPUs/GPUs. Note this allows lowering voltages for _the whole system_ , including interfaces and memory.

Also, data movement doesn't dominate the energy cost of _all_ applications; there are plenty of operations still compute-bound (e.g. some evolutionary methods), it's just that the applications more in vogue are like that. There are plenty of applications that are currently done in DSPs and ASICs because of heavy computational costs (error correction decoding as mentioned in the article) that might benefit from this.

\---

As far as I know, it is still an open question whether it is possible to generalize this approach for data-efficiency. I have a few ideas I've been playing around with but none that seem to work yet.

</comment></comment><comment><USER4> "An AND gate is a digital circuit with two inputs and one output that gives a 1 only if both inputs are 1. It consists of just a few transistors and requires very little energy to operate. Being able to do multiplications with it—rather than, say, programming a microprocessor that contains thousands if not millions of transistors—results in enormous energy savings."

To be fair, you don't need thousands or millions of transistors for a functional ALU, such as the ones we built in college.

I'd imagine the reason it's more practical to use something with 1M transistors rather than something with 10 or 100 is the ease of integration, (amazingly) simplified manufacturing, and supply chains already existing. I.e. why not throw a 1M transistors in when it's actually cheaper?

So then, I'm sure there is value in what's proposed, but for a layperson, what is the real, practical advantage of this?

<comment><USER5> _To be fair, you don't need thousands or millions of transistors for a functional ALU, such as the ones we built in college._

Indeed, and some of the variants of early mainframes were bit-serial in order to reduce cost, with a corresponding (significant) decrease in performance too. An ALU can be less than a dozen transistors or so if it's completely serial --- which seems to be what this article is going towards, but there's a reason bit-serial processors have basically become extinct: they're horribly slow. Any power savings is negated by the multiple-times-longer every operation takes, so the total energy does not decrease. In fact, since now _frequency_ has to increase, and power consumption increases superlinearly with frequency, it's a net loss.

One memorable microcontroller with a bit-serial ALU is the CDP1802 --- and it takes 16 clock cycles for a single 8-bit add instruction.

<comment><USER6> > An ALU can be less than a dozen transistors or so if it's completely serial > --- which seems to be what this article is going towards.

Each bit being completely independent seems to make it trivial to parallelise. I know they describe it as "serial" but I don't see anything inherently serial about it.

High order numbers being impractical anyway means in practical use people would probably settle on predefined word lengths rather than actual "bit streams". You can multiply your 256bit word (8bit probabilistic integer) in the time it takes to propagate through a single AND gate - the shortest possible, giving you the fastest clock - or if sharing the clock with other far more time consuming blocks in traditional CPUs it allows you to do a great many probabilistic multiplications in a single clock with the same silicon in the same block.

Admittedly what i'm suggesting uses 256 gates not a dozen, but the performance will be significantly better in terms of how much clock it takes up. I think the real problem with this method is the cost of serialising into the probabilistic bit stream. That needs to be avoided as much as possible to make this useful.

</comment></comment></comment><comment><USER7> Here is the counter argument to Stochastic Computing.

[http://csl.yale.edu/~rajit/ps/stochastic.pdf](http://csl.yale.edu/~rajit/ps/stochastic.pdf)

Basically, stochastic computing takes exponentially more time and energy to perform the same computation at the same precision, and has a higher error rate. If you want to save energy on precision, it would be better to use bit or digit serial operators.

Note of disclosure, this paper was written by my adviser and I am currently writing two papers on digit-serial arithmetic operators.

</comment><comment><USER8> Fascinating! I don't think the article went into what physically encoded numbers into the probability streams to begin with, only mentioning that this is simple. Does anyone know about that? Is this happening on the analog to digital conversion?

<comment><USER9> I imagine the internal registers simply clock out their stored data to the bitstream in sequence rather than carrying it in a parallel bus to adders and the like.

I suppose that wouldn't be a random pattern though, each iteration through it would be the same.

<comment><USER10> Could you have a true random number generator that with each clock cycle had a 50% chance of producing a 1 or 0, then XOR that stream with the data stream?

<comment><USER9> How expensive are RNGs to implement? I'm not sure how they work. I think your idea would work though.

You might make do with a very long prime value like 4073 that just clocks around endlessly, which will rarely line up meaningfully with anything else.

It does seem memory intensive though, maybe these minor issues aren't a big deal in simple enough systems that this could ever work anyway.

Maybe you just use 127 bits or something to randomize it, probably more than enough since the goal is likely mostly to avoid aliasing. Even with multiple incoming synchronized sources if you use different mixing patterns it might work out fine.

<comment><USER11> In physical hardware you can get "real" noise out of a single diode with appropriate processing. [https://www.maximintegrated.com/en/app- notes/index.mvp/id/34...](https://www.maximintegrated.com/en/app- notes/index.mvp/id/3469)

The effect is a true quantum process whereby one electron tunneling across the junction triggers a large number of other electrons into moving.

<comment><USER9> Nice! I see the noise spectra, I am guessing the long tail out at high frequencies means that the recovery time is short enough that subsequent bits aren't correlated?

</comment></comment></comment></comment></comment></comment><comment><USER12> I'm not familiar with this specific technique, but it sounds like it's conceptually related to dither: [https://en.wikipedia.org/wiki/Dither](https://en.wikipedia.org/wiki/Dither)

Just gonna toss that out there and see if anyone with more expertise can comment on the similarities or differences.

<comment><USER13> The representation they suggest sounds a lot like a dithered PDM[1] bitstream. There is a slight difference because PDM is usually representing a continuously varying value.

Sigma-delta ADC converters internally generate something like this from the analog signal (though they often use more than one bit) and then sum the values over a window to get the actual value that they output.

[edit]

This actually makes me wonder if you could get decent power savings with 2-bit add/multipliers and streams of 2-bit values; that would significantly decrease the stream-length required for more precise calculations.

1: [https://en.wikipedia.org/wiki/Pulse- density_modulation](https://en.wikipedia.org/wiki/Pulse-density_modulation)

</comment></comment><comment><USER14> I like the connection to biology. But it seems incredibly inefficient to store or transmit this representation. A normal 8 bit integer is blown up into 32 bytes. How would you implement anything that needs a cache?

<comment><USER15> Somebody correct me if I'm wrong, but the stream isn't an integer, it's a probability, or a number between 0 and 1. The point of it is that you shouldn't need to cache it, that would defeat the point of it being a stream.

<comment><USER16> Still, it seems like if you wanted reduced power, and could accept reduced precision, wouldn't you just do the same thing in binary by using only a few bits? Not even 8 bits, but like 3 or 4 bits?

</comment></comment></comment><comment><USER17> They said the stochastic neural net had a factor of 10x reduction in power usage. What kinds of power reductions are theoretically possible with this tech?

<comment><USER18> A factor of 1000x.

How do I get this number? Bitcoin mining. Compare the hashes per watt of a CPU to the hashes per watt on an ASIC. The difference can be entirely attributed to the efficiency of the CPU circuit design. It is nearly impossible to design better ASIC's because the specification for SHA256 practically _is_ the circuit design.

</comment></comment><comment><USER19> So basically they're simulating analog circuits with pulse density modulation.

</comment><comment><USER20> > Half the time, a bit sampled from the first input is transferred to the > output; otherwise a bit from the second input is used, effectively averaging > the two inputs. The circuit that accomplishes this sampling is again a very > rudimentary one, called a multiplexer. With it, addition becomes very easy.

A multiplexer with a magic random input? If you merely alternate, then you have a non-i.i.d. sequence, and your next gate can mess up.

<comment><USER21> The article takes as given that it's easy to generate such a magic random input: it's simply a stream representing 0.5.

<comment><USER20> I would love to see the tiny, power-efficient circuit for that.

<comment><USER13> My first thought is an LFSR, but there are probably other ways.

</comment></comment></comment></comment><comment><USER22> I'm more interested in how stochastic computing can do more interesting things such as "quantum computing lite", similar to how some applications of chaos analog computing can do rough approximations of what quantum annealers are capable of.

</comment><comment><USER23> What's the difference between what the article described and PWM? I didn't see any specific justification for randomness. The math parts all work as described with deterministic and regular PWM signals...

<comment><USER24> I believe you need the randomness to avoid artifacts in the calculations.

But more importantly, the source of data in the applications are analog themselves and they are skipping the step of manually calculating an exact value before doing calculations.

<comment><USER23> Makes sense. Yes, aliasing and bias can happen with PWM math. But, you can directly encode analog signals in PWM, and doing so (using an analog source) mostly avoids the aliasing and bias problems.

</comment></comment></comment><comment><USER25> Could you program an FPGA as a very efficient neural network with this technique?

<comment><USER26> That was my first thought too. Neural networks are stochastic by their very nature. I've been reading about binary neural networks for embedded devices and FPGAs recently because I'm convinced machine learning is about to get a whole lot smaller and more distributed, so this article really piqued my interest.

</comment></comment><comment><USER27> Is the glass half full or half empty?

Nope, its 50% ones and zeros.</comment>


The Guantanamo Files - <AUTHOR> http://wikileaks.ch/gitmo/ <comment><USER2> Don't miss the detainee population visualizations put together by the NYT with help from CoffeeScript/Underscore/Backbone wizard Jeremy Ashkenas:

<http://projects.nytimes.com/guantanamo>

<comment><USER3> How is he a "wizard"? His personal site seems to feature graphics libraries.

<comment><USER4> He is the primary author of Coffeescript: <https://github.com/jashkenas/coffee-script>

I am not sure, but I believe he also has authored or contributed to the others.

<comment><USER5> Author of backbone.js and underscore.js as well.

</comment></comment></comment></comment><comment><USER6> The New Yorker's Amy Davidson did a really good write-up on this.

[http://www.newyorker.com/online/blogs/closeread/2011/04/wiki...](http://www.newyorker.com/online/blogs/closeread/2011/04/wikileaks- the-uses-of-guantanamo.html)

The Hindu takes the prize for the most blistering, incandescent (and richly deserved) attack on the US Administration.

[http://www.thehindu.com/news/international/article1767369.ec...](http://www.thehindu.com/news/international/article1767369.ece)

And Al Jazeera hosts some especially pointed commentary about what's NOT included in the leaks.

[http://english.aljazeera.net/indepth/features/2011/04/201142...](http://english.aljazeera.net/indepth/features/2011/04/2011425182559745235.html)

tl;dr: Between them, Clinton and Bush amassed an odious and vile legacy of extrajudicial policy. Obama is too scared of House Republicans to say so, has no way to deal with them effectively, and cannot counter their political threats. Now that the story has gotten ahead of the Presidency, America is (quite fairly) getting slapped around the world for being stupidly violent, prone to extreme over-reaction, and disturbingly lawless.

</comment><comment><USER7> _the document dump sheds light on cases of accidental detentions of innocent or seemingly harmless men, including an Afghan shepherd who spent three years at Gitmo after being arrested near the scene of a roadside explosion_

<comment><USER8> This was the most surprising part to me. I've read through a handful of the files and only a few of them seem to have any connection to anything useful; most were just caught up in "wrong place, wrong time" happenstances, like crossing the border into Pakistan on the heels of some "suspicious Arabs".

Most of these guys end up being recommended for release, but from my sample it was at least the better part of a year and often ~2 years before that would happen. Think of the wives and children left at home, almost definitely without any means wherewith to support themselves, while their father was black bagged for some frivolous reason.

</comment></comment><comment><USER9> Is this still part of the Bradley Manning leak?

<comment><USER10> I was wondering that as well. They don't seem to mention, which could be a protective measure in either case (if its not, don't draw attention to the fact that there is another currently not detained leaker; if it is, limit the scope of what we know he leaked (has wikileaks itself ever mentioned Manning?)).

<comment><USER11> _has wikileaks itself ever mentioned Manning_

They have mentioned him, but they've said that due to the way their system works it is impossible for them to know who their informants are. Therefore their statements are always hedged with things like "the alleged source of such and such".

</comment></comment></comment><comment><USER12> I was hoping the data would be in a text format so that I could build a tree of blame -- so basically you could see exactly how 'information' from someone who may not be giving accurate information impacted future prisoners.

Sadly, it's all just embedded PDF files.

<comment><USER13> It's all part of DocumentCloud, which means API access to the text of all that Guantanamo data. See how easy this can be:

        curl http://www.documentcloud.org/api/search.json?q=group:nytimes

        "total": 2821,
        "page": 1,
        "per_page": 10,
        "q": "group:nytimes",
        "documents": [{
            "id": "86275-isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo",
            "title": "ISN 10015 - Abd al Rahim al Nashiri - JTF-GTMO Detainee Assessment",
            "access": "public",
            "pages": 15,
            "description": null,
            "source": null,
            "created_at": "Sun, 24 Apr 2011 15:50:19 +0000",
            "updated_at": "Mon, 25 Apr 2011 15:12:53 +0000",
            "canonical_url": "http://www.documentcloud.org/documents/86275-isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo.html",
            "resources": {
                "pdf": "http://s3.documentcloud.org/documents/86275/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo.pdf",
                "text": "http://s3.documentcloud.org/documents/86275/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo.txt",
                "thumbnail": "http://s3.documentcloud.org/documents/86275/pages/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo-p1-thumbnail.gif",
                "search": "http://www.documentcloud.org/documents/86275/search.json?q={query}",
                "page": {
                    "text": "http://www.documentcloud.org/documents/86275/pages/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo-p{page}.txt",
                    "image": "http://s3.documentcloud.org/documents/86275/pages/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo-p{page}-{size}.gif"
                }
            }
        },
        ...
        ]}

Look at documents[0].resources.text:

        curl http://s3.documentcloud.org/documents/86275/isn-10015-abd-al-rahim-al-nashiri-jtf-gtmo.txt

There you go. Now go build that tree and report back. :-)

<comment><USER14> I'm afraid that only a handful (< 20, so far) of the newly released documents have been redacted and published thus far. You won't get too far trying to build that tree.

<comment><USER12> Sure but I can start writing code now, in anticipation of the full set.

</comment></comment></comment></comment><comment><USER15> Congrats America. We officially torture randoms (some Afghans were given up to the equivalent of a year's salary to turn folks in; quite a nice way of getting rid of some SOB and getting paid). We also violate our laws and constitution, then sit around and circle jerk over whether dunking someone's head under water a couple hundred times until he's just this side of drowning is torture or not. Then, because it's definitely not torture, the cia deletes the videos. Oh, and apparently we now do indefinite detention as well, without legal representation except in front of a kangaroo court, maybe, eventually. Finally, now that we definitely know some people were innocent... we leave them to rot in a cell in Guantanamo.

Good job.

<comment><USER16> This is why I'm going to vote for Obama in 2008!

<comment><USER17> In fairness, his justice department made a serious effort to transfer some gitmo people to the US justice system, but there was an opportunist shitstorm over it, and close to no principled liberals/libertarians who stood up and called out the shitstormers.

<comment><USER10> Screw the judicial system, in one act of exercising his power as commander and chief he could order all these military personel to release those prisoners and go home. This is what any sane man who actually cared about human rights would do.

This will of course never been done. Not by this president, nor by any future ones.

I'd love to be proven wrong.

<comment><USER17> He has sent a bunch of them home. The number is down significantly from when he took office, and most of the remaining prisoners have no country willing to offer them asylum. I have a big problem with gitmo but the Obama admin did try to push on it for quite a while before apparently concluding they'd dumped enough time and capital into it.

<comment><USER18> > _...they'd dumped enough time and capital into it._

Then I fundamentally disagree with what constitutes "enough time and capital" when it comes to ending endable human rights abuses.

<comment><USER17> Ok, well, I hear you but there's actually more to the job of President than this one issue.. his justice dept got way out in front on it, gave it an honest shot, fought in court, got hammered in public and got no support and he's got a country to run at the end of the day. Unemployment, 3 wars, etc.

Organize some protests and get some visibility if you feel that strongly about it.. being sanctimonious about human rights on a blog impresses nobody.

<comment><USER18> I wanted to take some time to give a more carefully thought-out reply to this, because your accusation (implied in "being sanctimonious") is totally fair, and one that I level at others sometimes.

I don't think it's wrong to express strong disapproval of political issues even if I'm not currently politically involved, because the fact is, I spent most of my twenties thinking about how to effect (big) change in the world, and the answer I came up with was that, first, I had to become wealthy. I concluded that the political process itself was badly broken, that there were serious social issues stretching back many decades, and that while working as a teacher or a politician might have some impact, it would ultimately almost certainly be less effective than accumulating a huge amount of resources and then putting those resources into play in ways that I think would be beneficial to the world. That doesn't mean that I don't spend any time at all on other endeavors -- one of the first things I hope to do after opening up a local shop is host mechatronics classes for kids, because I think it's important for technologists and others to teach their craft to the young. However, politics in general -- whether at the local, state, or national level -- requires disproportionate amounts of attention, with few benefits. It is a huge distraction from my primary goals, so I'm not inclined to get involved with it. Not _completely_ disinclined though: I did apply and interview for a local planning commission position, I have attended city council meetings in two local towns, I have been the tech guy for a California wanna-be governor's campaign a couple of years ago.

But in the end, spending much effort on organizing rallies or protesting with signs, _for me_ , is self-defeating ... at least to some extent.

I also don't think that the President is above reproach just because the job is difficult. I have a tremendous amount of respect for just how difficult the job is; it's obvious to anyone that watches how quickly various Presidents age while in office. _It is a physically debilitating position to have._ That said, the President is (supposed to be) elected to deal with issues like this. I do not think that "they gave it an honest shot" is a reasonable way to accept failure on certain issues. I also think that, as a candidate who ran on platform issues like transparency in government and workers' rights, the President has disenchanted many of his most ardent supporters, which is really a rather big problem because many of these people became politically active for the first time in nearly a decade in order to get him into office. His supporters did not want to elect a "lesser evil", they wanted to elect _change_. To what degree any change has occurred is a matter of perspective, but I think it's hard to argue that it has fallen far short of expectations and promises.

So, yes, I speak out on political issues that I think are important. I hold the President of the United States -- whoever he is -- to a very high standard, because I believe that it is necessary for the health of our country to do so. However, I don't do any of that to impress anyone, because impressing people won't help change anything.

I do it because people having more conversations like this one is, I think, the first step towards fixing some of the social and political problems in our country.

<comment><USER17> Thanks for the thought-out response. I'd only counter that a president alone can't change everything when we have a congress, lobbying and media environment like we have now. "Trying to change things" vs "Trying to make sure they don't change" is a bigger difference than simply "lesser evil", even if the daily frustrations sometimes get to you.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Can you teach yourself to control your dreams? - <AUTHOR> http://www.slate.com/id/2222931/pagenum/all/#p2 <comment><USER2> I've been able to do this to some degree for most of my life. It comes and goes. Lately I think this is connected to the temperature of the room I'm sleeping in, as it gets colder my dreams get more complex, chaotic, and lucid... but I actually try to avoid that, because it also makes my sleep less effective; I'd rather sleep well than have funny lucid dreams, which should give you a sense of how valuable they are.

It's sort of cute and fun, but I do sometimes wonder if this idea that it's some sort of life changing thing is either A: some people are wired differently enough that it happens for them, but this has little-to-no applicability for the rest of us or B: it's sort of become a New Age-style touchstone of faith that this is some sort of way of overcoming your mind or something and the claims that it's some sort of magical adventure are more wishes than reality, fed by the same sort of feedback loops that run most other New Age sorts of ideas.

Perhaps both.

I do admit to a little fascination by the parameters of what is controllable and what is not, rather more than the dream. This gets perilously close to the "who cares?" sort of dream discussion, but, hey, you're the one reading the comments on HN for an article entitled "Can you teach yourself to control your dreams?", so don't come crying to me about it. I have noticed:

* It is indeed sort of possible to completely rewrite the dream to do something like "win the superbowl", but the effort of the will involved is often enough to just flat wake you up. If you are thinking of getting into lucid dreaming I'd recommend less obtrusive changes. Flying's a good start.

* One common observation is that dreams involve your body image, which is in fact a real sense (related to proprioception but not the same). Your body image is surprisingly fuzzy in some ways; as the article mentions, you might not quite have five fingers. Another one I've found is that I must NOT look in a mirror for any period of time. Seeing your own facial image is distressing enough, then it starts... distorting. It's the same sort of thing as [http://growabrain.typepad.com/photos/uncategorized/four_eyes...](http://growabrain.typepad.com/photos/uncategorized/four_eyes_illusion_1.jpg) , only... worse.

* I find that while I fly quite freely, I can't actually get above everything. If I fly above one tree line, the next one is even higher, if I fly above that, there's suddenly an even bigger cliff, eventually I get stuck. I can transition from land into space but only if I close my eyes within the dream during the transition. I think this is actually because I don't fly much, and when I do it is as a passenger on a commercial flight; I have no internal frame of reference for really flying. Amusing while awake, sometimes frustrating when asleep.

* Any given trick only works twice well, then a couple more times with effort, then stops working, in quick succession. If I can walk through walls or windows, it works like that. If I pick up a weapon ( _hey, I'm a guy_ ), it works like that. Flight tends to work like that. I think it may actually be neural, just like saying the same word continuously for 30 seconds makes the word "stop being a word".

I am aware of the possibility that this is a self-fulfilling prophecy. It may be. Doing any sort of science on this topic would be tricky for this reason, I think. For instance, this article says that light switches never work in dreams... well, mine do about 50% of the time. At least the text or time tests have some science behind them; ISTR claims that those parts of the brain really do shut down more so it makes sense that the vast majority of dreams will have trouble there. Still, every once in a while I do get a bit of stability on some text or something. I try not to think about it too hard, lest my brain talk itself into not giving me _any_ clues it is asleep....

<comment><USER3> Hmm well I won't speak to the "New Age-ness" of any of this stuff as I like to stay as far away from that side of things as possible. But I believe proving to yourself that you can have at least some control over your own dreams can provide some significant benefit. When I was quite young, about 4 or 5 years old I had this recurring dream that I was being chased though our family home by a Wampa (from Star Wars, why I had seen The Empire Strikes Back at that age is another story). This dream freaked the hell out of me as you can probably imagine. I told my mother about it and she said that I could control my dreams, that I either needed to make friends with the monster or kill him and that I had the power to do either one. I'm not sure how long after that it was, but there came a night and a dream where I did in fact make friends with this huge white monster, took him downstairs by the hand and showed him my toys. Now 25 or so years later, that was the last recurring nightmare I ever had. I barely have any nightmares at all in fact. I attribute this mainly to this experience at an early age.

So for me, I guess I would call that pretty life changing, but perhaps not in the way that others might think of when they attribute the term "life changing" to lucid dreams. I feel that there is some degree of mastery one acquires over one's own mind with these kinds of exercises. A feeling that this is my mind and I control it. That's always been pretty valuable to me.

<comment><USER2> Actually, I do agree with the nightmare control aspect.

"I either needed to make friends with the monster or kill him and that I had the power to do either one."

There is a third possibility: Let it catch you. That's actually how I got rid one of my recurring nightmares. I'd swear there was a second's pause as my brain asked itself "Uh, now what?"

I now fairly frequently get some imagery in my dreams that have the capability to spark nightmares, but they pretty much never get past the very beginning phase, because my brain knows from experience nothing bad can happen. Big scary monster with teeth chasing you? The best answer is to hop right on in. Another big scary monster with teeth inside the first one? Hop right on in again. Recurring dream involving fear of heights? Just fall. Eventually it'll all work itself out.

<comment><USER3> Looking back at it, I guess that's kind of what I did too, although not thinking of it that way. To this day I can remember the scene in my dream. I stopped at the top of the stairs that went down into our basement, turned around and let the monster walk up to me. I can't remember if I said anything, but I do remember holding my hand out and taking his hand.

 _I now fairly frequently get some imagery in my dreams that have the capability to spark nightmares, but they pretty much never get past the very beginning phase_

That's pretty much how I feel as well, except I wouldn't say frequently for me. Occasionally I'll get imagery that is kind of nightmarish, but it usually doesn't seem to escalate beyond a certain point.

Facing one's fears, be they real or imagined usually has some value, in my experience.

</comment></comment></comment></comment><comment><USER3> I used to be quite successful at lucid dreaming when I was younger and had more time on my hands. One of the most enjoyable experiences was when in one dream I found myself atop a very high multi-level office style building, seemingly around 20-30 stories from my vantage point. I knew I was dreaming, and jumped, knowing full well that I wouldn't die. It felt awesome. I landed at the bottom amid a large pile of cardboard boxes. Perhaps the boxes were my minds way of making my survival of the fall vaguely plausible.

I also had a number of dreams where I consciously decided within my dream that I wanted to wake up and did.

My strategy for reaching this kind of lucid dreaming was to use a reminder of some kind. I had read that some studies were using a kind of apparatus attached to ones head, like glasses that detected when you had entered REM sleep by the movement of your eyes and turned on and off soft lights pointed at your closed eyes to alert you that you were dreaming.

I had nothing so sophisticated, so I went with a simple radio next to my bed, playing softly as I went to sleep. I would at times hear the radio in my dreams and it would alert me that I was in fact dreaming.

It's a fascinating area of self exploration that I would recommend to anyone who has the time.

</comment><comment><USER4> I've been able to do this in the past. It has always happened by chance.

These experiences often left me in a state of well being.

But I've also experience (quite often) what could be called a lucid nightmare: I understand that I'm dreaming and I decide to wake up. I shake myself, I slowly open my eyes and I start to see the room I'm in. Only to discover that I am still dreaming. At this point, fear kicks in and now I really want to wake up. But the cycle repeats three or four times before I'm relly awake, and each time I'm increasingly more scared of not being able to wake up anymore.

<comment><USER5> From what you say, I think that you could have experienced what it's known as "sleep paralysis", I remember reading about the subject when going over the same problem in my sleep. Maybe you should take a look on this matter, so you know exactly what you are dealing with, thus not being afraid of this condition.

</comment></comment><comment><USER6> The best success I've had with lucid dreaming is doing it directly from wake, Feynman style. The cue is when you notice yourself going into sleep paralysis. It only happens to me while sleeping on my back. It feels like an incredibly intense energy going through your body. If you're not aware of what it is, it can really feel like you're going to do if you don't snap yourself out of it. You won't die, you feel this way every night while your senses are disconnecting, you just normally sleep through it. Just relax, let the energy flow through you, and float away.

It can of course be tough to fall asleep on a stimulant, but some chocolate can make it easier to stay awake as you are falling asleep. 3 or 4 squares of 70% dark chocolate works very well for me.

</comment><comment><USER7> I have been trying this for a long time but from a spiritual side. I have been somewhat successful at it. I say somewhat simply because lucid dreaming is not the main goal.

One of the tricks that I like is, don't laugh, to pull a finger. In a dream, this one will stretch without any difficulty. I has never failed me but once. Once I gain lucidity, I usually jump in order to fly. And yes, it is an amazing experience. By the way, from my experience, consciousness in a dream is not binary (ie., you have it or you don't). I have observed that the degree of consciousness varies depending on several factors. Some depend on your health, mentally and physically. But other factors seem to be more important, at least for me, but these are of spiritual nature which I won't discuss here.

I believe that one of the main problems on why is so difficult to become conscious in a dream is the possibility that the mind is another entity than yourself or something like that. I remember reading something along those lines when searching for meditation. I believe that Buddhism teaches something like that but I really don't remember. I was able to experience this disconnect once in a dream. I distinctively remember looking at an event which I knew was not possible, but at the same time I had a thought that said that it was possible.

Having experienced this, I know try to learn more about it. No long ago there was an post here on HN about research regarding how cutting between scenes, in a movie for example, affects memory- I think. Sadly I don't have the link. I find this very intriguing since many of my dreams are like movies where viewpoints and scenes change without me questioning it. I must admit that I have watched a lot of TV in my life and I am constantly trying to limit the amount or stop it completely. I would throw the TV out if it was up to me but it's not.

Hopefully someday I will become an oneironaut ;)

</comment><comment><USER8> All I need to do to have a lucid dream is simply go to bed very determined to have a lucid dream. Easy, but I have no plans to do it again, because it leaves me feeling mentally exhausted like I've been working instead of sleeping.

</comment><comment><USER9> I had a lucid dream when I was much younger then couple years ago I tried a couple methods and imediately when I realized I'm dreaming, i'd wake up. Experimentation also led to sleep paralysis on couple occasions.

</comment><comment><USER10> I was practicing this for sometime, and was able to do it for a while. At some point, I completely stopped remembering my dreams, and once that happened, lucid dreaming stopped too.

</comment><comment><USER11> Feynman was cooler.</comment>


How much you suck as an engineer = 1/(sum(len(n) for n in Nv)/len(Nv)) - <AUTHOR> This is conjecture that programmers should aspire to write self-documenting and expressive code. Terse code is just poor form, in the modern programming world.

    Xc = ds.imgtf(tsf, sz, rm, sc)
 vs

    // normalize the input images
    processedInput = inputData.processImages(customTransform, finalSize, resizeMethod, maximumScaleFactor)
 Sample1 is preferred by most people I work with, and the standard for almost anything you'll find published in Python or Java. The web world is a little more forward on this, although still behind if you ask me.
I have always followed a practice of writing goals as comments first, then comments as pseudocode, and then simply adding in the syntax below that, with variable names that would be obvious at a glance. However, colleagues have found this practice "Nazi-like" and some have even made hard stances against putting comments in production code, at all. It's almost a side job for my colleagues to show me that my concerns are unwarranted.
Is it acceptable to demand rigor in expressive naming conventions and heavy commenting within my team? I'm seeking opinions on a team guideline for erring far on the side of readability over conciseness. I argue it has tangible benefits, and would've mitigated problems we've already stumbled on.
(edit: I removed a bunch of ranty prose like "What year is it") <comment><USER2> Strongly disagree but upvoted for the conviction of your delivery. :)

Writing robust programs relies on unquestionable understanding of the logic. The specific variable and argument names are neither here nor there.

It's almost impossible to understand program flow when code is extremely verbose and heavily abstracted. Little comments like "add 1 to x!!" are not only useless in practice but they are toxic to code understanding.

The code already tells you what it does. As a maintainer, I need to understand why, and to what ultimate purpose. "tmp2 -> temporaryFailedCustomerRecordsCounter" wastes precious space making the obvious infantalizing.

It's ok to expect people working on your complex, important software to be knowledgeable about the domain and its' standard terminology. I expect my Lyft driver to have a drivers license.

<comment><AUTHOR> Glad you can defend the totally opposing view well. Respect on the 'knowledgable about the domain' point.

I would argue that there is no more abundant resource than whitespace on computers. Useless comments (usually written after the syntax is written) definitely suck. But in a file with well written comments, you can actually just read the comments alone and understand the code as fast as you could read news headlines.

Another point, the only purpose of code as we know it is to serve as a human- readable translation of machine instruction. To me, the best achievement of that is a document that reads like natural language. After all, wouldn't it be better if we could just describe intentions in common speak and have the computer figure out the details? To me, well thought verbosity in code is a step towards that.

<comment><USER2> Good points. Some rebuttals:

First, in the context of this argument, I'm talking about work in high level languages like Python, JS, fairly expressive C++, etc. If we were coding in assembler -- LEA, LDR, JNZ.. -- I'd definitely want a ton of low level comments!

When I say wasting space, it's not about disk space, or shrinking your screen size, or even formatting. It's more about what you can see all at once.

Think back to a recent time when you had a tough to fix bug. Like something really not trivial that you beat yourself up about for a while.

I bet it involved you working through various levels of libraries, opening them side by side or paging back and forth, trying to figure out what went wrong in the logic.

It probably wasn't cuz you misunderstood what a variable did. We have great ways to document that, like the function header.

Now imagine that process if it's all on the same screen. If everything feels "tangible" to you, because each level of logic (to some reasonable point) is visible, accessible.

When I encounter a code base with hundreds of source files in various folders and some flimsy abstraction tying it all together, such that I can't see a clear delineation between parts, I go nuts!

Here's a very practical example. Imagine you have some library that wraps a remote API. Something important, like Payments. The hard part there is understanding failures (does it retry?), edge cases (whats diff when i run a test CC#?), stored state (can I resume this from a different part of the code?).. those things are mighty hard to glean even from good statement-level comments, even if I could take the time to read all 3,000 lines of code.

We need higher level great docs.

I'd love to code in English or something like it, but looking at the code on my screen right now, those would be some really complex sentence structures. :)

<comment><AUTHOR> Definitely agree on too-many-files. Documenting architecture is a whole 'nother art that's overlooked. We diverge on locating errant code though, big time.

You'd trip at my code in the payments example because whatever is 3000 for you would easily be 5000 for me. Not only do I write comments before each line of verbose syntax, but I also add blank lines after braces and between logical "blocks" of operations.

However, that structure also gives me a mostly searchable index of every logical block of my code. That gives me a very straightforward way to bisect down to the problem, no matter how far away that code is linearly. It feels like lots of little sandwiches instead of a giant sandwich, and I'm looking for one bad slice of meat. I at least can quickly scan and jump to sandwiches containing meat when they are so explicitly separated and annotated.

I'd also argue that since good comments (written before syntax) can be read as their own document, I also have full coverage documentation by default. If I wanted to produce a crazy deep documentation page, I could actually just pull every line starting with // or /* (but really I just use Docstrings/JSDoc/etc on top of my inline comments).

I believe I've arrived on this out of practicality. I maintain 10+ codebases of differing platforms at any one time, and my most frequent problem in life is arriving at a codebase and thinking "Okay, what was going on here?". My approach now is just "read the green" (I color my comments slightly green gray) and within minutes, I can understand the entire functionality of that code and search for patterns I know will exist. I don't believe that's possible in equivalent time by executing the program line by line in your head.

</comment></comment></comment></comment><comment><USER3> Google gets rid of this problem (either extremes) by formalizing style guides for the different coding languages people use in its organization. Checkout [https://google.github.io/styleguide/](https://google.github.io/styleguide/)</comment>


Qubes OS 3.1 has been released - <AUTHOR> https://www.qubes-os.org/news/2016/03/09/qubes-os-3-1-has-been-released/ <comment><USER2> The amusing thing to me is that Solaris provided similar security over a decade ago in the Trusted Desktop:

[http://www.oracle.com/technetwork/articles/servers- storage-a...](http://www.oracle.com/technetwork/articles/servers-storage- admin/sol-trusted-extensions-1957756.html)

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

The whole idea of encapsulated data paths with labeled domains, etc. were all pioneered first in Solaris.

The unique spin here with Qubes OS seems to be do something similar, but using virtualization.

<comment><USER3> "The whole idea of encapsulated data paths with labeled domains, etc. were all pioneered first in Solaris."

They actually came from the high assurance field that created the Orange and Red Books for endpoints and networking respectively. Earliest, fielded systems like that were in the mid-80's. Later, since nobody wanted real security, they dropped the assurance but kept & expanded features in so-called Compartmented Mode Workstations described here:

[http://web.ornl.gov/~jar/doecmw.pdf](http://web.ornl.gov/~jar/doecmw.pdf)

Trusted Solaris, which started as Sun MLS, conformed to low-to-mid grade of Orange Book:

[http://www.cse.psu.edu/~trj1/cse544-s10/slides/cse544-lec12-...](http://www.cse.psu.edu/~trj1/cse544-s10/slides/cse544-lec12-solaris.pdf)

Others included Trusted IRIX, SEVMS version of OpenVMS, Trusted Xenix around same time as Sun MLS, and so on. Many of those weak OS's with security retrofits. Today, there's Argus Pitbull, Trustifier, maybe others I don't know about.

Over time, due to security failures, DOD once again wanted high assurance desktops built on secure isolation. Turned to separation kernels (MILS) built to high assurance requirements. INTEGRITY-178B, LynxSecure, and VxWorks MILS built on that model with labeled, color-defined, virtualized desktops showing up starting around 2005. Nizza security architecture and TUDOS demo did stuff similar to high-assurance work for OSS in 2005-2006. QubesOS showed up later building on insecure Xen stack w/ VM-level separation and CMW-like features. GenodeOS built on Nizza/TUDOS work around 2007 while continuing to integrate high-assurance stuff like seL4 where possible.

So, no, Sun didn't invent these concepts or even design a high assurance system that I'm aware of. It was SCOMP, GEMSOS, XTS-300, and likely Trusted Xenix that proved most of the concepts out. Sun copied and improved on a watered down version of that. Separation kernels like INTEGRITY-178B and architectures like Nizza showed how it was supposed to be done. Then, Qubes later copied CMW's w/ a weak virtualization scheme and components but better usability (administration & hardware support) than separation kernels.

There's the lineage and history lesson for you.

<comment><USER2> Note I said _pioneered_ , not invented, and the context is a desktop operating system.

Solaris contains the only surviving commercial implementation that I'm aware of that is still available and being updated and was last shipping in Solaris 11.3.

As far as I know, Solaris is also the last general (not tied to specific hardware), commercial UNIX.

Yes, we can nitpick all day about certification levels, but I never mentioned any of that.

<comment><USER3> "The whole idea of encapsulated data paths with labeled domains, etc. were all pioneered first in Solaris"

Your statement implies they came up with it, led the way, first to market... stuff like that. They didn't on any count. They did end up with highest market share for CMW's and so-called Trusted OS's. They were copycats on the important stuff, though. Not pioneers. They played it pretty safe.

"Solaris contains the only surviving commercial implementation that I'm aware of that is still available and being updated and was last shipping in Solaris 11.3."

RHEL w/ SELinux and security add-ons. Argus on Solaris and Linux. Trustifier on Linux. Seems like there's four on two OS's depending on your measurement.

"Yes, we can nitpick all day about certification levels, but I never mentioned any of that."

You definitely didn't. The product you referenced wouldn't have been on the evaluated products list on any high standard had you referenced one. It would also look like a knockoff of stuff before it with selective advances. Referencing certification levels or criteria would've defeated your point when people read what was in those. Smart move.

<comment><USER2> "They were copycats on the important stuff, though. Not pioneers. They played it pretty safe"

Copycats? You're going to resort to name calling in an attempt to discredit actual success and reality?

Name another commercial UNIX operating system today that has an equivalent to Solaris role-based access control fully integrated throughout the entire operating system and components, especially one that supports the "two-person" rule:

[https://blogs.oracle.com/gbrunett/entry/enforcing_a_two_man_...](https://blogs.oracle.com/gbrunett/entry/enforcing_a_two_man_rule)

"RHEL w/ SELinux and security add-ons. Argus on Solaris and Linux. Trustifier on Linux. Seems like there's four on two OS's depending on your measurement."

RHEL isn't UNIX and their security model is nothing compared to Solaris.

"Smart move."

Apparently not as smart as quoting lots of facts not relevant to the given context (desktop operating system) and then dismissing decades of R&D and actual commercial success of Solaris in a snide manner.

Enjoy your pyrrhic victory.

<comment><USER3> "Copycats? You're going to resort to name calling in an attempt to discredit actual success and reality?"

We were talking about trusted extensions. Basically every feature they had came from Orange Book. CMW's like Trusted Solaris were _watered down_ versions of high-security products like GEMSOS, XTS-300/400, and Boeing SNS Server. They had more features and prettier interfaces due to lack of rigor in implementation. Tons of 0-days but checked the right boxes. That with COTS push by DOD killed off high-security while letting crap like Trusted Solaris proliferate. Preventable 0-days and covert channels still abound in Solaris and Linux. Its market share was an accident of policy and economics combined.

"Name another commercial UNIX operating system today"

"Apparently not as smart as quoting lots of facts not relevant to the given context (desktop operating system) and then dismissing decades of R&D and actual commercial success of Solaris in a snide manner."

That's a different discussion than we were having about whether Trusted Solaris invented or pioneered the security concepts Qubes is implementing. It didn't for key concepts and wasn't even on list of high-security stuff. The best in CMW model is probably Argus's tech baked into either Solaris or RHEL. The best in UNIX/Linux is stuff coming out of CompSci where prototypes make BSD's or Linux immune to most code injections and/or leaks. The best in commercial are separation kernels that run Linux or POSIX apps untrusted with security-critical stuff on dedicated runtimes w/ secure middleware. The ideal would be a combo of that with CompSci stuff.

Unfortunately, Trusted OS's w/ huge amounts of kernel code are a broken model that never worked. I mean, they were known to be broken when CMW's were introduced as a compromise to get insecurity-loving OS users to adopts some _features_ of high-security. It was bait. Solaris's risky, 0-day-filled TCB might be better than RHEL's or another's 0-day-filled TCB but that's a weak comparison if one wants low vulnerability, eh?

Far as commercial success, I you would similarly count (original) Windows NT process isolation and security architecture as more secure than Trusted Solaris due to "decades of R&D" from Microsoft and Microsoft's "actual commercial success." Heck, one had millions to tens of millions while the other had billions. Yet, I realize that's marketing and lock-in in action rather than $$$ made = better security. Actually, more money and market share usually means _less_ security. Sad fact.

"Enjoy your pyrrhic victory"

We didn't win: low quality and security with high-lockin abounds. Expanded with web app silos. If anything, the mainstream OS's are getting pyrrhic victories for themselves at long-term expense in technical debt and damage to users.

</comment></comment></comment></comment></comment></comment><comment><USER4> I think that Qubes OS is a very welcomed development in the OS landscape.

I have few usability related questions to see if such things would be possible in Qubes OS.

Would it be possible for Qubes OS to implement similar window maximization as one can see in Ubuntu?

That is, when a window is maximized then its title bar integrates with the toolbar.

Edit: Also would it be possible for applications to enter into full screen mode?

<comment><USER5> Yes, but there's a good security reason to have those labeled/colored dom0-drawn window decorations.

However, if you want, you can still manually put any window in proper full screen mode. It's just a right click away, at least on XFCE.

</comment></comment><comment><USER6> Does anyone know if PCI passthrough works so we can play games inside a windows vm? Some user already asked this on the mailing list but got no answer. [1]

[1] [https://groups.google.com/forum/#!topic/qubes- devel/MfHy2jmX...](https://groups.google.com/forum/#!topic/qubes- devel/MfHy2jmXhXM)

<comment><USER7> Qubes uses Xen and thus PCI passthrough for gaming can be made to work through the same procedures necessary for any other Xen+Linux OS.

But PCI passthrough for gaming isn't a great fit for the Qubes security model: it requires trusting that the Windows guest cannot compromise the GPU you loan it, which makes it a much bigger risk than an ordinary AppVM.

<comment><USER8> I thought the PCI passthrough security model assumes that the guest does compromise the GPU, and the guest-controlled GPU is isolated from the rest of the system using the IOMMU.

Do you mean these controls are porous by design or are you talking about bugs in the IOMMU protections?

<comment><USER9> First of all guest can easily update firmware on that device. As stated before GPUs are really complex devices and some part of them might be badly documented, like there is whole HDCP / DRM support that isn't documented at all. Of something like that happen you'll never find out.

Next time your PC going to boot your GPU will be initialized with host BIOS / UEFI long before kernel get possibility to limit it with IOMMU.

<comment><USER8> Interesting point. I hope this threat is something GPU vendors address, since secure virtualized GPU access has been a marketed feature for a while (at least from AMD). Quick googling drew a blank sadly.

</comment></comment></comment></comment></comment><comment><USER10> I really like the concept of Qubes. But they really need (imho) to work on their hardware compatibility list. I didn't investigate laptops much but last time I checked (2 or 3 months ago) they didn't have a fully supported (desktop) motherboard that can be bought new.

I tried to install it on my computer, it didn't work. I'd buy a new desktop just for Qubes if I had the guaranty that it would be fully supported. I'm not spending money just to discover that it won't run with my shiny new hardware.

<comment><USER11> I used it on my Thinkpad x220 and NUC 5th gen (BOXD54250WYKH) and it worked great. [https://www.qubes-os.org/hcl/](https://www.qubes-os.org/hcl/) \- The HCL is pretty decent actually. But since they have to work on older Linux Kernel and Xen releases for stability/security and the hardware needs to have VT-d, TPM, HVM/VMX etc enabled - they will always be lagging in terms of the newer hardware they can support.

Might want to try out the BOXD54250WYKH1 NUC - Amazon is still selling it.

<comment><USER10> You forgot to update the HCL with your NUC ;-)

</comment></comment></comment><comment><USER12> I just really hope that the next generation of GPUs will have better support for virtualization, yeah, looking at you NVIDIA.

<comment><USER13> I thought you don't need any specific support from the gpu, since we already have pci pass through: [https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVM...](https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF)

<comment><USER9> Problem is that Nvidia refuse to support it for consumer GPUs. So you have to buy Quadro hardware if you need official support. They also introduced two "bugs" that make Windows drivers to fail on startup if KVM or Hyper-V enlightenments detected.

Currently there is way to bypass both "bugs", but they can introduce something new in newer version of drivers.

</comment></comment></comment><comment><USER14> I remember reading a discussion a couple of years back where somebody wondered why Microsoft did not go a similar route for Windows. The original context was backwards compatibility with applications written for older releases of Windows.

But given the general security situation on Windows, it would be really nice to have, for example, the browser strongly isolated from the rest of the system.

The idea of using virtualization to enforce stronger isolation between different parts of the system seem like a good one, and it does not appear to be _that_ non-obvious (of course, in hindsight so many things do).

<comment><USER3> Microsoft is doing all sorts of things for security. They added ways to remove privileges from apps, rolled out SDL reducing vulnerabilities tremendously, implemented Windows Integrity Controls with IE at lowest level, added EMET, added whitelisting, pushed managed code, started designing sandboxing schemes like Xax architecture, added a hypervisor (Hyper-V), did mathematical verification on it, and so on. I can easily say Microsoft is putting more work into security in their various layers than Linux/BSD, even OpenBSD _in some ways_.

Thing is, there's been third party solutions to handle virtualization-based security for Windows for anyone willing to buy them. People mostly don't. So, Microsoft rightly doesn't give a shit. It's why I tell people to use third- party enhancements if they rely on Windows or switch to Linux/BSD due to greater options for security not to mention what CompSci is cranking out for them.

<comment><USER14> > Microsoft is doing all sorts of things for security.

Indeed they are. Compared to Windows XP (pre-SP2), Windows has come an incredibly long way.

I just cannot help thinking that if they used virtualization the way Qubes OS does, they could both incrase isolation of applications _and_ maintain backwards compatibility without having to jump through the countless hoops I imagine Windows developers must meet on a regular basis.

Hyper-V could be a very nice foundation for such an approach, at least in my fertile imagination. ;-)

<comment><USER3> Oh, I agree with that. It could be a benefit on top of what they have. A Dom0/hypervisor solution from them could actually be safer given they have tools for mathematically verifying both driver interactions and low-level system code. SLAM has been applied to drivers for years now. HyperV was verified with their VCC toolkit. So, they'd be a stronger than average foundation.

The best route for isolation, though, is to apply one of the industry separation kernels or virtualization schemes from CompSci that leave more untrusted. Good news is that I found a _great_ document that describes MILS in detail plus some prior work and terms:

[http://www.euromils.eu/downloads/2014-EURO-MILS-MILS- Archite...](http://www.euromils.eu/downloads/2014-EURO-MILS-MILS-Architecture- white-paper.pdf)

GenodeOS is OSS built similar to MILS from European CompSci:

[http://genode.org/documentation/general- overview/index](http://genode.org/documentation/general-overview/index)

</comment></comment></comment></comment><comment><USER15> I keep waiting for the Qubes release notes that say they've upgraded to KVM.</comment>


"Gold standard" net neutrality bill in US approved by California Assembly - <AUTHOR> https://arstechnica.com/tech-policy/2018/08/gold-standard-net-neutrality-bill-in-us-approved-by-california-assembly/ <comment><USER2> "Consumers expect a single, national approach to keeping our internet open, not the confusing patchwork of conflicting requirements passed today," USTelecom CEO Jonathan Spalter said after the vote. "The California Assembly's vote today keeps the country strapped into a rollercoaster ride of state net neutrality regulations, but won't get us any closer to the stable and consistent net neutrality protections consumers deserve in the long term."

Well, then, Mr. Spalter, can we count on you to push for the same bill nationally?

Also, I think you're out of touch with what I expect as a consumer.

<comment><USER3> > Well, then, Mr. Spalter, can we count on you to push for the same bill > nationally?

Heh. Nope:

> USTelecom has also worked against national net neutrality rules by > unsuccessfully suing the Federal Communications Commission during the Obama > administration, and then by successfully urging the Trump-era FCC to scrap > the rules.

They would prefer to create their own rollercoaster ride of service for users.</comment></comment>