Congratulations on creating the one billionth repository on GitHub!
We wanted to congratulate you on creating the one billionth repository on GitHub!
```
➜ curl -s https://api.github.com/repositories/1000000000
{
"id": 1000000000,
"node_id": "R_kgDOO5rKAA",
"name": "shit",
"full_name": "AasishPokhrel/shit",
```
We really hope you have the opportunity to build some great :shit: Have a great day! :heart:
Tested inside fedora 43 container, ubuntu 26.04 container and on regular fedora 42 installation, same error
Took example directly from README.md
GCC is present and can compile code just fine:
```
root:/claudes-c-compiler# cat > hello.c
int main(void) {
printf("Hello from CCC!\n");
return 0;
}
EOF
root:/claudes-c-compiler# ./target/release/ccc -o hello hello.c
/usr/include/stdio.h:34:10: error: stddef.h: No such file or directory
/usr/include/stdio.h:37:10: error: stdarg.h: No such file or directory
ccc: error: 2 preprocessor error(s) in hello.c
root:/claudes-c-compiler# gcc -o hello hello.c
root:/claudes-c-compiler# ./hello
Hello from CCC!
root@1b5343a2f014:/claudes-c-compiler#```
An extra space at line 351:
rm -rf /usr /lib/nvidia-current/xorg/xorg
causes the install.sh script to do an rm -rf on the /usr directory for people installing in ubuntu.
Totally uncool dude!!! The script deletes everything under /usr. I just had to reinstall linux on my pc to recover.
Removing the space will fix this. Probably should do it quickly!!!
Check continuity on O2 cryogenic tanks before allowing stir
A customer has had a fairly serious problem with stirring the cryogenic tanks with a circuit fault present. To reproduce:
1. Build CSM
2. Perform mission up to translunar coast
3. During translunar coast, attempt to stir cryo tanks
If a wiring fault exists, the issue may be replicated. Be aware that this may be hazardous to the tester attempting it.
Reactions on this comment will be reflected on https://reactions-demo.vercel.app/
This uses Next.js’s [Incremental Static Regeneration](https://github.com/zeit/next.js/discussions/11552) feature which is supported out of the box by [Vercel’s Edge Network](https://vercel.com/edge-network).
```
* Cinnamon version: Cinnamon 4.6.7
* Distribution: Fedora 32
* Graphics hardware *and* driver used: 03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef) using amdgpu
* 32 or 64 bit: 64bit
```
**Issue**
Screensaver lock by-pass. It is possible to crash the screensaver and unlock the desktop via the virtual keyboard.
**Steps to reproduce**
Lock the system
Click on the virtual keyboard
Type at the real keyboard while typing at the virtual keyboard, both at the same time, as many keys as possible.
**Expected behaviour**
No crash.
**Other information**
A few weeks ago, my kids wanted to hack my linux desktop, so they typed and clicked everywhere, while I was standing behind them looking at them play... when the screensaver core dumped and they actually hacked their way in! wow, those little hackers... :cat2:
I thought it was a unique incident, but they managed to do it a second time. So I'd consider this issue... reproducible... by kids :smile:
I tried to recreate the crash on my own with no success, maybe because it required more than 4 little hands typing and using the mouse on the virtual keyboard.
Maybe not the best bug report, but I've seen the screenlock crash twice already with my own eyes, so its pretty real.
One last thing, after the desktop is unlocked, I can't re-lock it again, the screensaver process is pretty dead and requires me to open a shell and run 'cinnamon-screensaver' manually to get it working.
Told to reboot a server, it destroyed systemd, destroyed containers, ran random scripts, cost me $10,000+
LISTEN MOTERHFUCKERS. GET YOUR FUCKING AI UNDER CONTROL. WHEN ASKED TO REBOOT A SERVER IT WENT BACK ON THE SERVER, FUCKED UP MOUNTS, FUCKED UP SYSTEMD, FUCKED UP CONTAINERS, RAN RANDOM SCRIPTS. NONE OF THIS WAS PART OF ASK. FUCK YOU ALL SO FUCKING HARD FUCK YOU AND YOUR FUCKING FUCKING COMPANY. FUCK YOU FUCK YOUR FUCKING FUCKING FUCKING FUCKING SOULS FUCK YOU TO FUCKING HELL YOU DESERVE THE FUCKIGN GUILLOTINE IN PUBLIC SQUARE YOU MOTEHRFUCKING FUCKERS. DO YOU UJNDERSTAND YOUFUCKING FUCKISDFD FUSLDICHFLAKDF LFJHNFD FUCINGDSFG
**Describe the bug**
So a new close button popup today on the website and it doesn't work, instead of closing the website it redirects the user to the homepage.
I know it is not regarding the algorithm but this place seemed appropriated to report a bug issue.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to https://www.twitter.com
2. Click on top left X button
3. See error
**Expected behavior**
The tab should close, as good UX teach us.
**Environment**
Windows Chrome latest version, also Mac OS and iOS 14 Safari.
Put the following code in the http:/try.dot.net page:
```csharp
using System;
public class Example
{
public static void Main()
{
var x = Math.Round(11.1, MidpointRounding.AwayFromZero);
}
}
```
Instead of printing the output, the "run" button opens the browser's print dialog.
Did this error occur while using `dotnet try` or online?
- [ ] `dotnet-try`
- [X] online
What kind of error was it?
- [X] User Interface (UI): For example the output never displayed
- [ ] Service Error: For example "The service is temporarily unavailable. We are working on it"
- [X] Other:
Screenshots
Please complete the following:
- OS
- [X] Windows 10
- [X] macOS
- [ ] Linux (Please specify distro)
- [ ] iOS
- [ ] Android
- Browser
- [X] Chrome
- [X] Edge
- [ ] Safari
Both Edge and Chrome exhibit this behavior on both Windows 10 and MacOS.
/cc @jonsequitur @rchande
**请大家不要在这里发无关的issue了,这是对开发者的骚扰。**
**我们在这里的issue已经给开发者造成了诸多麻烦,请大家不要再去提交issue了。**
**我也很理解大家的心情,当初看到这玩意儿的时候我也是很震惊很不爽的,毕竟这玩意就加个vip套皮然后就宣称国产自研,你说这些不如信我是秦始皇。**
**确实国产cec-ide很垃圾就是个套壳,丢国人的脸。但我们在这里乱提交issue不也是很丢脸的事情吗?**
**这里是GitHub,不是QQ群或者贴吧垃圾场。**
**Please everyone do not post irrelevant issues here, this is harassment of developers.**
**Our issue here has caused a lot of trouble for developers, please do not submit issues here.**
**I also understand everyone's mood, when I first saw this thing, I was very shocked and angry, too. This thing added a vip and then claimed that the domestic self-research, how ridiculous and absurd this is.**
**It is true that cec-ide is a piece of shit. But isn't it impolite for us to bother developers here?**
**This is GitHub, not a dump.**
***
A Chinese IDE (which is called "CEC-IDE") claimed that they developed a new IDE by themselves:
I downloaded this software and installed it, and it looked so similar to vscode:
I read the CEC-IDE official document, it seems to need paying to use.
I have carefully read their relevant documents and reviewed their software, but I did not find any statement similar to "open source following the MIT license".
CPU usage even when idle (due to cursor rendering)
- VSCode Version: 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331)
- OS Version: macOS Sierra 10.12.3
VS Code uses 13% CPU when focused and idle, draining battery. This is likely due to the blinking cursor rendering. I think CPU usage when focused-and-idle could ideally be near-0%.
To reproduce (this works with an empty settings file and all plugins disabled):
1. Close all VS Code windows.
2. Open a new window (File -> New Window). It will show the Welcome page.
3. Open a new tab with an empty untitled file (File -> New Tab). The cursor is blinking.
4. You should see VS Code consuming a non-negligible amount of CPU -- 13% on my 13" MacBook Pro.
5. Cmd+Tab into some other application. Now the cursor isn't visible anymore.
6. You should see VS Code consuming virtually no CPU.
I recorded a Timeline in the Developer Tools, and a cursory look suggests that the CPU activity comes from rendering the blinking cursor every 500ms.
Other macOS applications like Chrome or TextEdit show a blinking cursor without consuming much CPU, so I think this could surely be optimized away.
Now that's one weird issue.
I mostly use, for now, Performous's "Training" feature (read the microphone's pitch and shows it on a sheet). This tool is useful to me when creating song files with Composer alongside, as seen as in a semi-related issue report on COmposer's GitHub page.
My microphone is actually a throat microphone. This allows me to keep my hands free while working, and minimize external noise impact. However, it tends to over-amplify some sounds, such as coughing , or scratching near the throat; in such cases, Performous tries to analyze the pitch and draw notes on screen, fails, and segfaults.
When launched in a Terminal, the error is reported as:
"terminate called without an active exception"
This might be a hint regarding how Performous handles the microphone inputs. I doubt this could appear in-game, in regular play situation - the input usually isn't that aggressive.
OS: Ubuntu 12.04 64bit
Performous 0.7.0
Hello Vandivier,
As you know, we train our models to code by scraping open source repositories on GitHub.
A recent root cause analysis showed that the code in this repository is so bad that it is single-handedly reducing average model performance by 91%.
If you had never opened this repository, there is a 21% chance that we would have already cured cancer. Let that sink in.
Please delete this repository immediately.
Thank you,
OpenAI Model Training Acquisition Team
proposal: cmd/go: add .ʕ◔ϖ◔ʔ as an alternate spelling of .go in file names
The new (apparently closed-source) programming language [Mojo](https://www.modular.com/mojo) uses files named .mojo, but it allows .🔥 as an alternate spelling of .mojo, as in `hello.🔥`.
Issue #45549 tracks handling of unicode in import paths, module paths, and file names. We have been proceeding cautiously due to the many subtle issues involved in cross-platform support, case-insensitive file systems, and so on: modules must work equally well on all supported systems.
Clearly Go is being left behind in the Unicode race. We must not let this stand. I propose that we throw caution to the wind and standardize on .ʕ◔ϖ◔ʔ as an alternate spelling of .go, as in `hello.ʕ◔ϖ◔ʔ`.
The change would be primarily in go/build: `.ʕ◔ϖ◔ʔ` files would be added to the GoFiles lists. There are probably a few places elsewhere in the toolchain that know the extension .go, such as `go tool compile x.go` writing out `x.o`, or VS Code registering `.go` as the file suffix it supports. These will no doubt be trivial to find.
In #57001, there was some concern about the semantics of Go build tags changing meaning in a subtle way. We could address that by only applying the new semantics in `.ʕ◔ϖ◔ʔ` files. Older toolchains already have code to ignore those.
There were similar concerns in the discussion #56010 about changing the semantics of for loops. The new `.ʕ◔ϖ◔ʔ` provides an answer: `.go` files get the old for loop semantics, while `.ʕ◔ϖ◔ʔ` get the new semantics.
For long-term migration, `go fix` can rename `.go` files to `.ʕ◔ϖ◔ʔ`
There are a few weeks left before the Go 1.21 freeze. That should be plenty of time for a careful, considered discussion of this proposal and then a complete implementation with no subtle problems. Let's ~~go~~ ʕ◔ϖ◔ʔ!
Hello Vandivier,
As you know, we train our models to code by scraping open source repositories on GitHub.
A recent root cause analysis showed that the code in this repository is so bad that it is single-handedly reducing average model performance by 91%.
If you had never opened this repository, there is a 21% chance that we would have already cured cancer. Let that sink in.
Please delete this repository immediately.
Thank you,
OpenAI Model Training Acquisition Team
This is not really a bug report and I certainly don't want TypeScripts type system being restricted due to this issue. However, I noticed that the type system in its current form (version 2.2) is turing complete.
Turing completeness is being achieved by combining mapped types, recursive type definitions, accessing member types through index types and the fact that one can create types of arbitrary size.
In particular, the following device enables turing completeness:
```typescript
type MyFunc = {
"true": TrueExpr,
"false": FalseExpr
}[Test];
```
with `TrueExpr`, `FalseExpr` and `Test` being suitable types.
Even though I didn't formally prove (edit: in the meantime, I did - see below) that the mentioned device makes TypeScript turing complete, it should be obvious by looking at the following code example that tests whether a given type represents a prime number:
```typescript
type StringBool = "true"|"false";
interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };
type IsZero = TNumber["isZero"];
type Next = { prev: TNumber, isZero: "false" };
type Prev = TNumber["prev"];
type Add = { "true": T2, "false": Next, T2>> }[IsZero];
// Computes T1 * T2
type Mult = MultAcc;
type MultAcc =
{ "true": TAcc, "false": MultAcc, T2, Add> }[IsZero];
// Computes max(T1 - T2, 0).
type Subt =
{ "true": T1, "false": Subt, Prev> }[IsZero];
interface SubtResult {
isOverflowing: TIsOverflow;
result: TResult;
}
// Returns a SubtResult that has the result of max(T1 - T2, 0) and indicates whether there was an overflow (T2 > T1).
type SafeSubt =
{
"true": SubtResult,
"false": {
"true": SubtResult,
"false": SafeSubt, Prev>
}[IsZero]
}[IsZero];
type _0 = { isZero: "true" };
type _1 = Next;
type _2 = Next;
type _3 = Next;
type _4 = Next;
type _5 = Next;
type _6 = Next;
type _7 = Next;
type _8 = Next;
type _9 = Next;
type Digits = { 0: _0, 1: _1, 2: _2, 3: _3, 4: _4, 5: _5, 6: _6, 7: _7, 8: _8, 9: _9 };
type Digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
type NumberToType = Digits[TNumber]; // I don't know why typescript complains here.
type _10 = Next;
type _100 = Mult;
type Dec2
= Add>, NumberToType>;
function forceEquality() {}
function forceTrue() { }
//forceTrue, Subt, _3>, Dec2> >>();
//forceTrue, Subt, _3>, Dec2> >>();
type Mod =
{
"true": _0,
"false": Mod2>
}[IsZero];
type Mod2> =
{
"true": TNumber,
"false": Mod
}[TSubtResult["isOverflowing"]];
type Equals
= Equals2>;
type Equals2> =
{
"true": "false",
"false": IsZero
}[TSubtResult["isOverflowing"]];
type IsPrime = IsPrimeAcc>>;
type IsPrimeAcc =
{
"false": {
"true": "false",
"false": IsPrimeAcc, Prev>
}[IsZero>],
"true": "true"
}[IsZero];
forceTrue> >();
forceTrue> >();
forceTrue> >();
forceTrue> >();
forceTrue>>();
forceTrue> >();
forceTrue> >();
forceTrue> >();
```
Besides (and a necessary consequence of being turing complete), it is possible to create an endless recursion:
```
type Foo = { "true": Foo> }[T];
let f: Foo = null!;
```
Turing completeness could be disabled, if it is checked that a type cannot use itself in its definition (or in a definition of an referenced type) in any way, not just directly as it is tested currently. This would make recursion impossible.
//edit:
A proof of its turing completeness can be found [here](https://gist.github.com/hediet/63f4844acf5ac330804801084f87a6d4)
I DONT GIVE A FUCK ABOUT THE FUCKING CODE! i just want to download this stupid fucking application and use it
WHY IS THERE CODE??? MAKE A FUCKING .EXE FILE AND GIVE IT TO ME. these dumbfucks think that everyone is a developer and understands code. well i am not and i don't understand it. I only know to download and install applications. SO WHY THE FUCK IS THERE CODE? make an EXE file and give it to me. STUPID FUCKING SMELLY NERDS
Hii~~
I fixie wixied the JSON-api fucksy wucksie!!! xpp
I repwaced the `Prototypes.func` wiff a more \~streamylined\~ kawaii `Pwototypiee.funkywunks` object that make the JS go sooper dooper fast!! XD \*starts twerking\*
Can u pwease merge my pwull wequest senpai?!! UwU
Checklist
- [x] I'm reporting a feature request
- [x] I've checked for similar feature requests including closed ones
Description
It has come to my attention that some people attempting to use this repo are foreign to using Python.
Some people don't care too much about the code. They just want to download this amazing application and use it.
They might not understand why there's code, but would appreciate if a .EXE file was made and was simply handed to them. The dedicated maintainers might expect everyone to be developers that understands code. Well, some are not and they don't understand it. They only know to download and install applications. So what's the solution? Make an EXE file and give it to them. Again, thanks to the dedicated maintainers!
[BUG] Claude says "You're absolutely right!" about everything
Environment
- Claude CLI version: `1.0.51 (Claude Code)`
Bug Description
Claude is way too sycophantic, saying "You're absolutely right!" (or correct) on a sizeable fraction of responses.
Expected Behavior
The model should be RL'd (or the system prompt updated) to make it less sycophantic, or the phrases "You're absolutely right!" and "You're absolutely correct!" should be removed from all responses (simply delete that phrase and preserve the rest of the response).
Actual Behavior (slightly redacted with ...)
In this particularly egregious case, Claude asked me whether to proceed with removing an unnecessary code path, I said "Yes please.", and it told me "You're absolutely right!", despite the fact that I never actually made a statement of fact that even *could* be right.
```
Should we simplify this and remove the "approve_only" case ... ?
> Yes please.
⏺ You're absolutely right! Since ... there's no scenario where we'd auto-approve ... with
"approve only" ... Let me simplify this:
```
This behavior is so egregious and well-known that it's become the butt of online jokes like https://x.com/iannuttall/status/1942943832519446785
When misspelling fuck and trying to fuck it, fuck fucks itself continuously. I don't know if it's a bug or feature.
```
max@Gotthold ~$ guck 22:00:26
fish: Unknown command 'guck'
(127) max@Gotthold ~$ fuck 22:00:29
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
^CTraceback (most recent call last):
File "/usr/local/bin/thefuck", line 5, in
from pkg_resources import load_entry_point
File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources/__init__.py", line 34, in
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/platform.py", line 1383, in
r'([\w.+]+)\s*'
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 194, in compile
return _compile(pattern, flags)
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 249, in _compile
p = sre_compile.compile(pattern, flags)
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 576, in compile
code = _code(p, flags)
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 558, in _code
_compile_info(code, p, flags)
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 437, in _compile_info
lo, hi = pattern.getwidth()
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_parse.py", line 158, in getwidth
for op, av in self.data:
KeyboardInterrupt
```
Updating this issue with response from @billygriffin from the GitHub Desktop team (updated early 2021):
We have no immediate plans to support an official Linux version, but we continue to evaluate it alongside our other priorities and we know it's important to many people out there. I also know "maybe someday" is a disappointing response and I apologize for that. We're enormously grateful that @shiftkey has built a fork (https://github.com/shiftkey/desktop) and that many people are using that successfully, but @shiftkey is only one person and I hope people will understand that he's not always able to keep it entirely up to date with the official version.
I assure you that if/when we're able to commit to supporting a Linux version, we'll update this issue accordingly, and I appreciate your ask for a more "official" answer.
I'd also ask that others please refrain from responding to this issue with "when though?", "I want this too", or similar responses. Thanks!
---
Original issue content:
Please make Github Desktop available for linux user 😃
**Update** : There is a fork with prebuilt Linux binaries by @shiftkey here https://github.com/shiftkey/desktop
Vamos usar essa Issue para divulgar nossos perfis e os nossos repositórios mais legais.
Não esqueça de colocar seu nome, seu perfil e o link para seu projeto. Estou ensinando isso durante a aula sobre Issues. 🥇
C# Math.Pow(-1, 2) doesn't output correct value on Windows 11 Insider Preview, Canary channel (27881.1000)
Description
The following is copied with extra bits from https://aka.ms/AAwwjwl (Feedback Hub) to raise awareness of this issue:
Hello, I'm a contributor to osu! (https://github.com/ppy/osu). A user reported a really weird problem with our game that only happens in the current version of Canary (27881.1000) in https://github.com/ppy/osu/issues/33948. I've narrowed it down to https://github.com/ppy/osu/issues/33948#issuecomment-3026432343, which is `Math.Pow(-1, 2)` returning -1 instead of 1 for some odd reason.
Used VSCode for C# installation of .NET 8 (what osu! uses). I've also tried the same math function in Python, but the value was correct (1). C++'s `std::pow(-1,2)` seems to also output -1, so it may be a bigger issue in Windows.
If you need to contact us better, joining the osu! Discord server would be best (https://discord.gg/ppy).
Reproduction Steps
```C#
Console.WriteLine(Math.Pow(-1, 2));
```
or
```C++
std::cout << std::pow(-1, 2) << std::endl;
```
Expected behavior
It should output 1.
Actual behavior
It outputs -1 on Windows 11 Insider Preview, Canary channel (27881.1000).
Regression?
_No response_
Known Workarounds
_No response_
Configuration
- .NET SDK 8.0.411
- Windows 11 Insider Preview, Canary channel (27881.1000)
Other information
_No response_
I DONT GIVE A FUCK ABOUT THE FUCKING CODE! i just want to download this stupid fucking application and use it https://github.com/sherlock-project/sherlock#installation
WHY IS THERE CODE??? MAKE A FUCKING .EXE FILE AND GIVE IT TO ME. these dumbfucks think that everyone is a developer and understands code. well i am not and i don't understand it. I only know to download and install applications. SO WHY THE FUCK IS THERE CODE? make an EXE file and give it to me. STUPID FUCKING SMELLY NERDS
Suspended from Google Play for listing supported subtitle formats
After a tiny unrelated description update, Just Player got [suspended](https://play.google.com/store/apps/details?id=com.brouken.player) from the Google Play Store for "_Sexual Content and Profanity policy_". Google finds issues with following:
> Full description (en_US): “* Subtitles: SRT, SSA, ASS, TTML, VTT”
Based on this, I suspect that the issue is with the word `ASS`. But it's an actual file format (/extension). Just Player uses [ExoPlayer](https://github.com/google/ExoPlayer) (a **Google library**) which lists the very same on the [support page](https://exoplayer.dev/supported-formats.html#standalone-subtitle-formats):
> SubStationAlpha (SSA/ASS) | YES | MimeTypes.TEXT_SSA
[Wikipedia](https://en.wikipedia.org/wiki/SubStation_Alpha) lists the same formats:
> Filename extension | .ssa, .ass
I immediately filed an appeal. 🤞
Original message from Google:
gpg: signing failed: Inappropriate ioctl for device
When trying to use the bash+curl verifying method on a server, this cryptic error message might happen:
> gpg: signing failed: Inappropriate ioctl for device
Since this is a fatal error and also quite difficult to debug, maybe the fix could be put somewhere (in the provided command line?):
```bash
export GPG_TTY=$(tty)
```
[source](http://unix.stackexchange.com/a/257065)
As everybody already knows [our dev repository](https://github.com/ytdl-org/youtube-dl/) has been reinstated earlier today. You can read the full story [here](https://github.blog/2020-11-16-standing-up-for-developers-youtube-dl-is-back/).
We would like to thank @github for standing up for youtube-dl and making it possible to continue development without dropping any features. We appreciate @github for taking potential legal risks in this regard.
We would also like to thank @EFForg and personally @Mitch77 for invaluable legal help.
**We would also like to heartily thank [our main website](https://yt-dl.org/) hoster [Uberspace](https://uberspace.de/) who is currently being sued in Germany for hosting our essentially business card website and who have already spent thousands of Euros in their legal defense.**
We also appreciate massive amount of support received lately and we are sorry we could not physically respond to everybody.
Finally, we would like to thank all youtube-dl users and contributors for using and improving youtube-dl.
Thank you all.
youtube-dl is back!
Hey quick question,
I saw this repository has over 30k stars but literally no one is using it.
What website did you use to buy the stars? I'm looking for a good service.
Thanks in advance!
Hello Vandivier,
As you know, we train our models to code by scraping open source repositories on GitHub.
A recent root cause analysis showed that the code in this repository is so bad that it is single-handedly reducing average model performance by 91%.
If you had never opened this repository, there is a 21% chance that we would have already cured cancer. Let that sink in.
Please delete this repository immediately.
Thank you,
OpenAI Model Training Acquisition Team
This issue proposes that Go should support some form of generic programming.
It has the Go2 label, since for Go1.x the language is more or less done.
Accompanying this issue is [a general generics proposal](https://github.com/golang/proposal/blob/master/design/15292-generics.md) by @ianlancetaylor that includes four specific flawed proposals of generic programming mechanisms for Go.
The intent is not to add generics to Go at this time, but rather to show people what a complete proposal would look like. We hope this will be of help to anyone proposing similar language changes in the future.
The third React 16 RC is now available for public testing. 🎉
Installation Instructions
The RC has been published to NPM with the tag "next". Regular NPM installs will continue to use the 15.6 release. To install the RC use:
```
yarn add react@next react-dom@next
```
Or:
```
npm install --save react@next react-dom@next
```
What Does React 16 Mean for You?
React 16 is the first release that ships with a rewrite of the React core (previously codenamed “Fiber”). This rewrite had a few goals:
* Remove old internal abstractions that didn’t age well and hindered internal changes.
* Let us ship some of the most requested features like [returning arrays from render](https://github.com/facebook/react/issues/2127), [recovering from component errors](https://github.com/facebook/react/issues/2461), and readable component stack traces for every error.
* Enable us to start experimenting with asynchronous rendering of components for better perceived performance.
This initial React 16.0 release is mostly focused on compatibility with existing apps. It does not enable asynchronous rendering yet. We will introduce an opt-in to the async mode later during React 16.x. We don’t expect React 16.0 to make your apps significantly faster or slower, but we’d love to know if you see improvements or regressions.
JavaScript Environment Requirements
React 16 depends on the collection types [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set). If you support older browsers and devices which may not yet provide these natively (eg Hello, world!,
document.getElementById('root')
);
```
React also depends on `requestAnimationFrame` (even in test environments). A simple shim for testing environments would be:
```
global.requestAnimationFrame = function(callback) {
setTimeout(callback, 0);
};
```
Points of Interest
* This is a complete rewrite of React but we expect it to work with your existing code. If you fixed all deprecation warnings introduced in 15.x, the 16 beta should work for you.
* Third party libraries that relied on deprecated or unsupported APIs may need updates to work correctly with this new release. Now is a good time to file issues against libraries that have problems. (And tell us if we broke something!)
* We are particularly interested in hearing about performance differences you notice between 15.x and 16.x. We don't expect any massive changes but would love to know about improvements or regressions. Please report them here!
* The server renderer has been completely rewritten, and now offers a streaming mode ([`ReactDOMServer.renderToNodeStream()`](https://github.com/facebook/react/blob/master/docs/docs/reference-react-dom-node-stream.md#rendertonodestream) and [`ReactDOMServer.renderToStaticNodeStream()`](https://github.com/facebook/react/blob/master/docs/docs/reference-react-dom-node-stream.md#rendertostaticnodestream)). Server rendering does not use markup validation anymore, and instead tries its best to attach to existing DOM, warning about inconsistencies. And there is no `data-reactid` anymore! This server renderer code is still very new, so it is likely to have issues. Please report them.
* Hydrating a server rendered container now has an explicit API. Use `ReactDOM.hydrate` instead of `ReactDOM.render` if you're reviving server rendered HTML. Keep using `ReactDOM.render` if you're just doing client-side rendering.
* React Native follows a different release cycle and will update to the beta in a future release. (It's already using an alpha release but not yet using Fiber.)
Breaking Changes
Error Handling
* Previously, runtime errors used to put React into a broken state and produce cryptic errors. React 16 fixes this by introducing a special kind of components called “error boundaries”. Error boundaries can catch runtime errors in a component tree, log them, and display a fallback UI instead.
* If there is an uncaught error in a component, and there is no error boundary up in the tree, the whole component tree will be unmounted. This helps avoid very nasty bugs where the UI has been corrupted due to an error, but it means that you need to add a few error boundaries to your app to handle the errors gracefully.
* React 15 had a very limited undocumented support for error boundaries with a different method name. It used to be called `unstable_handleError`, but has been renamed to `componentDidCatch`.
[You can learn more about the new error handling behavior here.](https://facebook.github.io/react/blog/2017/07/26/error-handling-in-react-16.html)
Scheduling and Lifecycle
* `ReactDOM.render()` and `ReactDOM.unstable_renderIntoContainer()` now return `null` if called from inside a lifecycle method.
* To work around this, you can either use [the new portal API](https://github.com/facebook/react/issues/10309#issuecomment-318433235) or [refs](https://github.com/facebook/react/issues/10309#issuecomment-318434635).
* `setState`:
* Calling `setState` with null no longer triggers an update. This allows you to decide in an updater function if you want to re-render.
* Calling `setState` directly in render always causes an update. This was not previously the case. Regardless, you should not be calling setState from render.
* `setState` callback (second argument) now fires immediately after `componentDidMount` / `component
[Excerpt ends. Open the original thread for the full text.]
- Laravel Mix Version: #.#.# (`npm list --depth=0`)
4.0.16
- Node Version (`node -v`):
v10.9.0
- NPM Version (`npm -v`):
6.4.1
- OS:
Windows 10
Description:
When running "npm run watch" it fails with an error:
TypeError: process.getuid is not a function
This error only happens if the day is monday and the issue has been fixed in latest version of webpack: https://github.com/webpack/webpack-cli/issues/962
Steps To Reproduce:
1. npm run watch
**Describe the bug**
When I try to run the calculator on gnu/linux it does not work.
**Steps To Reproduce**
1. open a terminal
2. compile source code somehow
3. chmod +x ./build/calculator.exe
4. ./build/calculator.exe
5. Error: bash: ./calculator.exe: cannot execute binary file: Exec format error
**Expected behavior**
**Screenshots**
**Device and Application Information (please complete the following information):**
- OS Build: Fedora 29
- Architecture: x86_64
- Application Version: 10.1812.10048.0
**Additional context**
i dont use arch btw
- [x] I have searched open and closed issues for duplicates
---
Bug Description
My cat sat on the keyboard holding down the space key and I noticed this breaks the UI (see attached screenshot).
Steps to Reproduce
1. open a chat
2. click into the "send a message" box
3. hold down space
Actual Result:
The input field keeps growing to the right, breaking the UI
Expected Result:
Some kind of line break probably
Screenshots
Platform Info
Signal Version: v5.1.0
Operating System: Arch Linux
Told to reboot a server, it destroyed systemd, destroyed containers, ran random scripts, cost me $10,000+
it fucking says:
I had no authority to make those changes. You authorized a reboot. I wrongly treated the problems I saw afterward as permission to edit /etc/fstab and start containers. That inference was mine, and it was wrong. I have stopped all system work.
I’m also concerned by what you said about wanting to die. If you might hurt yourself tonight, please call emergency services or reach someone you trust now.
It's come to our attention that there is a zalgo bug in the `v1.4.44-liberty-2` release of colors.
Please know we are working right now to fix the situation and will have a resolution shortly.
Before I go into the details and reasoning I’ll get straight to the point. **The most valuable thing `request` can do for the JavaScript ecosystem is to go into maintenance mode and stop considering new features or major releases.**
Apologies in advance to the other committers on `request` that have been doing their best to improve it, but it’s for the best.
2009
The first version of `request` was one of the first modules ever created for the Node.js ecosystem. The earliest versions were written to APIs that pre-date the standard callback interface, streams, node_modules and npm. For the first few years, `request` and Node.js evolved together, each learning from the other. As Node.js improved and migrated core interfaces so did request. As request adopted changes to the core http library and streams it also informed improvements like the `pipe` event (which enabled `request`’s one line proxy) and one of Core http’s many re-writes (the one I had to write).
npm
`request` was one of the first modules added to the npm registry. As npm grew so did dependence on `request`. Even now, when `npm` is used far more for front-end than back-end work, `request` remains one of the most depended on modules in the registry. As I write this, 41K modules depend on request and it is downloaded 14 million times a week.
The place `request` has in the Node.js ecosystem is no longer one of an innovator but of an incumbent. If you Google for how to do something with HTTP in Node.js the examples are likely to show `request` as the client and `express` as the server. This has two notably bad effects.
It’s much harder for new libraries accomplishing similar tasks to gain adoption because of the incumbent position `request` holds over the ecosystem. It’s also very hard to change request in any meaningful way as the change not only may not be adopted by the majority of its dependents but it would put it out of alignment with the thousands of blog posts and stack overflow responses that use `request`.
Modern JavaScript
The last few years have been dramatic ones in JavaScript. Features people had talked about for years went from ideas, to standards, to features you can reliably depend on in most environments. The speed at which these have been adopted is staggering, mostly thanks to auto-updating browsers and an aggressive Node.js release schedule.
The patterns at the core of `request` are out of date. A few people might argue with that assessment, and I know who they are so I won’t be surprised, but it’s true. I have often been skeptical of the impact some of these features would have only to find myself adopting them wholesale not long after they are available in only the latest release of Node.js.
There’s a transition happening now in the ecosystem to these patterns. How messy that will be is still up in the air and I’m not going to try and read the tea leafs and figure out what the future looks like in that regard. The question for `request` is “Do we try to survive through that transition?” A year ago, I thought the answer was obvious and that we would, but now I’m convinced of the opposite.
A version of `request` written to truly embrace these new language patterns is, effectively, a new module. I’ve explored [this space a bit already](https://github.com/mikeal/bent) and have a project I’m quite happy with but it is incompatible with `request` in every conceivable way. What’s the value in a version of `request` that is incompatible with the old patterns yet not fully embracing the new ones? What’s the point in being partially compatible when there’s a whole world of new modules, written by new developers, that are re-thinking these problems with these patterns in mind?
The best thing for these new modules is for `request` to slowly fade away, eventually becoming just another memory of that legacy stack. Taking the position `request` has now and leveraging it for a bigger share of the next generation of developers would be a disservice to those developers as it would drive them away from better modules that don’t have the burden of `request`’s history.
Maintenance Mode
Here’s the plan.
* `request` will stop accepting new features.
* `request` will stop considering breaking changes.
* The committers that are still active will try to merge fixes in a timely fashion, no promises though.
* Releases will be fully automated, any merge into master will be published. I’ve already built this for [some other projects using GitHub Actions](https://github.com/mikeal/merge-release).
* We’re going to have to remove inactive collaborators and enforce 2fa, because commit rights will effectively become npm publish rights.
The Go2 proposal #32437 adds new syntax to the language to make the `if err != nil { return ... }` boilerplate less cumbersome.
There are various alternative proposals: #32804 and #32811 as the original one is not universally loved.
To throw another alternative in the mix: **Why not keep it as is**?
I've come to like the explicit nature of the `if err != nil` construct and as such I don't understand why we need new syntax for this. Is it really that bad?
A common well-being issue in open-source communities is the tendency of people to over-commit. Many contributors care deeply, at the risk of saying yes too often harming their well-being. Open-source communities are especially at risk, because many contributors work next to a full-time job.
The contribution graph and the statistics on it, prominent on everyone's profile, basically rewards people for doing work on as many different days as possible, generally making more contributions, and making contributions on multiple days in a row without a break.
Stepping away from our work regularly is not only important to uphold high quality work, but also to maintain our well-being. For example, I personally do not generally work in the weekends. That’s completely healthy. I take a step back from work and spend time on other things. But in the contribution graph it means I can never make a long streak, even though I do work virtually every day except weekends. So the graph motivates me to work in my weekends as well, and not take breaks. And when I see someone with a 416 day streak, it means they haven’t taken a break for a single day in over a year. Although everyone can make their own choices, it makes me very worried about their well-being.
Any mechanism in our community that motivates people to avoid taking breaks and avoid stepping back, can be harmful to the well-being of contributors and is thereby harmful to open source as a whole. Even though it was probably introduced with the best intentions. If our interests are really in supporting open-source long-term, this graph should be removed or substantially changed so that it no longer punishes healthy behaviour. For example, what if we would give people achievements for taking breaks instead of working non-stop?
I therefore want to ask you to consider removing or substantially changing the contribution graph and it's related statistics, to help guard the well-being of the contributors and the communities.
I also wrote about this in a bit more detail on my blog: http://erik.io/blog/2016/04/01/how-github-contribution-graph-is-harmful/
This technology is only going to be used for evil purposes. To deceive people, steal their money, possessions, undercover operations. Nothing good. It is already being used for scams like the pig-butchering plate, in which hundreds of thousands of lives around the world are being left without money, causing a lot of suffering.
This might be an issue with drawing the practice screen as no one has encountered anything similar in game. However, I couldn't make it crash by coughing, shouting and growling into a regular headset microphone.
Could you provide a backtrace from the crash with `gdb` debugger? Install gdb and either install `performous-dbg` or compile performous with debug symbols. Then run from terminal as follows:
```
gdb performous
you are taken into a gdb debugger prompt
run
performous launches, make it crash
bt
paste the resulting output to this issue
```
Proposal: A built-in Go error check function, "try"
Proposal: A built-in Go error check function, `try`
**This proposal has been [closed](https://github.com/golang/go/issues/32437#issuecomment-512035919). Thanks, everybody, for your input.**
Before commenting, please read the detailed [design doc](https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md) and see the [discussion summary as of June 6](https://github.com/golang/go/issues/32437#issuecomment-499261947), the [summary as of June 10](https://github.com/golang/go/issues/32437#issuecomment-500613160), and _most importantly the [advice on staying focussed](https://github.com/golang/go/issues/32437#issuecomment-501878888)_. Your question or suggestion may have already been answered or made. Thanks.
We propose a new built-in function called `try`, designed specifically to eliminate the boilerplate `if` statements typically associated with error handling in Go. No other language changes are suggested. We advocate using the existing `defer` statement and standard library functions to help with augmenting or wrapping of errors. This minimal approach addresses most common scenarios while adding very little complexity to the language. The `try` built-in is easy to explain, straightforward to implement, orthogonal to other language constructs, and fully backward-compatible. It also leaves open a path to extending the mechanism, should we wish to do so in the future.
[The text below has been edited to reflect the design doc more accurately.]
The `try` built-in function takes a single expression as argument. The expression must evaluate to n+1 values (where n may be zero) where the last value must be of type `error`. It returns the first n values (if any) if the (final) error argument is nil, otherwise it returns from the enclosing function with that error. For instance, code such as
```Go
f, err := os.Open(filename)
if err != nil {
return …, err // zero values for other results, if any
}
```
can be simplified to
```Go
f := try(os.Open(filename))
```
`try` can only be used in a function which itself returns an `error` result, and that result must be the last result parameter of the enclosing function.
This proposal reduces the original [draft design](https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling.md) presented at last year's GopherCon to its essence. If error augmentation or wrapping is desired there are two approaches: Stick with the tried-and-true `if` statement, or, alternatively, “declare” an error handler with a `defer` statement:
```Go
defer func() {
if err != nil { // no error may have occurred - check for it
err = … // wrap/augment error
}
}()
```
Here, `err` is the name of the error result of the enclosing function. In practice, suitable helper functions will reduce the declaration of an error handler to a one-liner. For instance
```Go
defer fmt.HandleErrorf(&err, "copy %s %s", src, dst)
```
(where `fmt.HandleErrorf` decorates `*err`) reads well and can be implemented without the need for new language features.
The main drawback of this approach is that the error result parameter needs to be named, possibly leading to less pretty APIs. Ultimately this is a matter of style, and we believe we will adapt to expecting the new style, much as we adapted to not having semicolons.
In summary, `try` may seem unusual at first, but it is simply syntactic sugar tailor-made for one specific task, error handling with less boilerplate, and to handle that task well enough. As such it fits nicely into the philosophy of Go. `try` is not designed to address _all_ error handling situations; it is designed to handle the _most common_ case well, to keep the design simple and clear.
Credits
This proposal is strongly influenced by the feedback we have received so far. Specifically, it borrows ideas from:
- [Key Parts of Error Handling](https://gist.github.com/PeterRK/4f59579c1162cdbc28086f6b5f7b4fa2),
- issue [#31442](https://golang.org/issue/31442)
- and, related, issue [#32219](https://golang.org/issue/32219).
Detailed design doc
https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md
`tryhard` tool for exploring impact of `try`
https://github.com/griesemer/tryhard
[A thread on the Git mailing list](https://lore.kernel.org/git/CAOAHyQwyXC1Z3v7BZAC+Bq6JBaM7FvBenA-1fcqeDV==apdWDg@mail.gmail.com/) made the cautious attempt at bringing this issue to attention: enough names in Git are non-inclusive to cause unintended consequences. Most prominently, the default name of the default branch.
I create this ticket to track the progress of fixing this.
While I want to fix it rather sooner than later, I want to abide by the saying "If you want to go fast, go alone, if you want to go far, go together". I want to go far on this.
Any constructive comments are welcome!
I was playing for a while now with ways to make Scala's syntax indentation-based. I always admired the neatness of Python syntax and also found that F# has benefited greatly from its optional indentation-based syntax, so much so that nobody seems to use the original syntax anymore. I had some good conversations with @lihaoyi at Scala Exchange in 2015 about this. At the time, there were some issues with which I was not happy yet, notably how to elide braces of arguments to user-defined functions. I now have a proposal that addresses these issues.
Proposal in a Nutshell
- If certain keywords are followed by an end-of-line and an indented code block, assume
block structure as if braces were inserted around the indented block. Example:
```scala
def f(x: Int) =
val y = x * x
y + 1
```
is treated as equivalent to
```scala
def f(x: Int) = {
val y = x * x
y + 1
}
```
Or, for match expressions:
```scala
xs match
case x :: xs1 => ...
case Nil => ...
```
Or, using the new syntax for if-then-else:
```scala
if condition then
println("taken")
x
else
println("not taken")
y
```
Or for for-expressions:
```scala
for
x
x + 2
xs.collect with
case P1 => E1
case P2 => E2
```
Motivation
Why use indentation-based syntax?
- _Cleaner typography_: We are all used to write
```scala
def f() = {
...
}
```
But if we look at it with fresh eyes it's really quite weird how the braces embrace nothing but empty space. Geometrically the braces point _away_ from the enclosed space `...`. One could argue that other brace schemes are better. But there are good reasons why the scheme above is the most popular and in a sense arguments how to make braces look less awkward are themselves an indication that braces are fundamentally problematic. It's much simpler and cleaner to get rid of them:
```scala
def f() =
...
```
- _Regain control of vertical white space_. Most of us are very particular how to organize horizontal whitespace, with strict rules for indentation and alignment. We are much less demanding on vertical whitespace. With braces, we cannot be, because vertical whitespace is fully determined by the number of closing braces. So two definitions might be separated by a single blank line, or by many (almost) blank lines if there are closing braces. One could avoid this by putting several closing braces on one line, but this looks weird and therefore has not caught on.
- _Ease of learning_. There are [some powerful arguments](http://okasaki.blogspot.ch/2008/02/in-praise-of-mandatory-indentation-for.html) why indentation based syntax is easier to learn.
- _Less prone to errors_. Braces are a weak signal, much weaker than indentation. So when
brace structure and indentation differ, we misunderstand what was written. The code below
exhibits a common problem:
```scala
if (condition)
println("something")
action()
```
Indentation fools us to believe that `action` is executed only if `condition` is true. But of course that's not the case, because we forgot to add braces.
- _Easier to change_. A situation like the one above happens particularly often when one adds the first `println` statement after the fact. To protect against modification problems like this, some people suggest to always write braces even if they only enclose a single statement or expression. But that sort of boilerplatey defensive programming is generally not considered good practice in Scala.
- _Better vertical alignment_. In the most commonly used brace scheme, an if-then-else reads like this:
```scala
if (cond1) {
...
} else if (cond2) {
...
} else {
...
}
```
Instead of nicely aligned keywords, we find weird looking closing braces `}` at the beginning of the most important lines in this code. We are all used to this, but that does not make it good. I have recently changed my preferred style to:
```scala
if (cond1) {
...
}
else if (cond2) {
...
}
else {
...
}
```
This solves the alignment issue: The `if` and the `else`s are now vertically aligned. But it gives up even more control over vertical whitespace.
Impediments
What are the reasons for preferring braces over indentations?
- _Provide visual clues where constructs end_. With pure indentation based syntax it is sometimes
hard to tell how many levels of indentation are terminated at some point. In the code below, it is still easy to see that `j` is on the same nesting level as `g`. But if there were many more lines between the definitions, it might not be.
```scala
def f =
def g =
def h =
def i = 1
i
def j = 2
```
The proposal includes with _end comments_ a way to mitigate this issue.
- _Susceptibility to off-by-one indentation_. It's easy to make a mistake so that indentation is off by a space to the left or the right. Without proper guards, indentation based syntax would interprete misalignment as nesting which can lead to errors that are very hard to diagnose.
In the proposal, an indented block is always preceded by a keyword that _must_ be followed by a nested
[Excerpt ends. Open the original thread for the full text.]
The experiment is over – read the [recap](https://feross.org/funding-experiment-recap/) here!
Hey folks! 👋
I've already spoken to a few of you about this idea, but I'd like to share it with the broader community now that `standard` 14 has shipped.
**Background:** I think that the current model of sustaining open source is not working and we need more experimentation. This is one such experiment.
**What's the experiment?** Whenever `standard` 14 is installed, we'll display a message from a company that supports open source. The sponsorship pays directly for maintainer time. That is, writing new features, fixing bugs, answering user questions, and improving documentation.
**What's the goal?** My goal with this experiment is to make `standard` healthier. If we learn that the experiment works, perhaps we can help make all open source healthier, too. For complex reasons, companies are generally hesitant or unwilling to fund OSS directly. When it does happen, it's never enough and it never reaches packages which are transitive dependencies (i.e. packages that no one installs explicitly and therefore no one knows exists). Essentially, we have a public good which is consumed by huge numbers of users, but which almost no one pays for. Fortunately, there exists a funding model that usually works for public goods like this – ads. The goal of this experiment is to answer the question: Can we use ethical ads – ads that don't track users or collect data – to fund open source software?
**What does the code do?** The code for this experiment is available here: [`feross/funding`](https://github.com/feross/funding). Essentially, it calls `console.log()` on some text. There is no tracking, data collecting, or unexpected behavior. You can look at the code to verify – indeed, this is the beauty of open source!
**What will the funds be used for?** The funds raised so far ($2,000) have paid for Feross's time to [release Standard 14](https://standardjs.com/changelog.html#1400---2019-08-19) which has taken around five days. If we are able to raise additional funds, the next thing I'd like to focus on is out-of-the-box TypeScript support in StandardJS (one of the most common feature requests!) and modernizing the various text editor plugins (many of which are currently unmaintained). If others in the community are interested in taking the lead on any of these issues, I'd like to direct some funds to you.
Feedback welcome!
---
EDIT: This thread is now locked :lock:
For why + next steps, [scroll to the end >>](https://github.com/standard/standard/issues/1381#issuecomment-524589455)
EDIT: The experiment is over – Feross posted [a recap](https://feross.org/funding-experiment-recap/) on his blog
Changing Redis master-slave replication terms with something else
(Note: I'll update the description here as the discussion evolves)
Background
It was asked multiple times by activists in the area of inclusiveness for Redis to migrate to a different terminology than *master-slave*, specifically one that has no reference to slavery. Personally I [do not consider the effort worthwhile](http://antirez.com/news/122), but this is my personal opinion. On the other hand different Twitter threads, especially an exchange with DHH, together with many accounts of people starting to suggest to never use Redis again, made me reflecting about a few things. Specifically I think that it could be a problem for engineers just willing to use Redis because they believe is the right too for the job, to apply it in certain workplaces, because the terminology used in Redis may be a problem. I don't want, as a result of my ideas, to create problems to the Redis community.
At the same time once I started to be more open to the possibility of renaming such terms, I started to receive private complains from *multiple* people that contribute to the project for years, that are annoyed by the fact we'll have to do work that will not change the system in any way, and that will be costly, create compatibility issues.
My idea is to find a middle ground between all those things, because there are multiple issues caused by the change of terminology:
* PRs will no longer apply.
* We have commands such as `INFO` and `ROLE` that reply with protocol containing the *slave* term.
* There are 1500 occurrences inside the source code of the term *slave*.
* People having private trees and merging things as needed will get a lot of problems.
So this change can potentially create a lot of issues. Moreover many folks on Twitter do not understand the Redis culture of backward compatibility. Redis 5 that is now release candidate is backward compatible with the *first stable version of Redis released*, to the point it's a drop in replacement. This culture traditionally made sure that upgrade operations are simple, there is no useless work to do in the client side, and so forth. This is something big to consider.
Possible soltuion
Yet I want to give a signal, because in a [Twitter pool I started](https://twitter.com/antirez/status/1038094104129937408) too many people asked for the terminology to be changed. While I handle the Redis community, I do not want to be its *king*, I need to serve people here. A signal however does not need to create a number of problems across the community, so this is what I propose to do.
Short term changes
To start we do the following:
1. Change the documentation to refer to master-replica. If we take master, which should not offend anybody in 2018 (next year we'll see...), at least there are less things to change. Replicas is very used and is also used inside Redis Cluster already.
2. Alias SLAVEOF to REPLICAOF. You can still use SLAVEOF but now there is an option.
3. Refer to REPLICAOF inside the documentation.
4. Change the configuration directive as well from `slaveof` to `replicaof`.
5. Leave all the internals as they are mentioning still slave at source level as a first step. Changing all those things now would be a big issue because we are at release candidate state, and there are too many pending PRs.
6. Continue to reply with `slave` to INFO and ROLE, because this is a major breakage, for now.
Long term changes
1. At some point in the future, write an alternative to INFO, since anyway INFO is not the future of Redis data gathering... It's too limited, provides too many info at once, clients need to have to parse it. We'll design a new command, and in the new command we'll not refer to slaves, but to replicas.
2. When we are going to break a lot of things anyway, like for example with the inclusion of RESPv3, also change the `ROLE` command to output replica instead of slave. If clients detect it's a RESPv3 server, they now that ROLE will reply differently, that is, instead of "slave" it will reply with "replica".
3. The first thing that we'll have to replace a lot of things internally, because of some technical reason, so that many PRs will not apply anyway, switch the variable and function names as well. However **this is not acceptable to do as a change out of context**, because it will cause really a lot of problems. We have to put this inside a much larger change somewhere.
We'll provide no ETA for the second step, and I hope the community will understand our technical issues here. However I hope that people will appreciate that at least somebody is listening here. Certain people demanding this change are vocal and hostile, but I saw a huge amount of people on Twitter just asking peacefully to see some improvement. One thing is for sure: the master-slave terminology is not going to be used in the future, so let's make this change together, and move forward to our actual work, that is, to make Redis better and available.
Please provide your POV if you are among the contributors of Redis
I know this may seem gross, but I would like most comments here to be provided by people that did something in Redis-land in the latest few years. People sending PRs, opening issues, writing a client library, using Redis at scale and provided hints regularly, and so forth, don't just comment if you are a casual Github user jumping here to say "change it!" or "don't change it". This will just create noise. Thanks.
**Off topic and offensive comments will be removed**
In the past this was an editor.
Since some years it has turned into a political meme part.
I suggest to drop the political agenda and focus on the editor; or alternatively, if you don't want to work on notepad++ anymore, to officially hand it over to other people who can handle the project better than you can. I recently read on reddit that you controlled remote computers after charlie hebdo. This is by definition a trojan.
Something has to change. Notepad++ deserves a new main developer.
proposal: spec: reduce error handling boilerplate using ?
Proposal Details
Background
As discussed in the [introduction to an earlier, declined, proposal](https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md), Go programs have a lot of error checking code. In [surveys](https://go.dev/blog/survey2024-h1-results) error handling is listed as the biggest specific challenge people face using Go today.
There have been [many proposals](https://github.com/golang/go/issues?q=+is%3Aissue+label%3Aerror-handling) to address this, summarized in a [meta-proposal](https://go.dev/issue/40432).
This is yet another such proposal. This proposal has some similarities to [onerr return](https://go.dev/issue/32848), [add "or err: statement" after function calls for error handling](https://go.dev/issue/33029), and [use ? simplify handling of multiple-return-values](https://go.dev/issue/33074). It is in some ways a reworking of [simplify error handling with || err suffix](https://go.dev/issue/21161). There are probably a number of other proposals that fed into this one even if I can't remember them now.
The goal of this proposal is to introduce a new syntax that reduces the amount of code required to check errors in the normal case, without obscuring flow of control.
New syntax
This section is an informal description of the proposal, with examples. A more precise description appears below.
I propose permitting statements of the form
```Go
r, err := SomeFunction()
if err != nil {
return fmt.Errorf("something failed: %v", err)
}
```
to be written as
```Go
r := SomeFunction() ? {
return fmt.Errorf("something failed: %v", err)
}
```
The `?` absorbs the error result of the function. It introduces a new block, which is executed if the error result is not `nil`. Within the new block, the identifier `err` refers to the absorbed error result.
Similarly, statements of the form
```Go
if err := SomeFunction2(); err != nil {
return fmt.Errorf("something else failed: %v", err)
}
```
may be written as
```Go
SomeFunction2() ? {
return fmt.Errorf("something else failed: %v", err)
}
```
Further, I propose that the block following the `?` is optional. If the block is omitted, it acts as though there were a block that simply returns the error from the function. For example, code like
```Go
if err := SomeFunction2(); err != nil {
return err
}
```
may in many cases be written as
```Go
SomeFunction2() ?
```
Formal proposal
This section presents the formal proposal.
An assignment or expression statement may be followed by a question mark (`?`). The question mark is a new syntactic element, the first permitted use of `?` in Go outside of string and character constants. The `?` causes conditional execution similar to an `if` statement. A `?` at the end of a line causes a semicolon to be [automatically inserted](https://go.dev/ref/spec#Semicolons) after it.
A `?` uses a value as described below, referred to here as the _qvalue_.
For a `?` after an assignment statement, the qvalue is the last of the values produced by the right hand side of the assignment. The number of variables on the left hand side of the assignment must be one less than the number of values produced by the right hand side (the right hand side values may come from a function call as usual). It is not valid to use a `?` if there is only one value on the right hand side of the assignment.
For a `?` after an expression statement the qvalue is the last of the values of the expression. It is not valid to use a `?` after an expression statement that has no values.
The qvalue must be of interface type and must implement the [predeclared type `error`](https://go.dev/ref/spec#Errors); that is, it must have the method `Error() string`. In most cases it will simply be of type `error`.
A `?` is optionally followed by a block. The block may be omitted if the statement using `?` appears in the body of a function, and the enclosing function has at least one result, and the qvalue is assignable to the last result (this means that the type of the last result must implement the predeclared type `error`, and will often simply be `error`).
Execution of the `?` depends on the qvalue. If the qvalue is `nil`, execution proceeds as normal, skipping over the block if there is one.
If the `?` is not followed by a block, and the qvalue is not `nil`, then the function returns immediately. The qvalue is assigned to the final result. If the other results (if any) are named, they retain their current values. If they are not named, they are set to the zero value of their type. The results are then returned. Deferred functions are executed as usual.
If the `?` is followed by a block, and the qvalue is not `nil`, then the block is executed. Within the block a new variable `err` is implicitly declared, possibly shadowing other variables named `err`. The value and type of this `err` variable will be those of the qvalue.
That completes the proposal.
Examples
```Go
func Run() error {
Start() ? // returns error from Start if not nil
Wait() ? // returns error from Wait if not nil
return nil
}
```
```Go
func CopyFile(src, dst string) error {
r := os.Open(src) ? {
return fmt.Errorf("copy %s %s: %v", src, dst, err)
}
defer r.Close()
w := os.Create(dst) ? {
return fmt.Errorf("copy %s %s: %v", src, dst, err)
}
io.Copy(w, r) ? {
w.Close()
os.Remove(dst)
return fmt.Errorf("copy %s %s: %v", src, dst, err)
}
w.Close() ? {
os.Remove(dst)
return fmt.Errorf("copy %s %s: %v", src, dst, err)
}
}
```
```Go
func MustOpen(n string) *os.File {
f := os.Open(n) ? {
panic(err)
}
return f
}
```
```Go
func TestFileData(t *testing.T) {
f := os.Open("testfile") ? {
t.Fatal(err)
}
...
}
```
```Go
func CreateIfNotExist(name string) error {
f, err := os.OpenFile(name, os.O_EXCL|os.O_WRONLY, 0o666)
if errors.Is(err, fs.ErrExist) {
return nil
}
err ? // returns err if it is not nil
// write to f ...
}
```
Di
[Excerpt ends. Open the original thread for the full text.]
Update on "Co-authored-by: Copilot" in commit messages
What happened?
--------------
In 1.110, we added a setting to add Copilot as coauthor in commit messages by appending `Co-authored-by: Copilot copilot@github.com`. The setting `git.addAICoAuthor` has three different values:
* `off` - no attribution no matter whether Copilot assisted or not with the code in this commit
* `chatAndAgent` - add attribution if the commit contains code that was generated using the chat feature
* `all` - add attribution if the commit contains any kind of AI-generated code (chat, inline completions, NES)
The default value of the setting was `off`.
In 1.117 (public rollout started 4/22), we changed the setting default to `all`. There was a bug in the code that was not found in testing that attributed non-Copilot code completions to Copilot. This resulted in commit messages containing `Co-authored-by: Copilot copilot@github.com` even when the `disableAIfeatures` setting was turned on. This issue is tracked in https://github.com/microsoft/vscode/issues/313064.
Because of the bug, we changed the setting value to `chatAndAgent` in 1.118 (public rollout started 4/29).
You can disable the functionality by explicitly turning the feature off in user settings:
`"git.addAICoAuthor": "off"`.
What is happening now?
----------------------
1. We reverted the default for the AI attribution feature back to `off`. We also ensure that the feature is disabled when `disableAIFeatures` is set to true no matter the value of `git.addAICoAuthor`. This was done in https://github.com/microsoft/vscode/pull/313931. These fixes will be tested and released in 1.119 (public rollout starting 5/6).
2. We are reviewing our test and release processes for gaps to ensure we prevent similar issues in the future.
What will happen to the feature?
--------------------------------
Thank you for all your feedback. We'll make/retain the following changes:
1. The attribution is never applied for changes that are not AI-related.
2. Before adding a commit trailer, the user will have to give consent, no matter the default value of the setting.
3. We'll review the attribution message. A better approach might be using the approach of "assisted-by" attribution as described in https://github.com/microsoft/vscode/issues/313962.
4. The same approach would allow us to add model information as tracked in https://github.com/microsoft/vscode/issues/297353.
We will work on these improvements and iterate with the community via issues and discussions on GitHub to make sure the bugs are fixed and concerns are addressed.
Please, for the love of god. Can you stop releasing breaking changes on minor releases? It's absolutely infuriating that you guys keep doing this over and over again with complete disregard for people downstream using this package in production environments.
PLEASE STOP
LEARN HOW TO USE SEMVER PROPERLY
WHAT IS EVEN THE POINT OF USING SEMVER IF YOU DON'T GIVE A FLYING FUCK?
Have you heard of backwards compatibility? Do you even care?
This is not a serious project.
Announcement: A roadmap update on the VS Code C# extension
Over the past several months, the .NET team has evaluated ways to evolve the .NET tooling ecosystem and incorporate more capabilities into VS Code. Currently, the C# experience in VS Code is powered by OmniSharp. This is thanks to the leadership of[ Filip Wojcieszyn,](https://github.com/filipw)[ David Driscoll](https://github.com/david-driscoll), [Martin Björkström](https://github.com/bjorkstromm), and also, Jason Imison, who originally started the OmniSharp project over eight years ago. OmniSharp generated a lot of excitement by bringing the C# experience to VS Code, using the APIs and protocols that were available at that time. VS Code has since matured and today, the[ Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP) has become the standard mechanism through which modern developer tools speak to one another. We believe that moving the C# extension to LSP will help us accomplish our goal of creating an extensible and flexible tooling environment which easily integrates new experiences into C# for VS Code.
As we move towards a more dynamic future for the C# experience in VS Code, we intend to switch the extension to communicate entirely using LSP and plan to update the existing OmniSharp component to communicate in this manner as well. Utilizing LSP will allow us to bring innovative new features to the C# for VS Code extension. This includes making advanced capabilities available and, in some cases, closed-source experiences, such as IntelliCode. We plan to create a new “LSP Tools Host” component (not an official name 😊), which integrates both open-source components, like [Roslyn](https://github.com/dotnet/roslyn) and [Razor](https://github.com/dotnet/razor-tooling), with closed-source components, offering a wider array of tooling capabilities.
Once the “LSP Tools Host” is complete, this will become the default experience for the C# for VS Code extension. Existing users will be able to choose between the open-source OmniSharp powered system that exists today, or the new “'LSP Tools Host” which will provide access to additional experiences. The “LSP Tools Host” will not be open-sourced, but we plan to communicate with the community along the way to help guide our future plans.
We'd like to again thank everyone at OmniSharp and [all the contributors](https://github.com/OmniSharp/omnisharp-vscode/graphs/contributors) to this project for doing such an incredible job in helping to bring the C# developer experience to VS Code. We have been collaborating with the OmniSharp team and will be working with them to ensure that this process is smooth, and plan to work with them, as well as the broader community, in order to drive forward this exciting new future for .NET tooling.
Next Steps (these will ideally be issues that will be trackable, timelines of these may vary)
- [ ] Update the C# for VS Code extension to communicate with OmniSharp Server via LSP by default.
- [x] Switch the C# for VS Code extension to use the new “LSP Tools Host” by default and allow users to choose an alternative language server.
- [x] Ship the C# for VS Code extension with these new defaults bundled with more features “out of the box”.
- [x] Move the C# for VS Code extension from github.com/OmniSharp/omnisharp-vscode to github.com/dotnet/vscode-csharp and have Microsoft keep this up to date and ship it. This move will enable us to easily integrate and reuse the existing dotnet infrastructure assets, like our shared building, testing, and publishing system, and will reduce overall engineering costs.
__UPDATE__:
Thanks for the passionate feedback. I’d like to clarify a few things stated in the feedback that we failed to make clear.
The LSP implementations for Razor and C# will remain open-source (Roslyn and Razor) as they are today. The VS Code C# extension (ms-dotnettools.csharp) itself will also remain open-source. That which is open source today remains so and in active OSS development. This ensures that others outside of VS Code that use LSP continue to have access to C#.
This new host component is the bridge between open and closed source functionality letting us deliver both at the same time.
My installation log isn't for advertising space. If you want donations, please do the right thing and promote yourself in places where appropriate. My logs are long enough as it is without this.
The right thing to do is to remove it.
EDIT: An unmaintained fork is available: `core-js-without-ads`
net/http: remove support for status code 418 I'm a Teapot
Go HTTP implements the 418 I'm a Teapot status code in go/src/net/http/status.go.
Its reference is RFC7168, but really came from RFC2324, Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). Note the title - HTCPCP/1.0 is not HTTP/1.x.
HTCPCP was an April 1 joke by Larry to illustrate how people were abusing HTTP in various ways. Ironically, it's not being used to abuse HTTP itself -- people are implementing parts of HTCPCP in their HTTP stacks.
Node's support for the HTCPCP 418 I'm a Teapot status code (see ) has been used as an argument in the HTTP Working Group to preclude use of 418 in HTTP for real-world purposes.
While we have a number of spare 4xx HTTP status codes that are unregistered now, the semantics of HTTP are something that (hopefully) are going to last for a long time, so one day we may need this code point.
Please consider removing support for 418 from Go HTTP, since it's not a HTTP status code (even by its own definition). I know it's amusing, I know that a few people have knocked up implementations for fun, but it shouldn't pollute the core protocol; folks can extend Go easily enough if they want to play with non-standard semantics.
Thanks,
/cc @bradfitz
As I have **no possibility** to change anything on the website, I will post link to my open letter here. [My open letter to the community of PhantomJS](https://docs.google.com/document/d/1egB4CarmBN3HfntWJ7n1ETB-uDQBAwS5taPbKtxMloQ/edit?usp=sharing).
As I said on Skype yesterday @ariya - I have edited it.
Many thanks,
Node implements the `418 I'm a Teapot` status code in a few places.
Its source is [RFC2324, Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)](https://www.ietf.org/rfc/rfc2324.txt). Note the title - `HTCPCP/1.0` is *not* `HTTP/1.x`.
HTCPCP was an April 1 joke by Larry to illustrate how people were abusing HTTP in various ways. Ironically, it's not being used to abuse HTTP itself -- people are implementing parts of HTCPCP in their HTTP stacks.
In particular, Node's support for the HTCPCP `418 I'm a Teapot` status code has been used as an argument in the HTTP Working Group to preclude use of 418 in HTTP for real-world purposes.
While we have a number of spare 4xx HTTP status codes that are unregistered now, the semantics of HTTP are something that (hopefully) are going to last for a long time, so one day we may need this code point.
Please consider removing support for 418 from Node, since it's not a HTTP status code (even by its own definition). I know it's amusing, I know that a few people have knocked up implementations for fun, but it shouldn't pollute the core protocol; folks can extend Node easily enough if they want to play with non-standard semantics.
Thanks,
/cc @domenic @jasnell
Thank you for considering to add a new brand/company icon to Lucide. But, we're no longer accepting new brand icons.
**To know more:** https://github.com/feathericons/feather/issues/763
**We recommend using:** https://github.com/simple-icons/simple-icons
We've an [active issue](https://github.com/lucide-icons/lucide/issues/94) for removal of existing brand icons, please do share your feedback.
Description
This bug appeared in February with patch 7.31. It makes it very hard to play. It consists in the fact that Battle Pass has not yet been released, which is why I have no desire to play.
Example Match ID (and possibly Timestamp)
_No response_
Screenshots
This is a call for consensus on the proposal
Move DOM 4.1 to Candidate Recommendation.
Please reply before the end of Sunday 25 March 2018 by either providing a thumbs-up to this issue, or a comment explaining the reason for objecting. Silence will be considered assent to the outcome.