It is illegal. Actually, in most of Europe unauthorized access to computer system is a criminal offense that might lead to jailtime, while downloading pirate movie/game is a small wrongdoing that nets you fine (unless it's for profit, large scale operation). And that's access only, distributing malware and stealing personal data are two more, separate criminal offenses. So basically that's shooting a boy who has tried to steal an apple in a crowded market.
Exactly my thought - this sounds like a criminal matter, not a civil one.
It's the same reason you don't try to brick someone's computer even if you can prove with certainty that they were, say, cheating and griefing on your game's multiplayer. None of that matters, it would still be a crime.
That thing facebook does with demanding your phone number, that's my favorite dark pattern. Apple does the same thing with iOS upgrades.
First you pose a seemingly innocent question, like 'would you like to give us your phone number so we can keep your account secure?' or 'would you like to upgrade to new iOS?'. Then you take away the NO option. You replace it with 'i'll decide later'. And by doing so, you make it not a choice for the user. You make it a statistical guarantee that sooner or later, most users will cave in and hit yes, even if by accident. iOS is an extreme example of this - when you say you don't want to upgrade, you are immediately prompted with a pin code request as if your device just locked itself, and your reflex is to punch in the pin to unlock it again. But if you read what it says at the bottom, it's asking for your pin to get permission to schedule the upgrade that you just said no to.
Whoever the designers are who came up with this stuff, fuck them. This shit is going to be in ethics textbooks in a decade or two. I hope someone from the facebook UX team is reading this, I hope they know their day job is to make the world a worse place.
When I first opened up the Netflix mobile app and it asked me if I wanted it to show me notifications I thought "hey, that's nice, most apps just start spamming me without asking". I clicked "No thanks" and went on my way.
It turns out, though, that it asks that _every_ single time I open the app. It's really annoying and I'm about to allow them only to block them at the OS level.
This is one reason some folks prefer Apple. iOS had privacy options at the OS level for years before Android got into the game (yes xPrivacy but not everyone can root)
So, enable Netflix notifications but disable Netflix notifications at a system level? Seems like a silly reason to prefer iOS, considering every modern Android has the same feature.
And android could sync my contacts through the cloud (google servers) to a new device and edit online, syncing the other way before iOS. What's the point?
Could whoever downvote explain? It's a feature that Android had first... The fact is, today, they both have Feature X, so debating who had what first doesn't add to a constructive argument was my point.
You asked for explanation and I did explain. You replied to me with something that could be seen as an attack. I don't know his point, I just explained his comment, that's all. I didn't downvote you though.
If you look through the parents, I didn't ask for anything. Also, the point made was that iOS had features first... Android has had other features first... they've both had the feature in question long enough to be in place through several hardware refreshes (given an average ownership of 1-3 years), so the preference doesn't hold as much weight.
The post I replied to was effectively "iOS had features first" my reply was that "android also had features first" ... the point being that there have been enough hardware refreshes where the features in question are on both platforms reducing the weight of the argument.
You can allow/block permissions from any app, no matter what Android version it targets. If the app targets a version below 6.0 (Marshmallow) then the app won't ask at runtime and Android will warn you that block a permission for that app may break it.
I'm guessing this is a bug. It asked me once (per device), and never asked again. Or I'm too trusting, and this is indeed a change in behavior for new customers.
It’s still possible on iOS but if you declined the official pop-up once you can’t show it again. But you can annoy the users with different and equally intrusive pop-ups asking you to go to settings to change it for example.
As an ethical UX designer, unethical UX designers/PMs/ need to be shamed for creating/allowing dark pattern in their work. This goes against the fundamental tenets of empathetic UX design and in downright manipulative and bordering evil.
But who/where do we draw the line for "ethical" design? Every design decision is on a spectrum, and anything above helping someone eat, sleep or shit, is to some degree "un-needed" design.
I'd say anything that faces a user in a digital experience that utilizes cheap psychological or behavioral manipulation/UI obsfucation to benefit from their interaction in achieving a desired business metric/outcome in which a user may not have otherwise consented to/authorized said interaction had the user interface been written clearly in plain language (no jargon) and accessibly designed for the common lay person (user testing).
In design, everything is intentional and I fail to believe these cheap UI tricks were anything other than intended as designed by whoever designed it. Any seasoned UX designer worth their title knows if what they are designing removes their agency in deciding on how to act or if it feels icky or wrong in a manipulative sense.
But where do you draw the line between offering genuine convenience for the end user and UX tricks? Is underlining a link unethical because it's giving undue weight to highlight an action you want the user to notice? (I know, reductio ad absurdum, but I think it's valid to point out personal interpretation of ethics can be stretched beyond usefulness).
That's more of a rhetorical point - I don't believe most things related to "morality" can ever be as clear as black/white, ethical/unethical, and think it muddies waters to assert it does.
Considered design does not always exactly equal purer-than-pure ethical design.
Out of curiosity, who or what has designated you an “ethical UX designer”? I’m sure you could find an Apple designer who would claim that forcing people to upgrade ensures that their device is patched and secure, preventing many potentially livelihood threatening problems down the line, so they are just as ethical of an UX designer as you are, if not more so since you do not want to protect people from their device being hacked into and their personal info stolen.
"Out of curiosity, who or what has designated you an “ethical UX designer”?"
Simply put, I would never allow these dark design patterns into the product if I was the designer, by arguing that it would affect perceived trustworthiness of the company and brand credibility if dark patterns start to become pervasive and the norm across the product. As a professional UX designer, it's my duty to be the voice of the user and I'd put my neck on the line to make sure I voiced my concern before they went over my head and implemented dark patterns. I'll never sign off on it.
The issue is a lack of accountability by designers/PMs who hide behind the company name when these dark patterns are exposed. In an era when companies like Facebook sway political elections through their dark pattern designed newsfeeds, watchdog groups and regulatory bodies need to be created to keep them in check.
What was described is not "forcing people to upgrade" but tricking people into unintentionally upgrading. Your argument can be used to justify the former but not the latter.
From the UX I've studied it seems that ethics is unrelated. Typically in consumer apps the goal is to increase MAU and engagement and UX is dictated by whatever moves the needle on those areas. It's hard to separate whether people are using the app more because of it's better design through UX design feedback loop iterations or if it is a dark pattern.
For example it is entirely plausible that the sms notification being sent once you put in a 2FA number is completely unrelated. In a normalised database there will only be one phone number for multiple uses. If notifications are set to send to the phone number by default and 2fa uses that phone number the app will not necessarily have knowledge whether the phone number was entered due to a 2fa prompt or something else. It only checks for a phone number and acts accordingly. The 2 people/teams who designed each feature would most probably have no idea how else the number is being used such is the nature of complexity.
> In a normalised database there will only be one phone number for multiple uses.
No! Normalization does not mean keeping only one copy of each piece of data, regardless of category and context. I see this behavior all the time in junior and even some senior devs, both in databases, and when they code.
A piece of information has a type, but it also has a context. A 2FA phone number is different than a marketing contact phone number. It should never be normalized into just one field.
My favorite example of this is people re-using a constant in multiple places in code just because it happens to have the same value. Imagine you have a constant defined as `USER_DISPLAY_AS = 'first_name'`. Then, somewhere, you are building sorting and want to be able to sort by first name or last name. You notice you already have a constant that contains a value 'first_name', so you use it. Not you have tied two completely different things together in your code because you thought you are being DRY.
I don't disagree with you on the type issue but you can see in a large organisation how this would easily fall through the cracks. It's also entirely plausible that an intern came up with the sms notification idea and it wasn't caught in code review. I don't really subscribe to Hanlon's razor but in this context I can understand how it could happen quite easily.
This is a type of error that is often found in code and data modeling. I haven't come across a name for it yet. It most definitely can and does fall through the cracks, in small, medium, and large organizations. It is a code smell and should be eliminated whenever it starts happening. However, it is often quite subtle, and a developer's ego is often stronger than the explanation for why it should not be done that way.
I shall dub it "Krystian's Overoptimistic Denormalization Error", or KODE for short.
> From the UX I've studied it seems that ethics is unrelated. Typically in consumer apps the goal is to increase MAU and engagement and UX is dictated by whatever moves the needle on those areas. It's hard to separate whether people are using the app more because of it's better design through UX design feedback loop iterations or if it is a dark pattern.
No matter which metrics you choose, you run the risk of PM's ordering unethical means of increasing those metrics. A bakery can measure itself by sales volume and ensuing revenue numbers - that doesn't by itself prevent bakery managers from adding addictive drugs to the recipes, nor does it mean that those are poor metrics.
What it does mean is a) the company made some poor hiring decisions along the way, and the best way to deal with that problem is by having some b) ethical review board.
I like the example here. I want to outwardly acknowledge the obvious force that is preventing the baker from putting drugs in their recipe: government regulation and law enforcement.
I am an American but I am well accustomed to learning that other countries are able to prevent certain consumer abuse before it replicates at massive scale by acting early and adjusting along the way.
We're just introducing the GDPR Europe wide which iterates on the member states existing privacy laws to provide definitive rights to any human in Europe, and obligations to any company dealing with their information.
Abusing the 2FA number is likely illegal in most member states now, and is definitely so at the end of May.
It is a nasty dark pattern but I think in the case of iOS upgrades you can somewhat justify it - it’s important that users upgrade to avoid security issues etc. Of course really, iOS upgrades should be so pain-free that no one would ever want to say no, but that’s a different story!
iOS devices in general. Spend two months away from one and you'll have about 3-5 modals pop up at different times while you just start to use the device. Awhile ago I was using an old iPad, dismissed a several modals and started reading. One modal that I dismissed previously came not more than two minutes later again, completely interrupting me. Stopped using it after that, wanted to throw it against the wall.
I suspect that their motivation to push users to upgrade has far more to do with their planned obsolescence than anything to do with keeping users secure.
> Then you take away the NO option. You replace it with 'i'll decide later'. And by doing so, you make it not a choice for the user. You make it a statistical guarantee that sooner or later, most users will cave in and hit yes, even if by accident.
Fucking YouTube and their "Would you like to merge your account with your Google Account and use your real name forever more? Yes / Soon."
I'd still like to know, what the particular difference between that acquisition and Facebook's acquisition of WhatsApp is, that made so many countries block the sharing of data between WhatsApp and Facebook, but not the sharing of data between YouTube and Google.
If it really is just that asshole prompt that made the difference, then man, did Facebook fuck up. They should have just blocked people from using WhatsApp until they volunteer their data.
WhatsApp has a shitload of alternatives, and it's much easier to switch. YouTube users had way more investment in retaining their account and not switching to another video hosting service (the best alternative is Vimeo I guess?).
I've only had a FB account for a very short while and that was 8 years ago or so, their disrespect for user privacy creeped me out back then already, never went back.
If WhatsApp had forced me to link to a FB account (and thus make a new one), I'd have told my friends "yeah that's nice you can message me on a different platform from now on". And I wouldn't have been the only one.
There's no social network for people refusing to use FB, so we don't know each other :) But there is way more of us than you'd expect (and from many different corners of society too, not just the tech crowd, friend of mine is a doctor and she's very intent on privacy, even if she sometimes lacks the tech knowledge to make the "perfect" choices, she's much more hard core about it than I am, as if I didn't have enough reason already for respecting the hell out of her).
Same thing that they've done with the new Wifi toggle on the quick menu on iOS 11. You CANNOT turn off Wifi. It just "Disables it temporarily". They do this so that when you are home and your phones plugged in and on do not disturb its automatically downloading updates over Wifi again. This was the final straw for me.
My non technical partner was regularly finding herself out of data because she would turn off WiFi for some reason, forget to turn it back on again, and use a months data in a week. Since that change, it’s never happened. Yes, the option is misleading, (although there is a banner saying “turning off nearby WiFi until tomorrow”) but the vast vast majority of people don’t really turn off WiFi and want it off for good, they mean “I don’t want to use WiFi right now”.
If you really do want to turn off WiFi, it’s in settings. I’d rather have a convenient feature that does what I want, even if it’s over use an un-updateable device where all the core services are tied to one of the largest tracking companies in the world, thanks.
YouTube did that a while ago too, when they were trying to get everyone to make a Google+ account.
Websites also do that screen-covering style popup on load with the two options like:
Yes I'd love to sign up
I'll sign up later
Neither of those are my true answer of "no" and as dumb as it sounds I don't really like lying by clicking the "I'll sign up later". Their loss because I usually just close the site instead if the box doesn't close when I click outside of it.
There's the other type where they imply the user is an idiot for taking the "no" option, as in:
They do a similar thing with Apple Pay too. In order to get rid of the Badge on settings, you have to run through the wizard and cancel out at the end.
this behavior in iOS drives me absolutely insane. and somehow apple gets away with it when it's just as intrusive as the shit microsoft and facebook do.
in that interface, and in mac os x as well, it seems it will upgrade at a certain point anyway, no mater what you choose. i always answer remind me later, and i will often come home to my macbook pro or iPad having been restarted due to an upgrade. the macbook is particularly annoying when it upgrades because it leaves about 10 minutes or so of stuff left to do that isn't triggered until i go to unlock my computer. so i come home having something urgent to do, try to wakeup and login to my macbook only to find it needs to finish the installation i never chose to do (or at least never intended to do). and still apple gets away with it.
> Whoever the designers are who came up with this stuff, fuck them.
Are you sure you're laying the blame at the feet of the right people? I'm a design lead on a mobile game and I find myself in a constant battle against these kind of shenanigans with the PM team.
I would argue that you have an ethical responsibility to fight that battle.
Here in Australia, when you become a software engineer, you join the Engineers of Australia, become a chartered Engineer with some additional civic rights and responsibilities, and swear an oath which includes upholding ethics values, much like doctors swear an oath to do no harm. I hope this kind of thing becomes universal and more prominent with the younger generations. If we want to make the world a better place (and most people who set out to do engineering do), we must put ethics and the good of society above KPIs and profits and individual company valuations.
I think parent is referring to Engineers Australia (formally, the Institution of Engineers, Australia), which is the professional body to which most engineery-engineers belong.
Most "Bachelor of Software Engineering" degrees offered by Australian universities are EA-accredited and contain mandatory engineering courses that EA requires. Most CS/IT degrees that don't have "Engineering" in the degree name are only accredited by the ACS (or potentially not accredited at all).
I'm also an Australian software "engineer", I don't have an EA-accredited degree, and the more I see of this industry, the less certain I am that we get to claim the mantle of "engineer" with the professional responsibilities that go with it.
Even though I hate how these companies take advantage of people, I hate restricting freedom even more. I prefer having the freedom to manipulate and be manipulated into these kind of traps instead of sending people to jail because they did something people don't like.
And we have the freedom to not use products that mistreat us, I left facebook a year ago and I'll soon install lineageOS on my cellphone, limiting myself to only open source apps.
Keep in mind if more people were proactive about their own digital landscapes, things like LineageOS and open source software would not seem like second rate diminished quality of life to people like you.
Oh fuck it I was trying to be nice but this has got me going. In my opinion it's certifiably dillusional to think that Google and Facebook equate to a higher quality of life. Holy shit that's crazy. It's bonafide brainwash.
I've severely scaled back my dependence on Facebook and Google the last few years and I could not be happier. It's made me pursue real social interactions again. My personal laptop is poewered primarily by free and open source software and in the last year or so has become so smooth it's putting macOS to shame (I am not making that up for the sake of argument).
Idk what has convinced you that Facebook and Google equal better life, but I can only pray you wake up some day and remember how to live life that isn't managed by someone else's server...
I should add I don't disagree with society regulating behavior that negatively impacts society, but I don't think your chosen method of arguing that point is intellectually sound. And in this case I really find it hard to imagine how you'd regulate user experience of an opt in service such as these companies are providing.
>Keep in mind if more people were proactive about their own digital landscapes, things like LineageOS and open source software would not seem like second rate diminished quality of life to people like you.
If wishes were horses then beggars would ride. I prefer to deal with the world as it is rather than the world as I’d like it to be. Also keep in mind that if more people with proactive about their own digital landscapes, they’d be spending more time managing their platforms and less time doing the stuff they actually want to do. It’s solipsistic to think everyone should have YOUR preferred priorities and time allocation.
>idk what has you convinced that Facebook and Google equal better life
Not having to sound like a fussy prig anytime someone wants to get in touch with me is kind of a thing. Not having to have a “well actually, don’t you know that Facebook is bad!?” discussion whenever I meet someone new who wants to stay in touch with me, likewise. It’s like that old joke about “how do you know if someone does CrossFit/is vegan?”
“Real social interactions” means actually being able to participate in the social interactions where people are having them. I don’t know why you think being able to keep in touch with distant family via WhatsApp, or not not having to create extra steps for people who want to send me photos, or not needing to insist on a special process for inviting me to things are all valueless functions. What you’re proposing is like the equivalent of insisting, after the invention and mainstream adoption of the telephone, that people come to your house and drop off a visiting card if they want to speak with you.
You are one of the people that can actively make a difference. So yes. Many of us can't because we're not anywhere near any of these decisions.
It's somewhat puzzling to me. Do you really disagree with these practices? Because you are in a (relatively) unique position to do something about it.
Have you ever noticed something that is just wrong in society but couldn't really think of any plan of action to work against it? Maybe you live in one of those places where your vote doesn't really count, one way or the other. Know that feel? Or maybe you recognized injustice somewhere but it's just so far removed from your area of influence that you'd need to upend your life, change career or education to even begin pulling it right.
Of course you can always donate money or I guess, advocate, tell your friends, etc. But that doesn't really do anything (or very indirectly), and you know it in your heart.
This time you have an opportunity. So use it.
On this particular topic, all I can do is encourage you to act and make the world a little bit better. On other topics, I look out and try to notice such opportunities to better the world from my own sphere of influence, and try my hardest to be virtuous and do the right thing (we might not even agree on what is "right", as I don't know you), even if it's hard and it requires exposing myself to risk, going against the grain.
Tests are a pattern. And patterns are the bread and butter of the medicore. That's not to say that patterns or tests are bad, but high calibre guys know when to use which tool. As a tool, unit testing is almost useless.
Low calibre guys don't have any feel for what they're doing. They just use the tools and patterns they were taught to use. All the time. This goes from engineers to managers to other disciplines.
I've seen people at a factory floor treating my test instructions for a device I built as some kind of bible gospel. I had a new girl who had no idea I designed said gadget telling me off for not doing the testing exactly like the instruction manual I wrote says.
The same thing happened with patterns and unit tests. You have hordes of stupid people following the mantra to the letter because they don't actually understand the intent. Any workplace where testing is part of their 'culture' signals to me that its full of mediocre devs who were whipped into some kind of productivity by overbearing use of patterns. It's a good way to get work done with mediocre devs, but good devs are just stifled by it and avoid places that force it.
I find unit tests to be _most_ useful in very particular cases: When a given function I'm writing has a set of input/outputs that I'm going for. Various items like parsing a URL into various components, or writing a class that must match a particular interface. I need to make sure the function works anyway, so I can either test it manually, or I can take a few extra moments and commit those test cases to version control.
For more complex items, I'm much more interested in higher level black-box integration tests.
That's a great example of why unit testing is mostly useless.
Having an expected/input output set when writing something like a parser is standard practice. Turning that set into unit tests is worthless for a few reasons.
1: You will design your code to make them all pass. A unit test is useless if it always passes. When your test framework comes back saying x/x (100%) of tests have passed, you are receiving ZERO information as to the validity of your system.
2: You wrote the unit tests with the same assumptions, biases, and limitations as the code they're testing. If you have a fundamental misunderstanding of what the system should do, it will manifest in both the code and the test. This is true of most unit tests - they are tautological.
3: While doing all of the above and achieving almost zero additional utility, you had to fragment your logic in a way that easily yields itself to unit testing. More than likely, that's not the most readable or understandable way said code could have been written. You sacrificed clarity for unit testability. Metrics like test code coverage unintentionally steer developers to writing unreadable tangled code.
The only use case for unit testing here would be if this parser was a component that gets frequently updated by many people or a component that gets implemented anew for different configurations. But at this point i'm just talking about regression testing, and there are many ways to do that other than unit testing.
You're complaint about always passing only makes sense if you ignore negative tests. Good tests will also test that bad/incorrect input results in predictable behaviour - e.g. invalid input into a parser doesn't parse.
> While doing all of the above and achieving almost zero additional utility, you had to fragment your logic in a way that easily yields itself to unit testing
Another way to consider it is that unit testing forces you to structure your code to be more composeable which is a win. The amount of intrusive access/changes you need to avail test-code is language-dependent.
> The only use case for unit testing here would be if this parser was a component that gets frequently updated by many people or a component that gets implemented anew for different configurations. But at this point i'm just talking about regression testing, and there are many ways to do that other than unit testing.
And yet successful large-scale projects like LLVM use unit-testing. Not exclusively but it's a part of their overall strategy to ensure code quality. Sure, for very small-scale projects with a few constant team members it can be overkill. Those aren't particularly interesting scenarios because you're facing fewer organizational challenges. The fact of the matter is that despite all the hand-wringing about how it's not useful, unit tests are the inevitable addition to any codebase that has a non-trivial number of contributors, changes and/or lines of code.
The applicability of unit testing to your particular cases varies greatly across languages & runtimes.
For URL parsing, some runtimes/frameworks have that thing already implemented. E.g. in .NET the Uri class allows getting scheme/host/port/path/segments, and there’s a separate ParseQueryString utility method to parse query part of the URI.
To ensure a class conforms to an interface, the majority of strongly-types OO languages have interfaces in their type systems. If you’ll use that but fail to implement an interface or some parts of it, you code just won’t compile.
Google simply has the computational resources to cover thousands of different hyperparameter combinations. If you don't have that, you won't ever be able to do systematic exploration, so you might as well rely on intuition and luck.
This is not accurate. Chess alone is so complex, brood force would still take an eternity, and they certainly don't have a huge incentive to waste any money just to show off (because that would reflect negatively on them).
But how does it work? It's enough to outpace other implementations, alright. But the model even works on a consumer machine, if I remember correctly.
I have only read a few abstract descriptions and I have no idea about deep learning specifically. So the following is more musing than summary:
They use the Monte Carlo method to generate a sparse search space. The data structure is likely highly optimized to begin with. And it's no just a single network (if you will, any abstract syntax tree is a network, but that's not the point), but a whole architecture of networks --modules from different lines of research pieced together, each probably with different settings. I would be surprised if that works completely unsupervised; after all it took months from beating go to chess. They can run it without training the weights, but likely because the parameters and layouts are optimized already, and to the point of the OP, because some optimization is automatic. I guess what I'm trying to say is, if they extracted features from their own thought process (ie. domain knowledge) and mirrored that in code, than we are back at expert systems.
PS: Instead of letting processors run small networks, take advantage of the huge neural network experts have in their head and guide the artificial neural network into the right direction. Mostly, information processing follows insight from other fields, and doesn't deliver explanations. The explanations have to be there already. It would be particularly interesting to hear how the chess play of the developers involved has evolved since and how much they actually do understand the model.
I'm curious why you believe to be able to tell that my comment is not accurate when you yourself admit that you have no idea about deep learning?
Note that I'm not saying that Google is doing something stupid or leaving potential gains on the table. What I'm saying is that their methods make sense when you are able to perform enough experiments to actually make data-driven decisions. There is just no way to emulate that when you don't even have the budget to try more than one value for some hyperparameters.
And since you mentioned chess: The paper https://arxiv.org/pdf/1712.01815.pdf doesn't go into detail about hyperparameter tuning, but does say that they used Bayesian optimization. Although that's better than brute force, AFAIK its sample complexity is still exponential in the number of parameters.
Your comment reminded me of my self, so maybe I read a bit to much into it. Even given googles resources, I wouldn't be able to "solve" chess any time soon. And it's just a fair guess that this applies to most people, maybe slightly fewer percent here, though, so I took the opportunity to provoke informed answers correcting my assumptions. I did then search papers, so your link is appreciated, but it's all lost on me.
> they used Bayesian optimization. Although that's better than brute force, AFAIK its sample complexity is still exponential in the number of parameters.
I guess the trick is to cull the search tree by making the right moves forcing the opponents hand?
I think you are confused about the thing being optimized.
Hyperparameters are things like the number of layers in a model, which activation functions to use, the learning rate, the strength of momentum and so on. They control the structure of the model and the training process.
This is in contrast to "ordinary" parameters which describe e.g. how strongly neuron #23 in layer #2 is activated in response to the activation of neuron #57 in layer #1. The important difference between those parameters and hyperparameters is that the influence of the latter on the final model quality is hard to determine, since you need to run the complete training process before you know it.
To specifically address your chess example, there are actually three different optimization problems involved. The first is the choice of move to make in a given chess game to win in the end. That's what the neural network is supposed to solve.
But then you have a second problem, which is to choose the right parameters for the neural network to be good at its task. To find these parameters, most neural network models are trained with some variation of gradient descent.
And then you have the third problem of choosing the correct hyperparameters for gradient descent to work well. Some choices will just make the training process take a little longer, and others will cause it to fail completely, e.g. by getting "stuck" with bad parameters. The best ways we know to choose hyperparameters are still a combination of rules of thumb and systematic exploration of possibilities.
Google did do this. It took ungodly amounts of computing power and only did slightly better than random search. They didn't even compare to old fashioned hill climbing or Bayesian optimization.
I've considered gradient descent for optimizing parameters on toy problems at university a few times. Never actually did it though, it's a lot of hassle for the advantage of less interaction at the cost of no longer building some intuition.
So, a way to think of this is: The speed (and therefore, cost) of training a machine learning model depends on (a) the ML techniques (how rapidly the model converges and to what accuracy); and (b) how quickly the processor executes the operations involved in the ML techniques.
The TPU is only an improvement in (b). It's not going to result in a big-O style speedup, because the same training algorithms and architectures will run on it that we run on CPUs & GPUs today.
I'm not sure what counts as "breaking new ground" - is that 10%? 100%? 1000? :-) The things to watch out for in benchmarks will be:
(a) Perf/$. This is actually a big deal - one of my students recently blew through $5000 of Google Cloud credits running Imagenet experiments, in a week. And we didn't finish them! As this cost really drops, it enables things like Neural Architecture Search, which uses tons of compute capability to explore architectural variants automatically.
(b) Absolute perf.
(c) Performance scaling. To what degree will the fast, 2D torroidal mesh allow a full pod of Cloud TPUs to scale nearly-linearly? Absolute training times matter from a user productivity standpoint. Waiting 30 minutes for a result is very different from waiting 12 hours (you can do one of these while you sneak out to go running! :-).
The real solution is changing lobbying, but i am not educated enough about us politics to tell how.
Also supporting EFF & ACLU and their efforts to use the laws seems to be somewhat effective.
It also comes back to the individual convenience vs collective action. If everybody obeys the orders of border agents, police, etc without exercising their rights because they have nothing to hide, this gets easier by the day.
This is not about hiding something, this is about harrasment of an individual's privacy.
Spoiler alert: almost everyone reports getting a cookie-cutter email or scripted response about why the rep will stay the course. They clearly have an established strategy of how to handle the 'contact your rep' crowd and channel their efforts to /dev/null.
> almost everyone reports getting a cookie-cutter email or scripted response about why the rep will stay the course
Who is “almost everyone”? Any personal experience?
Mine involves getting a personal e-mail from my state Assemblyman, being patched in to the senior legislative aide to my U.S. Congresswoman who spoke to me at length about the issue, getting follow-up by e-mail to calls after the points I raised were discussed with my U.S. Senator, and being reached out to by my state Senator’s office for input on a draft bill. I also know that for my tech-savvy Manhattan Congressional district I am usually one of a small handful voters regularly calling in about digital privacy.
I’m fine with voters being busy or lazy. But don’t brag about it.
You're suggesting that your n=1 anecdote weighs more than those thousands of reddit stories? Or that my position is invalid because instead of engaging in another n=1 anecdote I aggregated the outcome of many?
For your one story, you can click the top few links of that search to see detailed accounts and full documented histories from representatives who are clearly systemically stonewalling this kind of activism. And judging by those counts, they are the majority.
Many of “thousand of Reddit stories” are just like your comment. Repeating a meme, nothing more.
Will your representatives always be responsive? No. Some are worse than others. On some issues, the political tea leaves are too obvious to merit discussion.
By and large, however, representatives and their staff care about their constituents. When you call (better than form responses on websites), you show you care about an issue. Their offices want to know if you represent a budding movement they can attach to.
You’ve cast aside a core civic right and, in my opinion, duty, based on anonymous forum comments. It would take you thirty minutes to call yourself, but that’s too much of a hassle. Fine, that’s your right. It’s also mine to call out your comments as emotional self-indulgence more than anything substantive.
No memes here, just detailed accounts which overwhelmingly demonstrate that paid-for representatives have a strategy to deal with this.
As for civic duties, you do not have a civic duty to uphold a process which is a textbook example of regulatory capture. If you get success by doing it, great. But statistically, for the majority of Americans, talking to their rep is worse than doing nothing. It's spending their time and effort on a process which is designed to ignore them, so they don't spend that same effort searching for an alternative process which might actually work.
This process used to be effective; before it was circumvented by lobbying activity. You can't cling to it today just because it worked yesterday. You also can't get jobs by just turning up to places and handing out your CV. Times change.
You need to actually read your cites. Many of your link actually support what we've been saying. Their concerns were passed along to the representatives and they were pleased with the responses they got.
I suspect that they're suggesting that your apparent disillusionment with the call your representatives process, whom have over time, enabled in part what we see before us today == being busy or lazy and that you are bragging about being busy or lazy, as if change could only happen by picking up phone and sending emails telling another how upset you are or that even if you did do the aforementioned and were received favorably by such representatives, you would be placated and faith in the process overall will be restored even without the actual change you seek even occurring.
Oh, reddit. Yeah... I'll believe everything I see there.
Yeah, some reps are bad and don't listen but I'm willing to bet most at least log down how many people complain about what. Having an attitude of contacting them does nothing only just makes things worse and has no potential upside. At least if you do "waste" your time contacting them you may have a change to do good.
I kind of have both experiences. I have frequently contacted my state and federal legislators, leaving messages with their staff, and have never gotten back any message other than a form letter or email stating that they are going to do exactly what they were planning on doing all along. But I'm also reasonably certain that their staff do keep a tally; just that there's plenty of stuff in their political calculus (demographics, gerrymandering, campaign contributions) that means they don't have to pay attention.
The biggest irony is that shortly after I contact any legislator telling them how I oppose their policy position, they start sending me mail asking for campaign contributions.
Every single one of those "contacts" was people emailing their representative. Emailing your representative isn't an effective means of communication. It takes no effort to write an email. Most political offices assume an email is a form letter drafted by some special interest.
Call your representative, or meet them in person when they're back in the district. If they know you're a real person, they will respond to you directly with something more than a scripted response.
Going to have to downvote you here since I've found that calling my representatives has been extremely effective.
Calling your rep, or meeting them in person, are the two most effective ways to communicate your concerns. Because people who take the time to call or meet in person are also the type of people who take the time to vote, and in the end that's what really matters.
> The news doesn't seem to have been that bad for Intel's stock
That's a red herring. Krzanich had no idea how badly the news would impact the stock. He may have well overestimated it in his mind and chose to sell. Just because he didn't make huge gains from the possible insider trading, doesn't preclude the possibility of insider trading occurring.
So the whole argument here is:
1) Krzanich couldn't be possibly stupid enough to do this.
2) He didn't make a ton of money so it's a stupid plan, he could't possibly be stupid enough to do this.
The plea of stupidity in high profile insider trading cases is a smoke screen - that was my point.
Highly successful executives engage in insider trading quite frequently (see link). When they do, they take a calculated risk. You can be quite sure that none of them are stupid in any sense of the word. They take a measured risk and some succeed and some fail, depending on luck, skill, ambitions, and how big/rich they already are. From what little I know, doing it in a an open manner is actually the best best way to go about insider trading. If you attempt to skirt around it by doing anything shady like having friends/relatives execute the trades for you, the evidence is undeniable once discovered. If you go about it 'openly' and instead rely on blurry interpretation or your ability to plead ignorance or put the timeline into question, it's a lot harder to nail you.
There are many cases of brazen broad-daylight insider trading, such as Donald Trump right now. Only the ones that end in successful legal action go on to be considered stupid. Even when they do get caught, a lot of the time the penalties are relatively lax, like suspended or weekend sentences for first time offenders.
So no, just because he is successful as an executive at a major corporation doesn't at all make it 'stupid' for him to engage in insider trading. That line of reasoning is a diversion from the facts of the case.
You honestly believe that Intel as a company kept all information about these serious vulnerabilities from the CEO for 5+ months? And nobody got fired for this?
Intel has a never ending parade of security related bugs that get fixed and nobody cares.
This isn't meaningfully likely to affect any of the contracts that Intel has with it's major customers, and it's not like competition is going to spring forth in a meaningful way because of this bug.
It's not like he sold his stock while the company was secretly on fire and about to collapse.
It's not just about security. These bugs are going to impact customers' performance by up to 30% or more and that can't be fixed. This is a huge deal for cloud providers' revenue.
The class action lawsuits are only just being filed within the past few days.
If you already know the outcome of these lawsuits, you should probably contact the lawyers and judges to let them know. /s
Well, since Google knew about this bug across the boundaries of a few quarterly reports so far, and hasn't signaled radical departures in their operational expenses, and has specifically said the impact on them was smaller than many expected [1]... I'd say we know the outcome already.
I'm not trying to say it's going to be the worst case scenario, but I am saying it's extremely foolish to pretend that you can predict anything until people actually start patching their systems.
Time will tell, and it's best in every scenario to refrain from making gigantic blanket assumptions based on almost no data points.
Google said they've finished patching, and it was all done before the bug became public.
That means the people who have the best information about mitigating this issue have a fix that apparently has minimal performance impacts on their cloud workloads, and I suspect their cloud customer SLO's would be taking a shitkicking if that weren't actually true.
> That means the people who have the best information about mitigating this issue have a fix that apparently has minimal performance impacts on their cloud workloads
Could Google not just have found a mitigation with non-negligible
performance impact, and made a behind the scenes change to the actual hardware resources assigned at each vCPU level to mask the average impact, eating the cost in the short term (while evening it out in the long term by delaying price decreases they would otherwise implement)?
More likely, Google made their own mitigations, that they're keeping for their own competitive advantage.
They've had a lot more time with the problem than anyone else has, and billions of dollars to gain by solving it better than anyone else.
If they had a 15-30% loss of performance in their 3+GW of infrastructure, it would almost certainly cause a significant dip in their quarterly results, and they would want to warn the markets about that well in advance to soften the blow.
Kozlowski is surely guilty of state sales tax evasion and seems to fit the pattern of did it "because 'Screw the state!' and I think I can get away with it".
Most of the rest of his story seems more like sour grapes than any criminal conduct to the detriment of Tyco investors.
Peter Chang is probably a better model for insider trading criminal CEO (as opposed to merely CEO criminal).
Humans don't have such a capacity. The notions of 'good' and 'evil' have historically been in flux and went through many huge changes. Modern humans consider the typical behaviors of past humans as 'evil'.
Vikings - rape after conquering is good. People today: that's evil.
India until 2 generations ago - arranged marriage is good. Today that's evil.
Homosexuality - has oscillated many times between good and evil. In fact, different geographic regions will still have polar opposite views on this today.
> India until 2 generations ago - arranged marriage is good. Today that's evil.
Suggest you do some homework. Something like 80%-90% of marriages in India are still arranged. And most people are pretty happy with this situation, or at least no more miserable than "Love marriages" -- which remain highly controversial -- would make them.
The definition of 'arranged marriage' today has been neutered. Until 2 generations ago, arranged marriage meant that women had absolutely no say in their marriage - it was at the decision of the parents and to further the desires of the parents.
Today, arranged marriage means that the woman's parents will present her with prospective marriage partners but leave the decision making to her, including veto or asking the parents to 'arrange' for a man that the woman fancies - kind of like Tinder but the matching algorithm is parents. That version of arranged marriage is straight up better than the (serious) dating scene in westernized countries.
The original version is definitely considered evil by today's morals.
Okay, you have an alright understanding of the contemporary meaning of the term "arranged marriage" in that case. I find that sticking with contemporary parlance really helps avoid misunderstanding. The term you presumably meant to use -- in today's language -- would be "forced marriage". In which case: agreed!
The notion of what is acceptable and good fluctuating throughout time and cultures doesn't remove the fact that the distinction is made. And your nitpicking criticism that misses the forest for the trees is an excellent example of the capacity to distinguish between good and evil, with its implicit value judgements.