Ask HN: What are you currently working on? - <AUTHOR> Always interesting to hear what projects people are working on! <comment><USER2> I'm working on my kanban-style email client, Kanmail ([https://github.com/Fizzadar/Kanmail](https://github.com/Fizzadar/Kanmail)).

<comment><USER3> this is very cool

</comment></comment><comment><USER4> I'm working on a live dashboard for our school Baja SAE team. They design and build an off-road buggy and it'll have a bunch of sensors on it. The dashboard shows a live view of what's happening to the car using websockets. Currently it's got fake data streaming from the server when you press play!

[https://Adam.teaches.engineering](https://Adam.teaches.engineering)

</comment><comment><USER5> I'm finishing up my rust project convenient-skiplist [0] so I can finally achieve sorted set time-complexity parity between redis-oxide [1] and actual redis [2].

It's been quite challenging to get indexing working in a coherent and performant way. My sorted set implementation is "pure" in the sense you can only travel right and down, so you have to dance carefully to make the arithmetic work.

And the fact it's in rust adds the additional headaches of borrow checker / etc. Very fun though.

[0] [https://github.com/dpbriggs/convenient- skiplist](https://github.com/dpbriggs/convenient-skiplist)

[1] [https://github.com/dpbriggs/redis- oxide](https://github.com/dpbriggs/redis-oxide)

[2] [https://redis.io/commands/zpopmax](https://redis.io/commands/zpopmax)

</comment><comment><USER6> I am working on a cheap light-field videocamera and automatic software for processing the videos.

</comment><comment><USER7> [https://starrecognizer.com/](https://starrecognizer.com/) . Shazam for movie stars. To finally stop arguing with my GF in what other movies did this actor play.

Not ready for live, but more of a sneak peak

Elm, PWA, Netlify

<comment><USER8> That's a great great idea. Will follow this

<comment><USER7> Thanks!

</comment></comment></comment><comment><USER9> I'm working on Muon, a modern low-level programming language: [https://github.com/nickmqb/muon](https://github.com/nickmqb/muon)

</comment><comment><USER10> I'm working on parsing our data files (hopefully quickly) and extracting things like instance type data for upload to a central reporting tool. This will help us get useful information about which types different teams on our central tech are using in their data, without having to give us full access to the entire dataset itself. This will then give us a better overview of which types we can change or deprecate without impacting the teams, or which teams we need to coordinate with before modification.

</comment><comment><USER11> [https://www.checkbot.io](https://www.checkbot.io) \- a website SEO, speed and security checker implemented as a Chrome extension.

I wrote a 10K word guide for it that explains all the best practices it automatically checks for here [https://www.checkbot.io/guide](https://www.checkbot.io/guide). I'm reworking the guide to break it up into individual articles that expand on the how and why for each best practice.

</comment><comment><USER12> I'm currently working on two side projects:

[https://vinyldeals.club/](https://vinyldeals.club/) \- an aggregator for deals and new releases on vinyl records. It is in its early stages though.

[https://flxn.de/qrcode2stl/](https://flxn.de/qrcode2stl/) \- an online tool to create your own 3d printable qr codes. It directly spits out STL files for slicing.

</comment><comment><USER13> Right now I am working to reduce costs in one of my employer projects currently using GCP.

If I am successful I hope to save 60% in storage costs and another 70% in CPU costs.

Then I hope I will be free to NOT DO the CiC (check-in-chats). (hate to have to copy over the tickets from ZD to another system because _because_ )

The savings will pay for my salary and 2 coworkers.

And If I get a good teammate we can slash all servers things to 1/8 and still do auto-scale. I need someone on the Java team to help.

</comment><comment><USER14> I'm working on DOME, a game development framework for making games with Wren: [https://domeengine.com](https://domeengine.com)

It was featured on HN last weekend: [https://news.ycombinator.com/item?id=22200739](https://news.ycombinator.com/item?id=22200739)

We've even got a game jam and discord server set up now :)

</comment><comment><USER15> I'm working on cataloging and indexing the table of contents for all the cookbooks my wife and I have acquired over the years. It'll make it much easier to search by recipe name across all our cookbooks when there's a dish we want to cook.

[https://www.hellocookbook.com/](https://www.hellocookbook.com/)

</comment><comment><USER16> [https://www.tenproblems.com](https://www.tenproblems.com) \- short, text-only Kindle booklets democratizing the latest trends and the open questions for 30 subjects, as put forward by leading academicians and practitioners in 2019, hopefully aimed at debunking fake news, sensationalism and outright biased agendas.

</comment><comment><USER17> Persisting your OS state as a "context" \- saving and loading your open applications, their windows, tabs, open files/documents and so on.

Started because of frequent multitasking heavy work with limited resources.

Open Beta (macOS) as soon as I finish license verification and delta updates.

[https://cleave.app](https://cleave.app)

<comment><USER18> This is awesome. Any chance for an Ubuntu release?

<comment><USER17> Thanks!

I've got a couple of thoughts and strategies for trying to implement the same functionality on other platforms, but I honestly haven't had the time to prototype or even look more into it yet...

</comment></comment></comment><comment><USER18> I'm working on a mindfulness calendar that will automatically plan your perfect work-life balance. [0] I always struggled with finding a healthy work- life balance and none of the apps worked for me. So I'm scratching my own itch with this.

[0] [https://ritualin.com](https://ritualin.com)

</comment><comment><USER19> I am working on conceptualizing an API security tool for developers and testers. The developers can use this to automatically find code vulnerabilities. Testers can use this to run standard OWASP tests against the API. Integrations with Atlassian, Postman and Azure DevOps is on the roadmap.

</comment><comment><USER20> I am making a virtual keyboard widget in for Qt projects that will be dynamically built and initialized by just a json.

It will have different layouts and they will be set by the json, so basically the user only needs to supply a well structured json and boom! you have a virtual keyboard for any app.

</comment><comment><USER21> I'm working on pomodoro-timer.app. My next step is to publish it as a PWA to the google play store :)

</comment><comment><USER22> I am working on making screencasts about Vue.js, inspired by destroy all software. [https://vuejs-course.com/screencasts.html](https://vuejs- course.com/screencasts.html)

</comment><comment><USER23> [https://happy-bose-4eb009.netlify.com](https://happy-bose-4eb009.netlify.com)

Shopping search engine probably, not sure where im going with this. Just a quick demo, don't mind the ugly makeshift looks

</comment><comment><USER24> Current side project is an API for holding event/venue data.

My own use case is a ticketmaster-style service for small venues and free gigs, but I'm trying to keep it flexible enough for the same API to be used across multiple services.

<comment><USER18> That's interesting. What stack are using for this?

<comment><USER24> Very early days yet, but I'm currently using Django for the API, and React to knock up a basic sample front end.

</comment></comment></comment><comment><USER25> "Reddit/HN" for best local food based on dishes. Just a side project. [https://TasteJury.com](https://TasteJury.com)

</comment><comment><USER26> I'm working on one side project:

[https://thestrife.co/](https://thestrife.co/) \- Events and uprisings around you, Explained.

</comment><comment><USER27> Currently building a disk-persisted key-value store in Javascript. It has been a very cool project involving lots of different things to learn about.

<comment><USER21> Is it open source? Mind sharing a link?

<comment><USER27> Not yet, still a work in progress. But I can upload it to github, wanted to do that anyways.

</comment></comment></comment><comment><USER28> playing with coronavirus sequencing data and writing medium paper about it [https://medium.com/@vladimirnowmoove/data-analysis-of- corona...](https://medium.com/@vladimirnowmoove/data-analysis-of-coronavirus- and-its-host-basic-bioinformatics-methods-with-code-1eb0b103270)

</comment><comment><USER29> Getting a mesh flattening algorithm to work for real-world triangulations of optical surfaces, based on curvature flow.

</comment><comment><USER30> Godot tutorials, a basic roguelike in C/Lua.

Bought an Oculus Go to play around with Godot's VR capabilities

Also breaking Anarki.

</comment><comment><USER31> Working on a unique ticketing system where your id is your entrance ticket.

<comment><USER32> Is it open source? Mind sharing a link?

<comment><USER31> Its not open source, building a poc for a company.

</comment></comment></comment><comment><USER33> trying to finish up the 2019 Advent of Code problems. Sorry, Santa...

</comment><comment><USER34> same thing, a community for remote companies & workers: [https://reworkin.com/](https://reworkin.com/)</comment>


PID Theory Explained (2011) - <AUTHOR> http://www.ni.com/white-paper/3782/en/

<comment><USER2> A few tips for people using PIDs:

The best way (tm :-) to tune PIDs is by looking at the open loop response of the system. This isn't terribly hard to measure in a live system but unfortunately very few PID implementations actually support this. You can do this with some commercial controllers. Once you do that (and assuming a close to linear system) you can _see_ your stability margin and actually see the impact of changing the loop parameters on those. ( [http://www.mathworks.com/help/slcontrol/ug/open-loop- respons...](http://www.mathworks.com/help/slcontrol/ug/open-loop-response-of- control-system-for-stability-margin-analysis.html) ) Without this it is very difficult to figure out the limiting factor.

A lot of systems need additional filters over the PID. Expensive commercial motion controllers implement those in their control loops. Without those additional filters the performance you can get using PID in those systems will be very limited.

Lastly feed-forward can really help closed loop systems. The closer you can get the system to follow your command using feed-forward the less your closed loop controller needs to deal with. The simplest example is acceleration feed- forward in motion control.

</comment><comment><USER3> This was a pretty good article for helping to learn about PID. [http://m.eet.com/media/1112634/f-wescot.pdf](http://m.eet.com/media/1112634/f-wescot.pdf)

It's about 15 years old, but still a pretty good intro to basic control systems for people without a background in the field.

<comment><USER4> If you like the article, the author Tim Wescott went on to write an entire book on applied control theory for embedded systems:

[http://smile.amazon.com/Applied-Control-Embedded-Systems- Tec...](http://smile.amazon.com/Applied-Control-Embedded-Systems- Technology/dp/0750678399)

</comment></comment><comment><USER5> I started reading the O'Reilly book "Feedback Control for Computer Systems" by Philipp K. Janert about applying feedback control to software systems, and I liked what I read so far a lot: [http://shop.oreilly.com/product/0636920028970.do](http://shop.oreilly.com/product/0636920028970.do)

PID is in there, along with lots of other techniques.

<comment><USER6> There is an on-line example from the book (about feedback control of on-line advertising) here: [http://toyproblem.github.io/ad-feedback- control/](http://toyproblem.github.io/ad-feedback-control/)

</comment></comment><comment><USER7> I think this is a good introduction to PID for people who don't want to have to dive into the nitty gritty. Linear feedback controls is a complex but complete theory and it would take at least a semester at a university to understand the theory behind time and frequency domain design and the effects of discretization.

</comment><comment><USER8> The ideas of PID theory are really useful in a lot of operational/automation contexts.

For example, if your business is using any sort of machine learning model to govern a process, and you have some sort of idea of how you want this process to run throughout the day, you can build a PID system to change the model thresholds automatically to govern that plan.

An example might be any sort of retention/marketing strategy where you want to reach out to customers based on some factors X, and have a certain quota/capacity to do so during a day, and the expected number of customers with the best factors X can change throughout the day/week or is just erratic.

<comment><USER9> I have a master on automation & contorl, and never thought of using it outside the industry

<comment><USER10> Last Fall my roommate was taking a class on computer networks, he ended up inventing PID as a flow-control algorithm, though he didn't know to call it PID.

<comment><USER11> Oddly enough I too unknowingly implemented a PID controller without prior exposure to the theory. I was trying to make a stable hovering platform using only thrusters in Garry's Mod. I remember once I tweaked the parameters just right it was amazingly responsive and stable. I only realized what I had actually done years later.

</comment></comment></comment></comment><comment><USER12> I dealt with PID in my 3d printer and quadcopter. While researching what this (PID) is, I also stumbled upon this page - [http://www.gperco.com/2014/05/quadcopter-stability-and- neura...](http://www.gperco.com/2014/05/quadcopter-stability-and-neural- networks.html) . Make sure to checkout interactive part - it is pretty awesome!

</comment><comment><USER13> MIT's OCW offering offers more on the subject of automatic control: [http://ocw.mit.edu/courses/aeronautics-and- astronautics/16-0...](http://ocw.mit.edu/courses/aeronautics-and- astronautics/16-06-principles-of-automatic-control-fall-2012/lecture-notes/)</comment>


The Incredible Proof Machine - <AUTHOR> http://incredible.nomeata.de/ <comment><USER2> There is a coursera course on formal logic which starts in 3 days and covers this kind of stuff: [https://www.coursera.org/course/intrologic](https://www.coursera.org/course/intrologic)

They have a very nice proof editor: [http://logica.stanford.edu/php/fitch.php](http://logica.stanford.edu/php/fitch.php) And some other logic tools: [http://logica.stanford.edu/php/index.php](http://logica.stanford.edu/php/index.php)

This system is pretty neat though.

EDIT: I'm having trouble with this. I can not get Or Introduction or Or Elimination to work. I have no idea what it where the inputs are supposed to go or why it doesn't accept it as valid. I did figure out how to do assumption, but it wasn't immediately obvious and is kinda clunky.

</comment><comment><USER3> Also [https://news.ycombinator.com/item?id=10272231](https://news.ycombinator.com/item?id=10272231).

</comment><comment><USER4> That's a lot of fun :). It's a bit frustrating though that once you've grabbed a logic operator from the panel left, it loses the annotations. For example, for function application, i'd forgotten if the top or the bottom hole was for the function... Maybe i should just work on my short-term memory...

EDIT: I'm not really sure what the point is of all the propositions they want you to prove using bottom? Yeah so your logic is inconsistent if you introduce bottom as a true proposition, big deal :/

<comment><USER5> The propositions all assume false, but don't prove it. In session 4 you've also got translations of things like contraposition, (not (not (not A))) -> (not A) (which is importantly different from double negation elimination since it holds constructively).

In session 5 you've got excluded middle, the other form of contraposition, double negation elimination which are apparently going to show how providing tertium na datur works to provide classical and not merely constructive logic.

</comment></comment><comment><USER6> Could somebody explain me, please, what is the annotation block and how do I use it?

<comment><USER2> It lets you make assumptions. Assumptions let you prove implications.

Say you have A->B->C and B. And you want to prove A->C.

Then you can assume A, and do a regular proof that proves C.

Then you use that other weird block, with the A, B, and implication sign on it. You connect the assumption you made to the "A", and the result, to the "B", and then it lets you prove "A->C".

<comment><USER6> Oh, maybe the block I talk about is not called "annotate block"? I talk about the block that from the very beginning of the game is in the "helper blocks" region and which has a pencil icon on it.

<comment><USER2> No the helper block is the assumption block. The input to the block connects to the first output of the implication block. The output is the assumption, i.e. whatever you typed into it. You can use that to prove more things. Then use the implication block to show that the assumption implies those things.

</comment></comment></comment></comment><comment><USER7> Can't seem to figure out how the reverse or block works unfortunately, just stuck on A | B -> B | A

<comment><USER6> Here are two ways to proof it: [http://postimg.org/image/c4ghgyw8r/](http://postimg.org/image/c4ghgyw8r/)</comment></comment>


Gophersat: A SAT solver written in Go - <AUTHOR> https://github.com/crillab/gophersat <comment><USER2> Tests might be a good place for early pull requests since they hardlink a specific /Users/ path:

[https://github.com/crillab/gophersat/blob/7f9dbd11144643b0ee...](https://github.com/crillab/gophersat/blob/7f9dbd11144643b0ee7881b6e55e851229057077/solver/solver_test.go#L31)

<comment><AUTHOR> Oops. Thanks. Those tests are outdated, we ran our own tests and benchmarks outside `go test`'s facilities, for practical reasons. This will be corrected very soon.

</comment></comment><comment><USER3> Another Go SAT implementation (with an MIT license for those that can't use GPL): [https://github.com/mitchellh/go-sat](https://github.com/mitchellh/go- sat)

<comment><USER4> Is it common for companies to ban LGPL?

<comment><USER3> I think it's even more common with companies using Go, because the output is often statically linked which changes the distribution requirements. The main difference between GPL and LGPL is that the the latter allows proprietary or non-free software to be linked without creating a derivative work.

<comment><USER5> > The main difference between GPL and LGPL is that the the latter allows > proprietary or non-free software to be linked without creating a derivative > work.

That's not strictly correct. LGPL has the requirement that it must be possible to replace the components that are under LGPL. So you could statically link them as long as you provide separate .o files. Of course that's a bit harder with Go.

But the concept of derivative work comes from copyright law, your choice of license doesn't affect whether something is a derived work or not. All that changes is the set of restrictions.

</comment></comment></comment></comment><comment><USER6> Maybe someone here can satisfy my curiosity:

What are the significant applications (industrial, military, or scientific) of SAT solvers?

They're not just a theoretical curiosity are they?

The wikipedia entry describes a number of algorithms, but is silent about their use (or lack thereof) in the world.

<comment><AUTHOR> Just a few examples.

A very pragmatic one: Eclipse includes a SAT solver to manage package dependencies (eg: can package X be installed in version 1.0 and coexist with package Y with version <= 2.3)

SAT is also used for bounded model checking, ie checking whether a given system (hardware or software) is guaranteed to never be in an invalid state. You can have a look at MIT's alloy project ([http://alloy.mit.edu/alloy/](http://alloy.mit.edu/alloy/))

SAT is sometimes used in cryptography, to try to solve cryptographic problems.

SAT solvers are very efficient nowadays, so it often makes sense to translate an NP-complete problem into SAT. This is not always the case, though (some problems would require to generate a huge number of clauses, making the use of a SAT solver impractical).

</comment></comment><comment><USER7> It would be nice to have some usage hints.

Here is the generated godoc: [https://godoc.org/github.com/crillab/gophersat/solver](https://godoc.org/github.com/crillab/gophersat/solver)

<comment><AUTHOR> You're right, doc is very lacking for now. As Gys assumed correctly, when you work in the SAT solving field, using gophersat is very straightforward, but for a more wider audience, it is really lacking. A complete documentation and a tutorial about SAT for end users is a priority in the short term, but in a nutshell:

1\. You have a problem that can be represented as a propositional formula (i.e boolean values). For instance : you have three employees, and you must have at least one employee working at any moment, and a given employee cannot work both in the morning and in the afternoon. Oh, and employees a and c don't work very well when they are together. You can represent it this way :

        - e1-m means employee 1 works in the morning, e2-m employee 2 etc.
        - e1-a means employee 1 works in the afternoon, etc.
        - all those constraints (called "clauses") must be checked :
            - e1-m or e2-m or e3-m (at least one employee in the morning)
            - e1-a or e2-a or e3-a (at least one in the afternoon)
            - not(e1-m) or not(e1-a) (e1 cannot work both in the morning and in the afternoon)
            - not(e2-m) or not(e2-a)
            - not(e3-m) or not(e3-a)
            - not(e1-m) or not(e3-m)  (e1 and e3 can't both work in the morning)
            - not(e1-a) or not(e3-a)

So:

\- you have a set of clauses, and all clauses must be true,

\- each clause is a set of literals, and at least one of these literals must be true.

2\. In the DIMACS file format, you associate each variable with an integer value (so, e1-m is 1, e2-m is 2, e3-m 3, e1-a 4, e2-a 5, e3-a 6). A negative value indicates the variable is expected to be false (so, -1 means "not(e1-m)").

Then, each line represents a clause and ends with a 0 (for historical reasons). The above problem would be:

        1 2 3 0
        4 5 6 0
        -1 -4 0
        -2 -5 0
        -3 -6 0
        -1 -3 0
        -4 -6 0

The file starts with a prolog, which is `p cnf nb-vars nb-clauses`, so the whole file is

        p cnf 6 7
        1 2 3 0
        4 5 6 0
        -1 -4 0
        -2 -5 0
        -3 -6 0
        -1 -3 0
        -4 -6 0

And, when given that input, gophersat answers :

        SATISFIABLE
        -1 2 -3 4 -5 -6

Meaning "there is at least one way to solve your problem, for instance both 2 and 4 are true, everything else is false". So, e2 works in the morning, e1 in the afternoon, and e3 stays at home.

We will add, very soon, a facility function, to let the user submit this problem not only in a text format, but by providing a list of list of integers. Next step is providing user-friendly, higher-level input formats. Because, yes, providing DIMACS files for a given problem can be tricky and/or boring.

<comment><USER8> Do you have (or can you point me to) a good collection of these DIMACS files? That is, a good collection of representative SAT problems (and hopefully some pathological cases)?

<comment><AUTHOR> You have a lot of huge, real-wold (industrial) examples on the website of the SAT 2017 competition. Be careful, however, these files are really huge (zip files in Gbytes) and the CNF files come "as is", i.e with no explanation about the underlying problem: [https://baldur.iti.kit.edu/sat- competition-2017/benchmarks/](https://baldur.iti.kit.edu/sat- competition-2017/benchmarks/)

Classical one-player puzzles can be represented easily, and I'll include a tutorial and generators for those in the short run: sudoku and 8 queens, for instance. There's an article explaining how to represent the sudoku problem here : [http://sat.inesc.pt/~ines/publications/aimath06.pdf](http://sat.inesc.pt/~ines/publications/aimath06.pdf) (section 3).

As for pathological problems: the usual testcase for SAT solvers are random problems. They can be generated easily (I'll probably include a generator for them in the repository). You choose a number of variables , _n_ (around _n_ =300 things start to get interesting) and randomly generate _n x 4.2_ clauses (this is a sweet spot: less clauses and the problem tends to be easily solved, more clauses and it becomes easy to prove it cannot be solved). Those clauses must contain 3 literals, chosen randomly. Those problems are very hard to solve, even with a relatively small number of variables and clauses. But they are not that interesting in practice, because real-world problems are very different, they more structured and easier to solve.

</comment></comment></comment></comment><comment><USER9> You might also like to take a look at my boolean AST solver utility... I know nothing about SAT solving so it's probably rather naïve, but it was useful for me and takes AST as the input... So rather easier to use in some circumstances: github.com/dave/brenda

</comment><comment><USER10> Is it usually linear to reduce other NP-complete problems to SAT?

<comment><USER11> No, polynomial time. For reference, see these Wikipedia pages:

[https://en.wikipedia.org/wiki/Polynomial- time_reduction](https://en.wikipedia.org/wiki/Polynomial-time_reduction)

[https://en.wikipedia.org/wiki/Karp%27s_21_NP- complete_proble...](https://en.wikipedia.org/wiki/Karp%27s_21_NP- complete_problems)

</comment></comment><comment><USER12> Nice! SAT solvers reason about propositional logic, i.e., zeroth-order logic.

Next step: Reason about first-order and higher-order logic. For example, with a Prolog engine written in Go.

<comment><USER13> Now it's a race to claim the obvious name...

ETA: too late. [https://github.com/mndrix/golog](https://github.com/mndrix/golog)

<comment><USER14> Golorp is still available.

</comment></comment></comment><comment><USER15> Next step - SMT solver.

<comment><USER16> Or next step, answer-set solver.

<comment><USER17> constraint solver, pseudo boolean solver

<comment><AUTHOR> Pseudo-boolean is on the todo-list. Constraints too, but they will happen later.

</comment></comment></comment></comment><comment><USER18> What about performances versus minisat/glucose/lingeling/... Do you plan to parallelize it? If so, using which technique

<comment><AUTHOR> For the moment, it is in the sat4j ballpark. Parallelization will probably happen in the remote future.

</comment></comment><comment><USER19> I thought this would help me get a 1600 on my SAT :(

<comment><USER20> I'm about to make you feel old — the high score for the sat hasn't been 1600 for 12 years.

<comment><USER21> He's not that old! CollegeBoard changed it last year so that 1600 is the maximum again.

<comment><USER22> And now I'm old :(!</comment></comment></comment></comment>


Ingenic: a platform for human curation (Thiel Fellow project) - <AUTHOR> http://blog.ingenic.com/introducing-ingenic

<comment><USER2> Is it just me, or do the Thiel Fellow projects seem to suffer from hubris? I understand that the founders are young and a little naive, but instead of lofty claims like:

 _"No longer will we navigate endlessly in search of reliable content"_

 _"Ingenic is the next iteration in the expansion of connections online, enabling the connection of content into a singular consumption source. "_

... some substance would be more useful. In particular (and this is something that first year PhD students learn painfully), a survey of what's out there will show that obvious solutions have been tried and re-tried and failed, and (to quote xkcd), "I think you'll find it's a little more complicated than that..."

Makes me think about the guidance they're receiving...

<comment><AUTHOR> Ingenic co-founder here. I agree, the claims you quoted come off as sensational. We'll definitely be writing more substantial pieces soon. Our apologies -- email me at firstname.lastname@example.com i'm willing to share specifics.

<comment><USER2> Hi Brandon, I appreciate the quick response. I would, at the very least, work with a copywriter rather than formulating your own copy (there are plenty that will work for free, to build their portfolio). In the meantime, I look forward to the substance :)

<comment><AUTHOR> Thanks for the advice. I'll definitely look into it :)

</comment></comment></comment></comment><comment><USER3> Just make sure to rebaseline your strategic paradigm initiatives first. :-/

</comment><comment><USER4> is this what passes for product announcements these days?

</comment><comment><USER5> I wonder why this will not have the fate of other humanly-curated directories.

<comment><USER6> Well, some would say that HN submissions is a humanly-curated directory. And it is doing quite well, from what i've heard[1]

[1] <http://news.ycombinator.com/item?id=2401131>

<comment><USER5> Not a directory. Not even searchable</comment></comment></comment>


Engineer says Google fired her for notifying co-workers of right to organize - <AUTHOR> https://www.nbcnews.com/news/all/security-engineer-says-google-fired-her-trying-notify-co-workers-n1103031 <comment><USER3> > Kathryn Spiers, who worked as a security engineer, updated an internal > Chrome browser extension so that each time Google employees visited the > website of IRI Consultants — the Troy, Michigan, firm that Google hired this > year amid a groundswell of labor activism at the company — they would see a > pop-up message that read: "Googlers have the right to participate in > protected concerted activities."

So basically, the Google employee added arbitrary javascript to an internal chrome extension used by Google employees that triggered a popup when employees visited a specific website.

And Google fires her with the reasoning:

> "We dismissed an employee who abused privileged access to modify an internal > security tool," a Google spokeswoman said in a statement, adding that it was > "a serious violation."

I'm not at all opposed to Google employees organizing. But injecting javascript into an employer's internal chrome extension does seem like something that warrants some type of action by Google in response...

<comment><USER4> I agreed with this at first, but according to her medium post ( [https://medium.com/@ksspiers/google-fires-another-worker- for...](https://medium.com/@ksspiers/google-fires-another-worker-for- exercising-her-rights-and-protecting-coworkers-from-illegal-b86c41ef91b9) )

"Part of my job was to write browser notifications so that my coworkers can be automatically notified of employee guidelines and company policies while they surf the web"

If this is true and her job is literally to create javascript notifications of company policy, then I think it's entirely reasonable what she did considering it IS company policy (well, law really) that you have a right to organize.

Link to the popup: [https://miro.medium.com/max/2000/0*1BTVYLTvuHiJVvp_.jpg](https://miro.medium.com/max/2000/0*1BTVYLTvuHiJVvp_.jpg)

<comment><USER5> The extension is intended to inform Googlers of applications that are not approved for corp data, not just generic "employee guidelines and company policies." This is so you don't e.g. upload PII into a random unsecured S3 bucket.

Yes, it's company policy, but this is more like running into a meeting and then interrupting it so you can start reciting NLRB policy than it is posting a flyer. Worse, it misappropriates a security tool in order to do that. And when it comes to intentional actions that violate or undermine security, Google, like most companies, takes a pretty hard line.

Disclosing that I'm a Googler, and speaking only on my own behalf, with no connection to anyone involved except the fact that the extension is running on my browser.

<comment><USER6> >Yes, it's company policy, but this is more like running into a meeting and then interrupting it so you can start reciting NLRB policy than it is posting a flyer.

True, but it seems kind of shady to come down harder on an employee based on the content of the interruption, and that content notifying of the right to organize.

Like, imagine there's a documentation page for http cookies. Consider two scenarios:

A) Rogue employee adds to the bottom of the page: "Cookies are also delicious treats given as a reward on the internet."

B) Rogue employee adds to the bottom of the page: "Employees reading this are reminded of their right to organize under NLRA."

Let's say that in scenario A, an employee would typically get a written warning, and in B, you always got fired. In that case, I think it would be fair for B to say -- at least in common speech -- "I got fired for notifying employees of their right to organize."

This is true, even though there is a general policy of not adding non-topical messages to doc pages, because the punishment never escalates to firing unless it's something like scenario B. (In a legal context rather than common speech I don't know enough to say whether it would be legal.)

<comment><USER5> I'm sympathetic to this. But the fact that it's a security tool being misused is what I think made for the very harsh reaction. Two scenarios:

A) Rogue employee messages a bunch of internal email lists about having the right to organize

B) Rogue employee configures a security extension to issue a popup saying "Happy Birthday Sundar!" every time an employee visits google.com on June 10.

I am confident that A) wouldn't result in any formal adverse action (they'd mostly get a pile of nasty responses about spamming internal lists), and I am confident that B) would at the least earn the employee a reprimand and plausibly get them fired.

<comment><USER7> It's incredible watching tech people in this thread assert that she wasn't fired for union agitation but if she was, that's okay too because she should have known not to be "inflammatory."

<comment><USER8> We don't have all info on this though. Maybe there were more to it. If not, it follows US workplace culture and is unfortunate.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Did no one read the article?

> Spiers, 21, said she went through the standard approval process, which > requires two co-workers to greenlight changes, before updating the Chrome > browser extension. Another source at Google familiar with the update > approval process confirmed to NBC news that those two approvals are standard > practice for a browser extension update.

She did it exactly according to internal policy. The extension she updated warns site visitors on many websites. I do not see what she did wrong.

<comment><USER10> _> She did it exactly according to internal policy._

I don't think this person or the other organizers should have been fired, but code review is not the same as organizational approval.

(Disclosure: I work at Google, speaking only for myself)

<comment><USER11> It doesn't really matter if google would approve. There are a lot of activities that would not be organizationally approved, but are protected concerted activities and it would be unlawful to fire someone for.

<comment><USER10> As I said, I don't think any of them should have been fired.

But I don't think glossing "the change went through code review" as "She did it exactly according to internal policy" is helpful.

</comment></comment></comment></comment><comment><USER12> It feels weird for me to read comments in this thread debating about and assuming a simple note about unionization or organization by an employee whose job it was to do exactly this kind of thing is "not in good faith" or a "violation". In my mind this kind of thing has the same sentiment as _any_ policy notice. The world in which notifying people that they have the right to organize is a "violation" is a really messed up one. It's simply distributing a fact, as the company is legally required to do, published by an employee who was responsible for distributing exactly these kinds of facts. It's sad when this type of information sparks this kind of a) termination by the company of an otherwise apparently very well performing employee and b) controversy in a forum.

<comment><USER13> You can read her own words to see it wasn't in good faith:

[https://medium.com/@ksspiers/google-fires-another-worker- for...](https://medium.com/@ksspiers/google-fires-another-worker-for- exercising-her-rights-and-protecting-coworkers-from-illegal-b86c41ef91b9)

> _Recently Google was forced to post a list of rights that we have in the > workplace. So when I heard that Google had hired a union busting firm and > started illegally retaliating against my coworkers, I decided to make sure > that my coworkers knew about the posting._

She was mad at her employer and used her role to retaliate.

> _I created a little notification, only a few lines of code, that pops up in > the corner of the browser whenever my coworkers visited the union busters' > website or the community guidelines policy._

It only mentions the union busters' website in the OP but she also says it popped up a notification when people visited the community guidelines policy. That's pretty invasive, this is a notification everyone will see.

<comment><USER14> I agree with Drakonka that it's dystopian when being moderately assertive talking about labor rights is viewed as a reason to fire someone. Especially when these kinds of notifications have a history of being used to tamely spread information before ("Happy Birthday Sundar!" popping up when any employee visited google.com). Reminds me more of the rules for posting on a bulletin board.

Edit: "Happy Birthday Sundar!" didn't actually happen, my bad.

<comment><USER15> The issue isn't about discussing labor rights it's about abusing security tools for political purposes. A bulletin board is not a good analogy. A bulletin board is non-invasive. This tool creates pop-ups on people's browsers. Normally, these notifications are security or privacy warnings so displaying personal messages here gives it a false sense of authority. Furthermore, it looks like she used an e-push to do this:

> "She misused a security and privacy tool to create a pop-up that was neither > about security nor privacy," Hansen wrote. "She did that without > authorization from her team or the Security and Privacy Policy Notifier > team, and without a business justification. And she used an emergency rapid > push to do it."

[https://arstechnica.com/tech-policy/2019/12/engineer-says- go...](https://arstechnica.com/tech-policy/2019/12/engineer-says-google-fired- her-for-browser-pop-up-about-worker-rights/?comments=1)

<comment><USER14> I agree with you that the issue doesn't have to be labor rights. I agree that the emergency rapid push seems like a slight misuse.

I'm questioning the double standard of being able to use the tool to display company wide messages ("Happy Birthday Sundar!"). Why was the "Happy Birthday Sundar!" poster not held equally accountable? Seems like any topic management doesn't like is political speech.

Edit: The "Happy Birthday Sundar!" message didn't happen.

<comment><USER15> Was "Happy birthday Sundar!" made without consulting leadership and using emergency push to deploy it?

<comment><USER14> My mistake - the Happy Birthday Sundar thing didn't happen. I was looking for a source and realized I read a different comment in this thread wrong. I'll end my original post to reflect this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> From the engineer's medium post:

> For example, someone changed the default desktop wallpaper during the > walkout last year so that the Linux penguin was holding a protest sign. The > company has never reacted aggressively in response to a notification such as > this in the past. It's always been a celebrated part of the culture.

I suppose this was her mistake: ""It's always been a celebrated part of the culture"

Google clearly does not always operate in good faith with it's employees on labor relations issues. The correct approach for her to take would be to get written approval from her manager on the popup

Her job was supposedly to "write browser notifications so that my coworkers can be automatically notified of employee guidelines and company policies while they surf the web", and this was supposedly a notification of one such company policy, but it was naive to think she could just approach her job in good faith and be treated in good faith. BigCorp follows the law of the jungle, and workers are not unionized at google so every engineer has to cover his or her ass before treading into contentious waters.

For what it's worth, after reading both points of views I think her actions were highly reasonable. But I would never implement that kind of notification like she had done, not without written approval from my boss and maybe my bosses' boss to cover my ass.

<comment><USER16> > But I would never implement that kind of notification like she had done, not > without written approval from my boss and maybe my bosses' boss to cover my > ass.

If this is something that goes through your mind, the organization you are at is broken and probably dangerously hostile.

<comment><USER4> No, this is just the truth of working at BigCorp. Most engineers can pretend office politics doesn't exist because they're working in primarily nonpolitical roles. But office politics exists, for any office. And unionization is political.

<comment><USER17> How is a big corporation exclusive from being "broken and probably dangerously hostile"? It seems likely that they all are.

<comment><USER4> Ok. I perhaps unfairly was defending against the comment "[more] broken and probably dangerously hostile [than other comparable organizations]"

</comment></comment></comment></comment></comment><comment><USER18> I was initially tempted to side with Google, a code review process is not just rigorous enough for catching features being sneaked in.

However, it looks like the sole purpose of the extension is to warn employees about security issues in websites, and this engineer coopted that to show a union forming message.

The final paragraph suggests that there's legal precedence for doing this:

"You're allowed to put posters up on the wall to help organize your workers, and this can be seen as kind of a digital extension of that," said Veena Dubal, a professor at the University of California's Hastings College of the Law in San Francisco. "Whether or not you're in a union or there's a union being formed, the law protects organizing activities by employees in the workplace organizing to improve their working conditions."

<comment><USER19> But everyone's laptop is NO public place, and this extension is installed under the endorsement and requirement of the company.

For someone who doesn't agree with her message, this is best case to shove a message down your throat, worst case a security breach to their computer.

<comment><USER20> How is it possible to disagree with the message "You as an employee have a right to engage in protected concerted activity?"

This is just a legal fact.

</comment></comment></comment><comment><USER21> >Kathryn Spiers, who worked as a security engineer, updated an internal Chrome browser extension so that each time Google employees visited the website of IRI Consultants — the Troy, Michigan, firm that Google hired this year amid a groundswell of labor activism at the company — they would see a pop-up message that read: "Googlers have the right to participate in protected concerted activities."

You should get fired five times over for abusing your privileged access to modify software that runs on every employee's computer. How stupid can you be? Start a healthy discussion, don't violate trust. This just puts up a bad reputation for workers who do want to organize

<comment><USER22> Did you not read the part where she did, where she followed the process by the book and it was approved? Or did you just have your mind made up to decide to side with Google instead?

<comment><USER9> I'm honestly a little surprised (and worried) about all the commenters who argue Google is in the right here.

<comment><USER23> Of course Google is right. She happened to get two coworkers to approve what she was doing.

If I got a manager who I was friends with to approve my purchase of a fully decked out $53K Mac Pro so I could finally use Slack at a decent speed when I am working from home, wouldn't you think there was something fishy?

<comment><USER24> Since you can't spend 53000 dollars on a Mac laptop last I checked, yes! However the whole purpose of a managerial hierarchy is to establish a responsibility chain so at very least I would expect the manager to also get fired.

Google doesn't care about these antics. They, like all employers, don't want their employees to have meaningful bargaining power.

<comment><USER25> They did say Mac Pro:

[https://www.hardwarezone.com.sg/tech-news-fully-spec- apple-m...](https://www.hardwarezone.com.sg/tech-news-fully-spec-apple-mac- pro-price-singapore)

Taking into account the exchange rate that works out to about 55K USD.

<comment><USER24> Whoops you're right. I misread.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> Spiers' account of what happened: [https://medium.com/@ksspiers/google-fires- another-worker-for...](https://medium.com/@ksspiers/google-fires-another- worker-for-exercising-her-rights-and-protecting-coworkers-from- illegal-b86c41ef91b9)

<comment><USER27> Thanks for the link. This section caught my attention:

> I was interrogated about separate other organizing activities, and asked > (eight times) if I had an intention to disrupt the workplace. The > interrogations were extremely aggressive and illegal. They wouldn't let me > consult with anyone, including a lawyer, and relentlessly pressured me to > incriminate myself and any coworkers

Sounds more foxconn than Google to me...

<comment><USER28> I don't understand this "wouldn't let me" stuff. Pull out your phone and call someone. Some random person in a meeting room at Google isn't the police. You aren't in custody. If you're uncomfortable then walk out. If anyone at my employer was the least bit aggressive to me I would immediately walk away.

<comment><USER29> Yes, but they are paying you. There's a power dynamic there, even if you aren't literally in custody.

</comment></comment></comment></comment><comment><USER30> I'm not a lawyer, but on the surface this seems clearly illegal on Google's part based on the National Labor Relations Act of 1935. Does anyone know of any similar cases to this?

EDIT: Found one in _Purple Communications_. It was ruled workers can use work email to organize. [https://www.littler.com/nlrb-creates-right-use-corporate- e-m...](https://www.littler.com/nlrb-creates-right-use-corporate-e-mail- organize-and-complain-about-work-ten-key-implications)

<comment><USER31> It's significant that she did this on her own. You need multiple people for protected concerted activity.

<comment><USER32> It sounds like she went through a code review process for the change, would that count?

<comment><USER27> While this does not mean higher-ups _approved_ her messages, it _does_ show that she did it by the book.

If the higher ups felt this message was inappropriate and should be removed they could follow the same procedure instead of firing the engineer

<comment><USER32> Edit: I agree.

<comment><USER27> I know, I am agreeing with you :)

But alot of people in the comments claim that she more or less hacked the system.

<comment><USER32> Sorry, my mistake :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> The irony of this is that Google's increasingly abusive behavior towards people talking about organization is that they're actually building a case for engineers to unionize to stop Google from these questionably legal firings.

If Google upper management had just shut up and kept the status quo and recognized that without impetus, comfortable workers almost certainly won't organize in America, then the unionization of Google would not be a national topic.

But here we are, with holdout reactionary bro's who ate the Ellison/Jobs/Schmidt wage-fixing cartel line about how evil unions were (even as they organized to oppress workers) in positions of power opening up the company (and thus the company's stock) to huge liability.

</comment><comment><USER34> I'm not anti-union, but come on, modifying an internal security tool to display a politically motivated message? That would get you in trouble anywhere. Also.. managers are humans. You can't provoke people in such a way and not expect a response.

Speaking of provocation: I suspect she might have done this to intentionally get fired. It wouldn't be the dumbest play, she's super young (21), if she doesn't want to code anymore she could use the exposure to parlay this into a new career, and if she does want to still code, she probably made some new supporters and her detractors will factor in youthful indiscretion. Wild speculation sure, but, you just read a big press article about it... Where do you think the tip came from? This isn't the kind of move you make if you intend to stick around at a place.

<comment><USER35> Also the people arguing for giving the employee a "talking to" instead of firing I think are not considering the game theory aspect to this.

If the precedent is "a talking to" with future offenses resulting in a firing, then smart Google employees will realize that they can create an internal activist email list, get new hires to join it, and then when an opportunity for activism presents itself get an employee with a clean record to perform the activism, rinse repeat.

Of course the message in this case wasn't terribly harmful, so I'm sympathetic to the argument of "it's not such a big deal". But the problem is, Google doesn't want to wait for the big deal (for example a chrome extension change to search exec's TextAreas for keywords a "whistleblower" might want to report on) to actually happen and then fire them. They want to prevent employees from thinking they should ever try doing that in the first place which means putting the foot down before the inevitable happens.

<comment><USER34> Yeah, in terms of what she did I would agree it wasn't terribly harmful; and I applaud her for taking a principled stand. I just don't really blame management for saying: that was a step too far, you're out. I mean, unionizing is a super sensitive topic at any company, and by adding the message to the tool it added extra weight to the message by making it look like it was endorsed by the higher ups, rather than being a message from a 21 year old. There's no way management is going to be happy that someone is essentially acting as their voice on a topic that is very sensitive.

</comment></comment></comment><comment><USER14> > They also dragged me into three separate interrogations with very little > warning each time. I was interrogated about separate other organizing > activities, and asked (eight times) if I had an intention to disrupt the > workplace. The interrogations were extremely aggressive and illegal. They > wouldn't let me consult with anyone, including a lawyer, and relentlessly > pressured me to incriminate myself and any coworkers I had talked to about > exercising my rights at work. [1]

Why was this necessary by management? Regardless of what Kathryn did, this is a bad faith move by management.

[1] [https://medium.com/@ksspiers/google-fires-another-worker- for...](https://medium.com/@ksspiers/google-fires-another-worker-for- exercising-her-rights-and-protecting-coworkers-from-illegal-b86c41ef91b9)

<comment><USER36> "They wouldn't let me consult with anyone, including a lawyer"

Yikes, that feels so dystopian to me...

</comment></comment><comment><USER37> I think the relevant test is here:

"Kathryn Spiers, who worked as a security engineer, updated an internal Chrome browser extension so that each time Google employees visited the website of IRI Consultants — the Troy, Michigan, firm that Google hired this year amid a groundswell of labor activism at the company — they would see a pop-up message that read: "Googlers have the right to participate in protected concerted activities.""

It sounds like the person updated an internal extension on everyone's computer to do this. I am tending to side with Google on this, that is not the right way to go about notifying co-workers of right to organize.

</comment><comment><USER5> I feel like, for consistency, if she committed a firable offense, so did her coworkers who LGTMed the CL, unless she intentionally deceived them about having gotten organizational approval.

My gut is that if she had spammed a bunch of internal mailing lists, she'd not be being fired or even getting a formal reprimand. But the fact that she hijacked an internal security tool for an unintended purpose is alarming. I am fine granting Google rights to run arbitrary code on my browser, but only because I know it has strict processes (including disciplining of employees who subvert the process) to manage submission and deployment of that code.

My preference here would have been for her to get a rebuke and an explanation of why this was bad behavior (unless these ad hoc non-security related messages are common), especially since she's young. But there is a core assumption and trust that is violated when someone abuses control of trusted client code to do something unapproved by organizational review processes.

Most of my anger is directed at the approving coworkers, since they should know better, assuming they are more senior than her.

</comment><comment><USER38> > Kathryn Spiers, who worked as a security engineer, updated an internal > Chrome browser extension

> "We dismissed an employee who abused privileged access to modify an internal > security tool," a Google spokeswoman said in a statement, adding that it was > "a serious violation."

The only times I've ever seen people fired quickly in Tech without a performance improvement plan or something similar is a security violation. Be sure you always take security seriously if you like your job.

<comment><USER39> one time i was fired for leaving my computer unlocked to go get some coffee. true story.

<comment><USER40> Which is pretty dumb. The most important threat to a typical office dev computer is not console access, it's wayward processes and network traffic. What's more secure, a locked console (that protects you from ~1 local people that you know) or something like Little Snitch, which protects you from ~10e6 people you don't know?

<comment><USER41> I've worked in security for years. This isn't really true. The majority of all security breaches are caused by internal threats, not by some hacker group breaching your firewall. Malicious actors tailgating someone into an office and stealing an unlocked laptop, or an unlocked laptop being stolen while at a coffee shop or airport, is also a very common occurrence I've seen at most of my clients.

<comment><USER40> The thing is its easy to see that someone stole your machine and take action to revoke credentials. Further, the damage a person can do with a dev machine is rather limited - probably the worst that might happen is exfiltrating code. Yes, devops machines can do more damage, but presumably all their remote access is 2FA protected (at least). But a devs main influence is pushing to a git remote, and triggering a build. Maybe the build is a weak spot, but it seems unlikely that an attacker would find and exploit it faster than the defender would realize the box is gone and revoke keys.

No, my main concern is ongoing, persistent, secret access to my machine, particularly delivered via a malicious package. Something like Little Snitch is going to make it much harder for such an attack to work. Locking your machine, 2FA, PKI, etc is not going to help with that threat _at all_. And I have reason to believe it's more common than people think.

<comment><USER41> >probably the worst that might happen is exfiltrating code

This is far far from the worst that might (and does) happen. I think you _severely_ underestimate the average dev's access to critical systems.

>but presumably all their remote access is 2FA protected

hahahahahaha

You also severely overestimate the security of most companies. A lot of F500s don't even use 2FA _at all_ , let alone on something like CI/CD.

> unlikely that an attacker would find and exploit it faster than the defender > would realize the box is gone and revoke keys

I have firsthand seen many cases where this isn't true at all. OTOH, I've never once heard of anyone catching a breach by using Little Snitch or anything close to it (though I'm not opposed to it at all as a good practice).

And in many cases, it has very little to do with "revoking keys" or any kind of remote access. Many people, whether they realize it or not, usually have some very valuable data just sitting in a csv file on their machine (I've encountered a large number of devs that have partial exports of customer databases stored locally on their machine that they were using for local testing). That type of stuff is easily lifted, no remote access required.

<comment><USER40> We're talking about Google.

<comment><USER41> This comment chain started off by talking about getting fired from tech companies, not specifically Google. But okay.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER42> It looks like Kathryn posted her side here - [https://techcrunch.com/2019/12/17/google-has-fired- another-w...](https://techcrunch.com/2019/12/17/google-has-fired-another- worker-activist/)

A few interesting tidbits: 1\. She received extraordinary performance ratings during her short time at google, and got promoted recently 2\. Google has not acted this aggressively in the past, where someone deploy a change in people's Linux wallpaper while the protest happened. 3\. She limited the notification to just people visiting the union busting firm

Given those, it does looks like an unusually aggressive response from Google, which would imply that Google has become very aggressive when it comes to unions.

With that said, it is also mentioned in her post that it took several weeks of investigation from Google until they made the final call, which could imply that there is more of a back story here.

</comment><comment><USER43> I see contradictory impressions about what this article is even saying.

My contribution is that it's foolish to react too quickly to a story like this.

If the headline were accurate, it would be such an obvious own-goal on the part of Google HR, it beggars belief.

I think the wise course is to wait until more details are made public before getting worked up about it.

<comment><USER44> Of course we should wait for more facts to comment or try to think about the situation, but we don't live in a era of reason anymore.

All I have to say is that it will be interesting to see a drastic change in culture in the coming years at Google. Google did foster an "open" culture for more than a decade and now that their own employees are coming after the higher ups, they are trying to squash the rebellion they encouraged? they were fine as long as other employees or other businesses were getting the short hand of the stick...

</comment></comment><comment><USER45> Lot of people are confusing "following standard procedures" with "immune from consequences". To be honest, looks like the employee got a few sympathetic people to sign off on an inappropriate use of a tool. According to the Verge, there are two other people who are also being disciplined.

<comment><USER46> I'm starting to assume the two others are the two peer reviewers that approved the change.

</comment></comment><comment><USER47> I'm constantly baffled by how anti-union many Americans are, how willing to give up their rights.

<comment><USER48> My impression of these tech unionization efforts are that they're mostly about pushing a social/political agenda, with workers rights being an afterthought.

Every single time I see these posts the involved employees are activist LGBT folks.

Am I wrong here? Why do all these issues seem to stem from the same group of people?

<comment><USER49> That's a great question. Are you familiar with the historic treatment of LGBTQ+ folks?

<comment><USER50> Historically big tech companies are treating their LGBTQ+ folks the best in comparison with any other industry though

I guess it's not enough

<comment><USER49> Have any info to back that up? And just because an entity is the best at something doesn't mean they are good at it.

</comment></comment></comment></comment></comment><comment><USER46> Bad headline. It should read "Engineer fired her for abusing privileged access to modify an internal security tool."

That's a pretty dumb way to notify co-workers of their right to organize, but I guess it's a really good way to get fired and draw up a big media stink about it.

<comment><USER51> She didn't abuse anything. She followed the standard process and she created the alert on the appropriate page (labor relations) to inform people of company policy: [https://miro.medium.com/max/1000/0*1BTVYLTvuHiJVvp_.jpg](https://miro.medium.com/max/1000/0*1BTVYLTvuHiJVvp_.jpg)

</comment></comment><comment><USER52> > "You're allowed to put posters up on the wall to help organize your workers, > and this can be seen as kind of a digital extension of that,"

Well, that digital extension belongs to Google. If she wanted to rally company developers she could have used email, created her own website, slack account, WhatsApp, telegram, etc. There are plenty of channels that don't belong to Google.

I doubt anyone in upper management asked her to do this, maybe she took too much freedom and abused her privileged access? "Oh but someone else approved that PR", well probably they ganged up.

She is a Security Engineer, not HR/Management.

If this approved by HR/Management, there would be no problem at all but I think she/they did whatever they wanted without thinking about it.

<comment><USER53> As an employee, you have no right to put up posters anywhere in the workplace unless condoned by your employer. She must be conflating this concept with the requirement for your _employer_ to put up posters informing employees of their rights to unionize when there's a unionization effort.

</comment></comment><comment><USER54> It sounds like she coopted a security tool to spam users with a political advocacy message.

Hard to see why she shouldn't be fired for that.

Of course she has the right to express that message, and it seems to be factually correct. But that doesn't mean she can use a security tool to spam people.

</comment><comment><USER55> The article is confusing. She says she was fired for doing one thing. Google says she did something else (modified Chromium without permission). Does she deny their claims, or is her statement just spin? Given just her quotes you would think that she was fired for literally telling coworkers that they have a right to organize.

<comment><USER22> Did you not read the part where she did, where she followed the process by the book and it was approved? Or did you just have your mind made up to decide to side with Google instead?

<comment><USER55> Nope, I am not siding with Google, if you'll see my other comments in this thread. It's just not super clear to me that there's agreement on what actually happened here.

</comment></comment></comment><comment><USER56> This is an old labor issue, but it used to revolve around handing out union flyers at work and posting on company physical bulletin boards.[1] That's generally allowed by law for labor activity, even if the employer doesn't like it. How this translates to online activity isn't entirely clear yet. But courts will make that analogy.

An employer who tried to pull this in 1970 would have had a picket like outside the door the next day. Union truckers wouldn't deliver to their loading dock.

[1] [https://www.jacksonlewis.com/resources- publication/employers...](https://www.jacksonlewis.com/resources- publication/employers-discriminatory-and-overbroad-restrictions-union- activity-violate-nlra-court-rules)

</comment><comment><USER57> I can not seem to find any energy to be against Google here, a 21 year old individual working at one of the most prominent and successful business in the world, making more money per year than a vast amount of the global (not to mention national population) does something that will certainly subject her to reprimand and I am expected to feel some negativity toward Google. I am stuck outside of SV, as a middle age person with many, many hundreds of commits to open source projects, a descent of non-professional experience in software engineering, but because I do not have a BS or Masters in computer science and am over the age of 35 there is no chance I can ever get hired at Google (or any other FAANG realistically). If some of these ardent unionization workers end up fighting loudly and publicly and Google decides they will not deal with some nascent Software Engineer's Union, maybe I and people like me stuck outside the valley will be able to gladly make boat loads of money working long hours for these thankless corporate taskmasters, while just sitting down and doing our jobs on whatever the company decides it wants to spend its money on, I will gladly work on Maven or Dragonfly or dark as patterns, whatever, I just want to be relevant to the industry not stuck away doing the same job for peanuts until I can afford to retire.

Rant over - but seriously, I don't have a problem putting aside any personal feelings or beliefs to achieve my employers goal, that is what employment is. Spiers apparently decided that the security position allowed for this action and did it. Google did not want this type of behavior from an employee in that position. She knew Google management wasn't going to approve, she assumed that risk.

</comment><comment><USER58> These efforts will be broken up. No matter the cost. A google beholden to unionized employees is a threat to the establishment. Where google goes other companies go. A democratized tech space is the last thing power wants.

</comment><comment><USER59> I interviewed at Google last week and asked 3 of my interviewers if the constant churn of bad news from the outside gets to them.

For the most part, no one seemed concerned and the biggest complaint was regarding leaks which make it harder to deal with issues internally and threaten transparency.

</comment><comment><USER60> I don't know why anyone would choose to work at Google anymore.

<comment><USER61> Giant piles of money.

Probably still gets you an easy CTO title at a startup after 2-4 years at Google.

<comment><USER62> > Giant piles of money.

Not anymore, really. It was the case a couple of years ago but right now, for rank-and-file employees, Google downlevels heavily and targets around 80% of the market rate. For some reason, people are still flocking at their doors and because of high supply of candidates, they can afford to be both very selective and very cheap.

<comment><USER63> Probably still a net plus if you have Google on your resume and decide to look elsewhere.

<comment><USER62> that's what 'my' (as it's the same person pinging me for the past couple of years) recruiter keeps telling me. It's not a net plus considering that I can just look elsewhere in the first place. No point in taking a paycheck cut for a while to do some boring work for a company about which I have ethical concerns so that maybe when I want to change jobs I'll have a competitive edge.

</comment></comment></comment></comment></comment><comment><USER64> When I read this, and the other one, the only idea that I can come up with is that everyone is lying, at least a little bit.

It seems pretty unlikely that it would be within your job description to create notifications like this on specific websites, and from reading the blog post and the content here, it seems like these notifications are not meant for "company policies" whatever that means, or at the very least it doesn't make sense why a "security engineer" would have a job that notified employees about this.

So, the assumption therefore must be that this person knew they were going out of the norm, but assumed it was acceptable or protected speech.

That raises a good question: Is it the same thing as a message board? My gut instinct is... no, it really isn't.

This sounds like a tool that requires a specific level of authority to use (you need 2 approvals). Not just anyone can put notifications like this in the tool! So this isn't like a message board... this sounds like it was a person abusing their privileges.

Now, for me the next question is: does that mean they should be fired? Personally, I'd say... no. It shows bad judgement, but firing seems disproportionate. In that regard, even if it was a misguided attempt at using their organizing rights, there is an argument to be made that they shouldn't be fired for it (maybe warned, but not fired). So I think even though it sounds pretty fishy, I think there is likely still a possible case here for workers rights issues (though I am not a lawyer).

</comment><comment><USER65> Had this been an isolated incident, I would maybe have been on googles side here, but this is happening in the context of many other anti-union efforts by management

</comment><comment><USER66> I see no issue here. Business feels threatened and neutralizes threat.

There's nothing wrong with Unions, but there is something wrong with government-backed unions.

Let people collectivize if they'd like. Collective bargaining is fine, and you aren't living in a free country if you can't collectively bargain -- but collective bargaining shouldn't mean you automatically get government as an ally.

The battle between Union and Company should be between Union and Company.

</comment><comment><USER67> I'm glad not to be working with people like this. I think I really don't want to be working with people who want to push their pet topic on me via a security tool I consented to have installed on my work machine that's supposed to be helpful to me.

It would feel like a violation. Not "siding with Google" here. It just definitely would feel like a violation of my trust in the platform engineering team. At that point, I want them to promise not to do it in future, or get their software off my machine. And to be honest, relations are going to be strained between us anyway. I'm not going to be thrilled about any further software.

I don't even want reciprocal "I can push to you" powers. And I have no problem discussing these things where we agreed to discuss them.

But letting you install software on my machine comes with an obligation - <USER2> don't get to use that as a backdoor soapbox. Feels so very icky.

Like if a friend told me she would like to stay over and I gave her a key and she decided to plaster my home with posters. It doesn't matter if the posters are against the freaking Holocaust. I'm not pro-Holocaust and I'd want the friend to leave. Pronto.

</comment><comment><USER68> This as a whole just doesn't look good for Google/Alphabet, but then again the optics of a lot of their choices lately have looked very poor from the outside looking in.

Honest question for long term(4+ years) Google Engineers reading... has the change in culture and bad press lately had any effect on your feelings towards your employer? Do you think it is eroding their culture at G? Do you see any of this leading to a loss of talent?

</comment><comment><USER61> > IRI Consultants — the Troy, Michigan, firm that Google hired this year amid > a groundswell of labor activism at the company

Anyone know the likely reasons your average Googler might have visited this consulting firm's site? Like, was Google sending employees to it for some reason (why?), or would it have just been by chance or because they read Google hired them in the news and wanted to see what they were up to?

</comment><comment><USER69> Moral of the story: don't use internal security tools at your work as a platform for your political activism.

Totally agree with the spirit of what she did and applaud her efforts to organize, but there's no way she didn't know what she did could get her fired. What did you think would happen when you made unauthorized changes to software that promote actions against the company's interests?

Not saying the company is a blameless party (especially after the news today of their expiring cloud business, this is clearly a shady company), honestly, I'm not even commenting on the substance of what she wrote.

This just seems like something that anyone with half a brain would realize could get them fired before they deployed those changes.

I still feel bad when anyone loses their job and source of income, and maybe a reprimand would have been more balanced given her high performance reviews before, I just can't see any context where this is seen as neutral or ok.

</comment><comment><USER70> > Google's response to this was to suspend me immediately and without warning. > This was the week of Thanksgiving, the same day they fired the Thanksgiving > Four. They also dragged me into three separate interrogations with very > little warning each time. I was interrogated about separate other organizing > activities, and asked (eight times) if I had an intention to disrupt the > workplace. The interrogations were extremely aggressive and illegal. They > wouldn't let me consult with anyone, including a lawyer, and relentlessly > pressured me to incriminate myself and any coworkers I had talked to about > exercising my rights at work.

</comment><comment><USER71> She should have just put up flyers in the women's bathroom stalls. If Google is anything like my old workplace, there's no chance any management would've seen it...

</comment><comment><USER72> It _seems_ to _me_ that Google fired Ms. Spiers specifically to discourage future labor organizing activities within Google. Because it was a process- approved insignificant revision by both functional change and reach means that the inevitable Streisand effect actually plays in Google's favor. They will be perfectly happy with any slap on the wrist as long as it moves the eventual union further down the road.

</comment><comment><USER73> Does anyone have the code approval process?

The chrome extension was modified but approved by two other people? Were these two other people on her side?

Regardless of policy or no policy, having an internal tool modified to say, "we have the right to organize," clearly sets off some trust concerns with me.

If this extension was approved by two people who were on her side, then those two need to be removed as well and there should be a rethinking of the approval process.

<comment><USER27> I believe this is an internal toy updated very frequently. It's by no means a "product":

> This kind of code change happens all the time. We frequently add things to > make our jobs easier or even to just share hobbies or interests.

</comment></comment><comment><USER74> >"We dismissed an employee who abused privileged access to modify an internal security tool," a Google spokeswoman said in a statement, adding that it was "a serious violation."

This doesn't sounds like privileged access, it sounds more like they have issues with their pipeline. If all what it takes for code to get in Production(even if it's internal), is at least two approvals, I think that's a bigger problem.

<comment><USER75> Partially true, her code reviewers should have said, 'hey - that popup isn't the point of the . tool' and nixed it there.

She was a member of the group maintaining that toola and abused her authority for a personal crusade; hence terminated.

</comment></comment><comment><USER76> I'd call this bold.... ideals aside, maybe she calculated how much she'd win in the lawsuit? Possibly a large net win?

</comment><comment><USER73> I've decided that if I'm at work, please keep me out of your protest. Let me decide how I want to react to a company policy my way. Don't violate the trust given to your team of managing my work tools to inject your political/social objections. Organize outside of work.

</comment><comment><USER77> It is a right of a juror to say that the defendant is innocent even though the law says otherwise (jury nullification). But trying to inform jurors about that jury nullification right can get one into a very hot water.

</comment><comment><USER78> The message in the popup was:

"Googlers have the right to participate in protected concerted activities."

which seems pretty reasonable since her job is literally to place notifications of what employees legally can and can't do when visiting websites.

</comment><comment><USER79> One thing this thread has made me realize is that the work culture (at least of Googlers on HN) seems to kowtow to the company over the employees. Really affects my view of the company.

<comment><USER80> Is there a major company, tech or otherwise, that breaks this convention?

</comment></comment><comment><USER36> In the end, how much would unionizing hurt Google's shareholders/executives? Surely they have enough riches already, why not allow the employees to improve their lot as well?

</comment><comment><USER81> I think it is incredible that she is 21 and already fired by Google.

</comment><comment><USER82> The method in which she tried to notify co-workers is the real headline to me. It tells me that they really struggle to be able to communicate broadly with co-workers.

<comment><USER83> But that's so untrue. Google internally has a number of different platforms with universal reach.

</comment></comment><comment><USER84> > I was doing nothing more than notifying my co-workers about Google's > obligations under labor law

> Kathryn Spiers updated an internal Chrome browser extension so that each > time Google employees visited the website of IRI Consultants — the Troy, > Michigan, firm that Google hired this year amid a groundswell of labor > activism at the company — they would see a pop-up message that read: > "Googlers have the right to participate in protected concerted activities."

Yeah ok.

<comment><USER85> This extension popping up messages on various sites was a completely normal thing for it to do, she simply added another message.

<comment><USER75> unrelated to actual purpose of the tool; she co-opted internal security tool for a personal soap box and pushed it to the entire company. That's a clear violation of trust in her job role.

</comment></comment></comment><comment><USER86> Kinda stupid question, but why are people that want to unionize in Google dont? Is there a certain limit, requirements?

</comment><comment><USER87> How come this is so low on the front page? It was posted 4 hours ago and has accumulated 607 points...

</comment><comment><USER88> How does one get to update a Google extension (internal tool) at 21 without any other oversight?

</comment><comment><USER89> arguing about the minutiae of whether google acted in accord with their own policies is exactly what google wants to happen here. She was fired for organizing. Google found a valid excuse to fire her but make no mistake, she was fired for organizing.

</comment><comment><USER90> This will be a great lawsuit and exploration of the right to organize in the digital age.

</comment><comment><USER91> Eventually these political types will convince google it's not worth hiring them

</comment><comment><USER92> Bring your whole* self to work.

* but please leave some tiiiiny little bits home

</comment><comment><USER93> The can has been opened, i doubt it will stop with this. Any opinion that is not the companies position will not be tolerated. I bet the people who encouraged Google to "act" of opposing views did not think it through

</comment><comment><USER94> You can do all the things you want that are against the company, but it doesn't mean you have a right to continue to work there...

</comment><comment><USER95> Let the freemarket decide! If people don't like this then they can stop working for Google or using their products.

</comment><comment><USER96> I think a lot of people are missing the bigger picture here and are too zoomed in on the specific issue of unionisation. Google really had no choice here, and it's actually a problem for them that this is coming out now via a blog post by the fired employee and not by their own admission.

Google is in a phenomenally trusted position in the world. Chrome is the most popular browser. It auto updates silently and continuously, as do installed extensions. Vast swathes of information and infrastructure is accessed via web apps. We tend to forget that browser makers have access to all our authentication tokens and can do whatever they like.

Put simply, given the level of web dependence in our lives and infrastructure, those who can modify browsers are practically gods. The same goes for operating system developers of course.

We don't think about this because our level of trust in those developers and the corporations they work for is extremely high and deservedly so: after decades of using operating systems and web browsers they've never violated that trust. In fact they've reinforced it by rolling out encryption to block rogue government departments who were exploiting the lack of it, they've invested heavily in security to lock out hackers and done many other great things.

But trust is hard to build and easy to destroy. What if browser makers stopped being so trustworthy? What if they started to become convinced of their own superior morality, the correctness of their political judgements, the importance of their role in the world? What could they do?

They could use SafeBrowsing to arbitrarily censor the web.

They could edit out individual comments, rewrite news stories, insert their own views into the middle of documents purporting to be neutral. They could distort your view of the web at will.

They could violate our privacy at will by linking our identities together and then publishing what we've written, they could publish browsing logs, they could take over any accounts we have and use them for whatever purposes they like, they could feed sensitive information to political enemies to give themselves plausible deniability, they could even frame us by posting illegal material under those accounts. It'd just look like someone phished the password.

They could do many other things we never even considered.

Google absolutely needed to go nuclear on this employee. The news has been filled over the past years with stories about Googler's increasingly hard-left political activism. As a consequence some users and even politicians have started to wonder if Google Search is trustworthy, but their trust in browser developers is so total, so blind, the world hasn't yet taken the next mental leap and started to wonder if Chrome is. Mozilla is hardly in a better position: it's funded by Google and literally just down the road from them. If the integrity of the Chrome devs start to be doubted, few will consider Mozilla devs to be radically different.

Inserting political JavaScript via browser security mechanisms targeted at Googlers, even if it may _seem_ fairly harmless in this case, is a very problematic situation and a slippery slope Google simply cannot afford to go near. It raises fundamental questions, like are Google's internal procedures robust? What else might have been slipped through code review already? Are Google employees only adjusting their own tools or did some already start to abuse their access to people's private data and systems? How many of them feel the ends justify the means when dealing with political causes they feel passionately about?

How safe is Chrome, really?

<comment><USER97> She didn't weaponise a neutral extension. The extension was already weaponised. It already pushed notifications to users when they visited flagged URLs. She probably just changed a config file to add a new rule and message, 1 line.

<comment><USER48> >It already pushed notifications to users when they visited flagged URLs.

Did it push notifications with a particular political message? I don't think it did.

<comment><USER35> If the employee had added a message,

"You have the constitutional right to keep and bear arms" when employees visited cabelas.com, would you call it a political message?

Both are simply informing people of their rights.

<comment><USER98> Yes I would call it a political message.

</comment></comment></comment></comment></comment><comment><USER99> More like fired for pulling a stupid stunt that she's now trying to turn into a press release.

</comment><comment><USER100> So are you guys seeing unionization efforts picking up any steam?

I've seen it reach the collective conscious more in the last two years in San Francisco, but I'm not at a FAANG to see if its really permeating. As in at a bar or courtyard it might not be the most outlandish topic of conversation, compared to an idea immediately scoffed at since all of us made conscious financial decisions to pursue high paying jobs without union dues. People are curious about the benefits.

My only observation is that multiple of the largest publicly listed companies in the world are right here, and that the high compensation has nothing to do with what's possible. If compensation reached ratios with housing that haven't been seen since the 1980s, then the compensation would still be substantially higher on average than it is today. For reference, it means fully owning your house in 5 years. Not the 8-11 year situation that even highly compensated FAANG workers experience. But compensation may or may not improve with unionization, with the reality that higher comp outliers might disappear. The employees may have more say in other perks such as the company towns their employers have created in south bay. Overall at this point I am seeing net benefits, distinct from the public sector blue-collar work that unions have become associated with.

</comment><comment><USER101> Google getting a taste of ad injection. Nice!

</comment><comment><USER102> "a poster in the cafeteria is not the best way of reaching the majority of Googlers."

I heard the food had gotten bad, but I didn't know it was this bad.

</comment><comment><USER103> According to their linkedin, they graduated highschool in 2015.

<comment><USER104> I just don't get the internet anymore. You're avoiding using gendered pronouns but needlessly displaying ageism?

<comment><USER103> You must be missing the point of the internet. I don't see a problem here; Only you made graduation year and age the proxy.

Why would the engineer reveal their HS graduation year if they didn't want the world to know it? I considered that they must have had little experience considering their graduation year and the average or even above average experience of those graduating the same year.</comment></comment></comment>


Reconing Reflections - <AUTHOR> https://avc.com/2019/09/reckoning-reflections/ <comment><AUTHOR> This is typical investor 'all about the numbers and margins' as a way to build a business as opposed to the actual product or the quality of the customer experience which is what makes the business valuable.

This in particular:

> Apple and Amazon were put forth as great lower margin businesses. Amazon is > a roughly 25% gross margin business and trades at a little over 3x revenues. > Apple is a roughly 40% gross margin business and trades closer to 4x > revenues. I think that emphasizes the point that revenue multiples ought to > reflect gross margins.

Completely avoids mentioning why Apple and Amazon are actually valuable in the first place (Fred in particular has thing about Apple in a negative way because of something that happened to a portfolio company in the past).</comment>


This is humanity's future - <AUTHOR> http://www.techendo.co/posts/this-is-humanity-s-future

<comment><AUTHOR> Some folks are following along with this afternoons rocket launch in #techendo on freenode.net</comment>


Ask HN: Systemd broke my system after updating.  Recommend an alternative? - <AUTHOR> <comment><AUTHOR> Long story short: after a dist-upgrade, systemd-resolved simply could not resolve any domain names, rendering my ubuntu laptop useless.

I am so off-the-charts sick of Poetteringware degrading my computing experience.

Please make my Christmas a happy one, and recommend me an alternative system: Is Upstart still viable? OpenRC? I'm not sure which one is considered the modern alternative.

<comment><USER2> [http://without-systemd.org/wiki/index.php/Main_Page](http://without- systemd.org/wiki/index.php/Main_Page)</comment></comment>