Forum comments in chronological order
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
- Jun 2007
- Aug 2007
- Oct 2007
- Nov 2007
- Dec 2007
- Jan 2008
- Feb 2008
- Mar 2008
- Apr 2008
- May 2008
- Jun 2008
- Jul 2008
- Aug 2008
- Sep 2008
- Oct 2008
- Nov 2008
- Dec 2008
- Jan 2009
- Feb 2009
- Mar 2009
- Apr 2009
- May 2009
- Jun 2009
- Jul 2009
- Aug 2009
- Sep 2009
- Oct 2009
- Nov 2009
- Dec 2009
- Jan 2010
- Feb 2010
- Mar 2010
- Apr 2010
- May 2010
- Jun 2010
- Jul 2010
- Aug 2010
- Sep 2010
- Oct 2010
- Nov 2010
- Dec 2010
- Jan 2011
- Feb 2011
- Mar 2011
- Apr 2011
- May 2011
- Jun 2011
- Jul 2011
- Aug 2011
- Sep 2011
- Oct 2011
- Nov 2011
- Dec 2011
- Jan 2012
- Feb 2012
- Mar 2012
- Apr 2012
- May 2012
- Jun 2012
- Jul 2012
- Aug 2012
- Sep 2012
- Oct 2012
- Nov 2012
- Dec 2012
- Jan 2013
- Feb 2013
- Mar 2013
- Apr 2013
- May 2013
- Jun 2013
- Jul 2013
- Aug 2013
- Sep 2013
- Oct 2013
- Nov 2013
- Dec 2013
- Jan 2014
- Feb 2014
- Mar 2014
- Apr 2014
- May 2014
- Jun 2014
- Jul 2014
- Aug 2014
- Sep 2014
- Oct 2014
- Nov 2014
- Dec 2014
- Jan 2015
- Feb 2015
- Mar 2015
- Apr 2015
- May 2015
- Jun 2015
- Jul 2015
- Aug 2015
- Sep 2015
- Oct 2015
- Nov 2015
- Dec 2015
- Jan 2016
- Feb 2016
- Mar 2016
- Apr 2016
- May 2016
- Jun 2016
- Jul 2016
- Aug 2016
- Sep 2016
- Oct 2016
- Nov 2016
- Dec 2016
- Jan 2017
- Feb 2017
- Mar 2017
- Apr 2017
- May 2017
- Jun 2017
- Jul 2017
- Aug 2017
- Sep 2017
- Oct 2017
- Nov 2017
- Dec 2017
- Jan 2018
- Feb 2018
- Mar 2018
- Apr 2018
- May 2018
- Jun 2018
- Jul 2018
- Aug 2018
- Sep 2018
- Oct 2018
- Nov 2018
- Dec 2018
- Jan 2019
- Feb 2019
- Mar 2019
- Apr 2019
- May 2019
- Jun 2019
- Jul 2019
- Aug 2019
- Sep 2019
- Oct 2019
- Nov 2019
- Dec 2019
- Jan 2020
- Feb 2020
- Mar 2020
- Apr 2020
- May 2020
- Jun 2020
- Jul 2020
- Aug 2020
- Sep 2020
- Oct 2020
- Nov 2020
- Dec 2020
- Jan 2021
- Feb 2021
- Mar 2021
- Apr 2021
- May 2021
- Jun 2021
- Jul 2021
- Aug 2021
- Sep 2021
- Oct 2021
- Nov 2021
- Dec 2021
- Jan 2022
- Feb 2022
- Mar 2022
- Apr 2022
- May 2022
- Jun 2022
- Jul 2022
- Aug 2022
- Sep 2022
- Oct 2022
- Nov 2022
- Dec 2022
- Jan 2023
- Feb 2023
- Mar 2023
- Apr 2023
- May 2023
- Jun 2023
- Jul 2023
- Aug 2023
- Sep 2023
- Oct 2023
- Nov 2023
- Dec 2023
- Jan 2024
- Feb 2024
- Mar 2024
- Apr 2024
- May 2024
- Jun 2024
- Jul 2024
- Aug 2024
- Sep 2024
- Oct 2024
- Nov 2024
Apr 2016
Anonymous
Fri 1-Apr-2016 09:41
Fri 1-Apr-2016 09:41
[KC] I love this Kernighan quote. As the author of the best language and best programming book ever, he's one of the computing greats who will be remembered forever.
Nice article too Linus. I think it sure takes twice the effort to debug, for the initial effort in analysis and then implementation has to be revisited, before the problem can be seen in context of the original solution.
"That can't possibly be happening, the code just cannot do that!". I love problems that seem so impossible. The more people tell me that, the more obvious I know the solution will be when we find it.
Subtle problems are much more difficult to find :)
From my own (30yrs+) experience in commercial software, Kernighan is right.
Nice article too Linus. I think it sure takes twice the effort to debug, for the initial effort in analysis and then implementation has to be revisited, before the problem can be seen in context of the original solution.
"That can't possibly be happening, the code just cannot do that!". I love problems that seem so impossible. The more people tell me that, the more obvious I know the solution will be when we find it.
Subtle problems are much more difficult to find :)
From my own (30yrs+) experience in commercial software, Kernighan is right.
A case against syntax highlighting
Anonymous
Sat 2-Apr-2016 11:15
Sat 2-Apr-2016 11:15
I don't mind having all the bell's'whistles, but I also use the most basic of tools (ed, ftw!) from time to time, because I don't want to have to waste an hour setting up "my" environment if I need to do something with a system which is new to me.
git clone https://github.com/user/dotfiles.git
or
vagrant init my/box && vagrant up && vagrant ssh
Yes, it takes time to set up the environment initially. But not having my tools set up causes me to waste a lot of time that could be productive. I feel handicapped without vim and git. I *can* use vi, sed, and cp, but I can work faster when higher level tools are available.
mporshnev
Max Porshnev
Wed 6-Apr-2016 14:37
Max Porshnev
Wed 6-Apr-2016 14:37
How does the sync between multiple POs work? What you gonna see if you sniff the interconnect with an oscilloscope?
Anonymous
Sat 9-Apr-2016 01:04
Sat 9-Apr-2016 01:04
really cool thanx to share your knowledge
Anonymous
Sun 10-Apr-2016 03:34
Sun 10-Apr-2016 03:34
Hello Linus! I have a question about what happens when you kill a process in raw mode. If you launch, say, vim in a terminal and then run `killall -9 vim` from a separate terminal, you would expect the original terminal to be left in raw mode after vim exits (as if you had run `stty raw` or something). However, surprisingly, it is left in canonical mode. I have tried this with multiple shells, terminal emulators, and OS's, and only urxvt behaves differently from this. My question is, what mechanism resets the terminal in this case?
-- kc
-- kc
Wintergatan Marble Machine 8-bit jam
Anonymous
Thu 14-Apr-2016 08:45
Thu 14-Apr-2016 08:45
COOL!!!
lcu
Luis Colorado
Thu 14-Apr-2016 14:19
Luis Colorado
Thu 14-Apr-2016 14:19
Hello Linus! I have a question about what happens when you kill a process in raw mode. If you launch, say, vim in a terminal and then run `killall -9 vim` from a separate terminal, you would expect the original terminal to be left in raw mode after vim exits (as if you had run `stty raw` or something). However, surprisingly, it is left in canonical mode. I have tried this with multiple shells, terminal emulators, and OS's, and only urxvt behaves differently from this. My question is, what mechanism resets the terminal in this case?
-- kc
Historically, the UNIX tty driver used to reset terminal settings to known values (300bps, some parity, cooked mode, etc.) in close() callback (which was called by the kernel only on last close to the device only) but this was found nonsense, because normal initial session programs like old /etc/getty (yes, it was stored there) were to initialize it fully. This had some drawbacks, because this last close could happen when not needed and the reasons to conserve settings between close where significant.-- kc
This requirement has been dropped from linux kernel and now linux allows you to fix terminal settings from a previous shell command without losing those settings because of a last close issue.
Anonymous
Mon 18-Apr-2016 08:07
Mon 18-Apr-2016 08:07
Wow... I though my entry was clever, but yours blows my mind. Well done
Anonymous
Fri 22-Apr-2016 04:21
Fri 22-Apr-2016 04:21
Thank you sir. You have been helpful.
Anonymous
Tue 26-Apr-2016 14:58
Tue 26-Apr-2016 14:58
Hi!
Don't know if you still read postings here, but anyhow:
The tracker fills the SDL audiobuffer using the audiocb callback, which in turn calls the interrupthandler() routine. Given the current audio settings (16KHz / AUDIO_U8 / 1 channel) the interrupthandler gets 16K calls / second. The interrupthandler in turn calls the playroutine() method once every 180th call (callbackwait counter). To me this translates to an update frequency of about 89Hz for the tracker, not 50Hz as stated in the code. Am I all wrong or is the 50Hz comment in the source code wrong?
Thank you very much for these inspiring projects!!!
Don't know if you still read postings here, but anyhow:
The tracker fills the SDL audiobuffer using the audiocb callback, which in turn calls the interrupthandler() routine. Given the current audio settings (16KHz / AUDIO_U8 / 1 channel) the interrupthandler gets 16K calls / second. The interrupthandler in turn calls the playroutine() method once every 180th call (callbackwait counter). To me this translates to an update frequency of about 89Hz for the tracker, not 50Hz as stated in the code. Am I all wrong or is the 50Hz comment in the source code wrong?
Thank you very much for these inspiring projects!!!