I upvoted this because I think it’s a good reflection, but I think the author is dead-wrong.
The author keeps saying “amateur” (one who does a thing for the love of that thing) instead of “novice” (one who does a thing while at a low skill level in that thing)–and most of the software we have is written and built by novices, like it or not.
More importantly, I think the author misses the truth of the evolution of software: we’ve shied away from software that exposes users to an ugly if accurate view of their data and processes and instead towards a sort of enfeebled shiny existence. We have then celebrated this as progress, and loudly convinced them that they shouldn’t have to be tool-users in order to use tools.
We’ve similarly pushed away (and for good reason!) from building simple appliances–good for our users, because it helps them adapt their tools to their problems (instead of adapting themselves or learning not to have problems), and good for us, because there’s always money in selling people a new solution to fix a problem they didn’t know they had.
I was about to post this. I also wanted to add that it is not solely about bad software implementation. The trend of making things shiny and abstracting users away from the reality of digital processing also results in software packages that try to do things that should not really be attempted in a consumer market.
As an extreme example, digital assistants. The full perfect implementation of a digital assistant is a an AI complete problem, and there is no way it can perform the job a naive user expects (or the advertising implies). These kinds of applications can only ever succeed in training users that software is an opaque black box that arbitrarily works or doesn’t and there is nothing anyone can do to solve this. We should be educating people on what software can do and what it can’t in a systematic way so people can make the best use of it.
OP here,
thank you, this is very interesting and generates more thoughts. I’d love to extend my post later.
We have then celebrated this as progress, and loudly convinced them that they shouldn’t have to be tool-users in order to use tools.
I agree 100%. I wrote another post that is somewhat relevant https://rakhim.org/2017/02/by_devs
In short: when software was written for ‘computer users’, not just ‘people’, it was harder to use and required reading manuals, but at least it was honest and you’d see what you get. Today the “enfeebled shiny existence” is less honest and naturally less stable, due to all the magic required to maintain the facade.
Also, ‘novice’ implies the temporary nature, as in ‘novice will become a master’. I wouldn’t call, for example, core Apple developers ‘novices’, yet their products are incredibly buggy and low quality lately.
I think “novice” was used to suggest that most bad softwares are created by novice professionals, not amateurs.
Moving the viewport works, including in the z axis, but various menu keys like k and a don’t seem to work for me. Mouse input worked so I was able to inspect things without k, but the mouse cant cover every function. Is this me doing something wrong or is there an issue with the keyboard input?
Also, I was not clear on whether each player has their own viewport rendered or, whether it is simply a standard df client rendered in the browser. i.e. If I change z levels, does that change it for every user or just for me?
It’s shared between everyone. As for keyboard input… try toggling caps lock. That’s one area that needs some work.
Good on you. It’s worth mentioning here that Microsoft is going in the other direction. https://www.mercurynews.com/2018/06/19/microsoft-defends-ties-with-ice-amid-separation-outcry/amp/
In response to questions we want to be clear: Microsoft is not working with U.S. Immigration and Customs Enforcement or U.S. Customs and Border Protection on any projects related to separating children from their families at the border, and contrary to some speculation, we are not aware of Azure or Azure services being used for this purpose. As a company, Microsoft is dismayed by the forcible separation of children from their families at the border.
Maybe I’m missing something, but it seems they are going in the exact same direction…
It’s a very confusing article; my best guess is that they are working with ICE, but not on “projects related to separating children from their families at the border”.
And just because Microsoft isn’t directly helping, they are still helping. That nuance is discussed in OP’s article - any support to an morally corrupt institution is unacceptable, even if it is indirect support.
But that perspective is very un-nuanced. Is everything ICE does wrong? It’s a large organization. What if the software the company that @danielcompton denied service to is actually just trying to track down violent offenders that made it across the border? Or drug trafficking?
To go even further, by your statement, Americans should stop paying their taxes. Are you advocating that?
ICE is a special case, and deserves to be disbanded. It’s a fairly new agency, and its primary mission is to be a Gestapo. So yes, very explicitly, everything ICE does is wrong.
On what ground and with which argument can you prove your statement? I mean, there is probably an issue with how it’s run, but the whole concept of ICE doesn’t sound that wrong to me.
From https://splinternews.com/tear-it-all-down-1826939873 :
The thing that is so striking about all three items is not merely the horror they symbolize. It is how easy it was to get all of these people to play their fascistic roles. The Trump administration’s family separation rule has not even been official policy for two months, and yet look at where we are already. The Border Patrol agent is totally unperturbed by the wrenching scenes playing out around him. The officers have sprung to action with a useful lie to ward off desperate parents. Nielsen, whom the New Yorker described in March as “more of an opportunist than an ideologue” and who has been looking to get back into Donald Trump’s good graces, is playing her part—the white supremacist bureaucrat more concerned with office politics than basic morality—with seeming relish. They were all ready.
I’m going to just delegate all arguments to that link, basically, with a comment that of it’s not exceedingly obvious, then I probably can’t say anything that would persuade you. Also, this is all extremely off-topic for this forum, but, whatevs.
There’s always a nuance, sure. Every police force ever subverted for political purposes was still continuing to fight petty crime, prevent murders and help old ladies cross the street. This always presented the regimes a great way to divert criticism, paint critics as crime sympathisers and provide moral leeway to people working there and with them.
America though, with all its lip service to small government and self reliance was the last place I expected that to see happening. Little did I know!
Is everything ICE does wrong? It’s a large organization.
Just like people, organizations should be praised for their best behaviors and held responsible for their worst behaviors. Also, some organizations wield an incredible amount of power over people and can easily hide wrongdoing and therefore should be held responsible to the strictest standard.
Its worth pointing out that ICE didn’t exist 20 years ago. Neither, for that matter did the DHS (I was 22 when that monster was born). “Violent offenders” who “cross the border” will be tracked down by the same people who track down citizen “violent offenders” ie the cops (what does “violent offender” even mean? How do we who these people are? how will we know if they’re sneaking in?) Drug trafficking isn’t part of ICEs institutional prerogative in any large, real sense, so its not for them to worry about? Plenty of americans, for decades, have advocated tax resistance precisely as a means to combat things like this. We can debate its utility but it is absolutely a tactic that has seen use since as far as I know at least the Vietnam war. Not sure how much nuance is necessary when discussing things like this. Doesn’t mean its open season to start dropping outrageous nonsense, but institutions which support/facilitate this in any way should be grounds for at the very least boycotts.
Why is it worth pointing out it didn’t exist 20 years ago? Smart phones didn’t either. Everything starts at some time.
To separate out arguments, this particular subthread is in response to MSFT helping ICE, but the comment I responded to was referring to the original post, which only refers to “border security”. My comment was really about the broader aspect but I phrased it poorly. In particular, I think the comment I replied to which states that you should not support anything like this indirectly basically means you can’t do anything.
Its worth pointing out when it was founded for a lot of reasons; what were the conditions that led to its creation? Were they good? Reasonable? Who created it? What was the mission originally? The date is important because all of these questions become easily accessible to anyone with a web browser and an internet connection, unlike, say, the formation of the FBI or the origins of Jim Crow which while definitely researchable on the net are more domains of historical research. Smart phones and ethnic cleansing however, not so much in the same category.
If you believe the circumstances around the formation of ICE are worth considering, I don’t think pointing out the age of the institution is a great way to make that point. It sounds more like you’re saying “new things are inherently bad” rather than “20 years ago was a time with a lot of politically questionable activity” (or something along those lines).
dude, read it however you want, but pointing out that ICE is less than 20 years old, when securing a border is a foundational issue, seems like a perfect way to intimate that this is an agency uninterested in actual security and was formed expressly to fulfill a hyper partisan, actually racist agenda. Like, did we not have border security or immigration services or customs enforcement prior to 2002/3? Why then? What was it? Also, given that it was formed so recently, it can be unformed, it can be dismantled that much easier.
I don’t understand your strong reaction here. I was pointing out that if your goal was to communicate something, just saying it’s around 20 years old didn’t seem to communicate what you wanted to me. Feel free to use that feedback or not use it.
any support to an morally corrupt institution is unacceptable, even if it is indirect support
A very interesting position. It just requires you to stop using any currency. ;-)
No, it requires you to acknowledge that using any currency is unacceptable.
Of course not using any currency is also unacceptable. When faced with two unacceptable options, one has to choose one. Using the excuse “If I follow my ethics I can never do anything” is just a lazy way to never think about ethics. In reality everything has to be carefully considered and weighed on a case by case basis.
Of course not using any currency is also unacceptable.
Why? Currency is just a tool.
Using the excuse “If I follow my ethics I can never do anything” is just a lazy way to never think about ethics.
I completely agree.
Indeed I think that we can always be ethical, but we should look beyond the current “public enemy”, be it Cambridge Analytica or ICE. These are just symptoms. We need to cure the disease.
For me the value of open source does not hinge on the number of people developing the majority of the core software. There are two major advantages that hold whether it is all done by one person, or by a thousand.
Transparency: I can download the source, I can link it to my debugger, I can find out what is going on and why something is not working, and I can design workarounds with a complete knowledge of the underlying cause.
Error correction: I can simply push a patch for the issue I found. A lot of closed source proprietary software does not even have a way of reliably reporting bugs, and even those that do often have bugs that are decades old with a few users posting despondently every year or so asking if any progress was made. I may be only a minor contributor on some repositories with 2 or 3 commits, but for me those commits are crucial, and they would not exist in a closed source model.
In Germany there is the organisation GEMA which is very similar. The shortcomings of this system, as illustrated by GEMA are as follows: There is no fair way to divide the money between all the members. In general a few superstars get millions and everyone else needs a day job. It is difficult to track who’s work gets used and how frequently. The organisation starts clamping down on individuals and small hobby shops to squeeze out more cash. The organisation becomes an old-boys club that eventually stagnates and loses sight of the real world, getting left behind by and shutting out new developments that break the established frameworks. Eventually members are forced to choose between a sane way of doing business and the organisation. The organisation starts to have a massive overhead of costs for paying execs and other staff.
None of these problems are intrinsically unsolveable but I would be very hesitant to join any such scheme which did not have specific and robust safeguards in place to deal with these kinds of issues.
It is also worth mentioning that GEMA have a state sanctioned monopoly, which means no competing organisation is allowed to exist. Many of these issues might be partly a result of that.
Does anyone else think that the very first and very last frames seem like the same thing? We started with connecting cables into sockets and now we have IDEs that have 3d rendering capabilities and they are rendering cables… being put into sockets…
Progress is weird.
It makes me wonder what would happen if we took the block based ones and 3d printed them all, and then physically built programs with our hands in a large warehouse with ladders and scaffolding. Compilation would be hard.
I also feel like coding is a dynamic thing that is constantly in motion, and a graphically rendered IDE that simply tries to represent a static snapshot like a normal programming language is wasting the potential of graphical rendering. I would go for a 3d rendered debugger that tries to represent the running program in space and shows flow with brightly coloured moving lights.
No mention of Neverwinter Nights? As a game dev I am disappointed. That game had nested pie menus for almost all in game interaction and it worked great. A lot of people complained and said they didn’t like them but it was mostly just unfamiliarity. Once you got used to them they worked great.
I think an important goal is to not only give users the tools to create their own pie menus, but design tools that support and motivate user to intuitively understand Fitts’s law, and how to design good pie menus for themselves.
A recent game that lets players create their own radial menus, in a way that deeply improves game play, is Monster Hunter: World!
Awesome Example: Monster Hunter: World — Radial Menu Guide Monster Hunter: World is a wonderful example of a game that enables and motivates players to create their own pie menus, that shows how important customizable user defined pie menus are in games and tools.
Want access to all your items, ammo and gestures at your fingertips? Here’s a quick guide on the Radial Menu.
With a multitude of items available, it can be challenging to find the exact one you need in the heat of the battle. Thankfully, we’ve got you covered. Here’s a guide on radial menus, and how to use them: The radial menu allows you to use items at a flick of the right stick. There are four menus offering access to eight items each, and you can fully customize them, all to your heart’s content. Radial menus are not just limited to item use, however. You can use them to craft items, shoot SOS flares, and even use communication features such as stickers and gestures.
This is how to train AIs to be convincing to us. The bet is that the best way to be convincing is to be truthful, if done in a suitable debate format.
(Our experience of real world debates shows the best way to be convincing is often different from truth, but real world debates are not done in a format proposed here.)
The bet is that the best way to be convincing is to be truthful, if done in a suitable debate format.
Is this an empirical statement? I have yet to see a debate where truthfulness is the deciding factor. Not to mention all of the hand waving around “what is truth” for any reasonably complicated task.
It is a philosophical statement. As I already said, what I call “logical debate” is hard to do in the real world. I quote Scott Alexander who stated my position better than I:
Logical debate has one advantage over narrative, rhetoric, and violence: it’s an asymmetric weapon. That is, it’s a weapon which is stronger in the hands of the good guys than in the hands of the bad guys… The whole point of logic is that, when done right, it can only prove things that are true.
“What is truth” is easy in principle. I support the correspondence theory of truth. The statement, “The digit is 7” is true, if the digit is 7.
I guess I’m not seeing how this usefully applies to the topic of the blog post. The example they give of the best place to vacation doesn’t correspond to any truth. Certain places maybe off limits due to various reasons (passport) but there is no truth to that question, there is just convincing. And that is true of most debates. Nobody debates if the digit 7 is 7.
I am very impressed by boosting <60% accuracy classifier to >80% accuracy classifier by debating. If nobody debates if the digit is 7, that doesn’t mean machines shouldn’t debate such topics, especially when debating improves performance. Maybe humans mainly debate things that are not good fit for debating.
Maybe humans mainly debate things that are not good fit for debating.
But that’s the whole point of this, in the end, isn’t it?
We believe that this or a similar approach could eventually help us train AI systems to perform far more cognitively advanced tasks than humans are capable of, while remaining in line with human preferences.
I don’t think it’s a big leap for someone to try to use this, for example, to automate parts of an interview process.
I have yet to see a debate where truthfulness is the deciding factor.
This is an obvious hyperbole, but I will play. There has been a debate on this site recently. In this subthread, quad and ngoldbaum debated funding method used by Outreachy. Both sides agreed in the end, and it seems to me truthfulness was the deciding factor.
In this case, that does not fit my definition of a debate which is a formal system in which parties argue for a perspective. In this case, the two people discovered facts together. Maybe I’m being too limited in my definition of a debate, however I believe my definition agrees with what this article is about.
This case was sub-debate of whether protesting LLVM’s association with Outreachy was reasonable. lmm argued it is, because Outreachy displaces other possible fundings like GSoC. quad was confused about facts and disagreed with this point. Now this is resolved, debate can continue.
I think our main disagreement is whether topics of debate can usually be decomposed such that most subdebates can become “discovering facts together”. I believe it can, but also believe it is hard to do in practice for humans because debate tree becomes too big. Machines probably can handle huge debate tree better.
Yes I understand what the thread is about, however there is no judge at the end that the two sides were are trying to convince who will decide who is correct. I’m glad they talked it out and agreed but this is not a debate in the sense this article is discussing. This isn’t about being decomposed, it’s about judgement at the end.
This is how to train AIs to be convincing to us. The bet is that the best way to be convincing is to be truthful, if done in a suitable debate format.
Only about independently verifiable facts, where it could get caught out. An AI safety test must by definition have an ethical component and empirical reasoning has nothing to say about ethics. Science can not prove that murder is bad, without an existing system of values that would be undermined or promoted by murder.
The AI here is assumed to be capable of full semantic use of the human language, which means in order to reach the point where this test is possible to use, the AI has likely already passed the point where it has theory of mind. If the AI has undersirable ethics (e.g. murder is a good thing in and of itself), it might also recognise that the human judge does not share its ethics. It might recognise that it is being tested to see if its ethics line up with those of the judge.
The debate format detailed here can detect flaws in an AI’s ability to follow a logical thread without errors. If the second AI points out a factual error in the first AI’s reasoning, the human can verify it and recognise the error. This has no bearing on safety as AI safety is about AI’s which have ethical frameworks that are incompatible with ours. Incompatible ethics will only be detected by such a debate method if the AI is not sophisticated enough to have a complete theory of mind or is not intelligent enough to realise that it is being tested.
Maybe I misunderstood the problem and this test really is merely intended to test logical consistency in AI, if so, I think it is a good test and should work well.
I only recently started using noscript. A lot of people balk at the fact that the majority of websites don’t work anymore after you install it, and the fact that you have to manually unlock specific scripts, and even think about which scripts you want to allow. It is certainly not something the everyday user wants to deal with. But the speed with which pages load, and the complete absence of all the spying and autoplay videos and the majority of images makes it really worth it.
Obviously the better solution for everyone is for web designers to get their shit together on this issue. But I am not holding my breath. For now noscript is as necessary as
adblockublock origin for having a positive experience of the internet.It also teaches you who your friends are - the websites that just work as though the plugin were not there are the good ones. The ones that tell you you need to enable javascript and load all scripts directly from their own domain are also resolved with a single click. The ones that are a major hassle to use with noscript running are the ones you should probably be staying away from anyway.
Not just technical people either: an old friend used to train laypeople to use it on NoScript forums. He said there was a small, but steady, stream of them concerned about privacy and/or speeding up machines.
Does it warn you if the scripts contents have changed?
If so, it might mitigate a little this huge security hole hidden in plain sight… but I’m not much sure…
No, you block on a domain basis so that security hole is not even needed to get around it. Its not going to save you from the government, just bloated websites and advertising.
So… do you enable whole CDNs?
Anyway, if I understand what you mean, once the JS execution is enabled for a host, the server could serve a malicious script to you without being noticed, so that bug could be exploited, not only by the government but by several private companies…
most people don’t audit the javascript code before they enable it anyway, so detecting changes wouldn’t solve the core issue
True. Indeed I said that it could mitigate that vulnerability.
As @enkiv2 said in the lobsters’ thread about it, the only reliable solution is to remove scripting languages from browsers. A pretty expensive security fix, I know, but the bug is very dangerous.
expensive in that it would save huge amounts of energy in the form of compute cycles that aren’t spent attacking the user
µBlock lets you block based on pairs of first & third parties.