« first day (3908 days earlier)      last day (1040 days later) » 

9:01 AM
An informal poll. Who here builds his/her own computer, or have it built for him/her? And who buys off the shelf computer?
 
I build desktops, I've never bought one of those. But I buy laptops, never built one of those.
 
 
1 hour later…
10:10 AM
@FaheemMitha Same here. I've never even started exploring the possibility of building a laptop, while in the last (almost) fifteen years I kept replacing parts (as they got too old) in the desktop computer I had assembled.
 
10:37 AM
@terdon @fra-san So you both build your own desktop computers?
Is it hard? It seems hard to me. But I've never tried.
 
It's easy enough. Takes some time at first, but it boils down to screwing a few screws. The only tricky bit is the CPU and even that is just a question of being careful, applying thermal paste and not forcing anything.
 
@FaheemMitha I wouldn't say it's hard. Sure, practicing with some old piece of junk before putting your brand new components together would be a good idea. Sometimes I broke things, though it was never completely unexpected.
 
11:02 AM
@terdon @fra-san Hmm. I see. Maybe I'll give it a shot with some assistance. Did you use a book? Or books? Or help from the internet?
Labor is cheaper in India, and help possibly easier to find than in other places.
Oh, and do you need a specially clean place to assemble the computer?
I wasn't thinking of laptops at all. I've never heard of anyone building his/her own. It may not be possible.
Also, how long did it take you to build a desktop computer from sratch, assuming you did?
Also, is there any soldering involved?
 
11:24 AM
@FaheemMitha hell no
I put together a desktop to use as a NAS, from scratch. First time in my life. It was easy. It's mostly like this:
 
@FaheemMitha Good grief no. You just need a regular flat surface to lay the thing down, a Phillips screwdriver and, if you're also installing a CPU, a tube of thermal paste and a plastic card (usually included when you buy the paste, if not any membership card or expired credit card will do). No other tools or special equipment needed at all.
 
Hardest part was deciding on what exact components to buy.
 
I haven't done this in a while, but I don't think I used help from the internet. I did know the basics, however. But still, most of what I needed was "which cable connects to which port on the motherboard" and that is in the motherboard's manual.
 
And my desktop casing didn't come with enough screws to secure two HDDs. That was annoying.
And finding a screwdriver with a non-magnetic tip.
 
@AndrasDeak Why?
 
11:30 AM
Because I'm not putting anything magnetic near my new HDDs :P
 
@AndrasDeak @terdon OK. Thank you for the assurance. Certainly, the hardest part will be finding suitable components at a reasonable price.
 
The magnet on the screwdriver is not going to affect your HDD, surely. At least, every single build I've made in the past 25 years or so used magnetic screwdrivers.
 
@terdon indeed, and yet
 
If they can't deal with that level of magnetism, you might as well throw them out now.
 
@AndrasDeak You don't use SSDs? Also, don't magnets need to be really powerful to affect HDDs?
 
11:31 AM
@FaheemMitha no and maybe (depends on the distance)
For my NAS I absolutely want persistent storage. And SSDs are too expensive. I needed at least two 2 TB disks for raid.
 
74
Q: Can Screwdrivers With Magnetic Tips Cause Damage To Electronics?

Boris_yoWhile it is convenient to pick screws with magnetized tips I wonder if the magnetism can cause any damage to electronics?

 
@terdon neat
 
While we're on the subject, are computers sensitive to heat? One computer person told me that I should keep it at 24C. Or possibly below.
 
I found several such discussions and they all agree that it isn't an issue.
 
I don't quite achieve that, but I do leave the A/C on in the room where I have my computer.
 
11:33 AM
> These are simple physics, the magnetic tip has a magnetic field which will induce ferromagnetic wave into the conductive materials around it
Oof
 
@FaheemMitha BS. I mean, yes, the colder the room holding your computer, the better the computer will be cooled and the better it will work. So servers tend to be kept in refrigerated (air conditioned) rooms. But there is no need to do so unless you are building a server.
 
@FaheemMitha working temperatures are higher anyway. You only have to worry about the PC's own heat if it's doing a lot of work. Hence ACs in server rooms.
 
@terdon I see. Does that apply even to places where the temperature can reach 40C and above, and which are also very humid?
 
@AndrasDeak Yes, but so what? Everything is protected, you won't get anywhere near anything that could be affected.
 
@terdon I mean that quote is utter bullshit
 
11:35 AM
@AndrasDeak Ah, better :)
 
@AndrasDeak My computer seems to get quite warm easily. It might be partly age. Or something else. I think it has adequate ventilation. We also cleaned it recently.
 
@FaheemMitha Yes. Your machine will regularly reach temperatures approaching 100 degrees Celsius. And yes, when it is very hot outside, that does mean the internal temperature of the machine can go up but, again, unless you're doing something very intense, I doubt it will matter.
 
@terdon OK.
 
More importantly, haven't you been using computers in that climate for years? Surely you'd have noticed if they can't work outside an air conditioned room.
 
@terdon All evidence seems to be of the anecdata kind. Which is fine, but I won't stop being careful when I build a PC every few decades.
 
11:36 AM
@FaheemMitha Change the thermal paste on the CPU.
 
@terdon I've never used them outside an air-conditioned room, so no.
I don't get out much.
 
@AndrasDeak All evidence on both sides.
 
What both sides?
 
@FaheemMitha Then the question is moot anyway: you will be using this one in the same room.
 
@terdon I'd rather change the CPU, in that case. But on a MB this old, I'm not sure that would be practical. Or worth it.
@terdon Well, I could turn the A/C off. :-)
 
11:38 AM
@AndrasDeak Nobody is suggesting it actually does cause harm, at best it's people who worry about it for no specific reason. So the evidence on both sides is weak. I'm pretty sure we can find a good answer if we look though. I can guarantee it has never been a problem for me and seriously, if that were an issue our machines would be breaking all the time.
 
@terdon yes, I'm not aware of cases where magnetic screwdrivers did any harm.
And I never said they can
 
I always had the impression that HDDs are pretty robust. And they must be exposed to magnetism from time to time, one way or the other.
 
 
3 hours later…
3:01 PM
@StéphaneChazelas Notice you use space in the shebang for scripts in some posts. Any particular reason for this? (Ignore if you like ;))
 
@user3342816 A lot of people do it that way. You mean "#! /bin/bash" instead of "#!/bin/bash", right?
It makes no difference to anything other than what you personally find easier to uise and/or more readable/clearer.
 
Yes, that is what I mean
I have never used space, but yes, find it more clear
 
Of course, Stéphane being Stéphane, there may be some sort of obscure shell or system or other edge case that can support only one of the two.
@user3342816 Go for it then.
 
Yup. And, yes, lol, that was why I @'tted him
 
Ah. I just read the comment you linked to. Apparently systemd doesn't like it, huh? Sigh.
 
3:05 PM
I searched systemd on github for a bug report on it, but could not find one
Only about shebang not being on line 1
 
According to wikipedia, this was even in the very first implementation:
> Dennis Ritchie introduced kernel support for interpreter directives in January 1980, for Version 8 Unix, with the following description:[25]
> 5) It will allow other interpreters to fit in more smoothly.

To take advantage of this wonderful opportunity,
put

#! /bin/sh

at the left margin of the first line of your shell scripts.
Blanks after ! are OK.
In computing, a shebang is the character sequence consisting of the characters number sign and exclamation mark (#!) at the beginning of a script. It is also called sha-bang, hashbang, pound-bang, or hash-pling.When a text file with a shebang is used as if it is an executable in a Unix-like operating system, the program loader mechanism parses the rest of the file's initial line as an interpreter directive. The loader executes the specified interpreter program, passing to it as an argument the path that was initially used when attempting to run the script, so that the program may use the file as...
 
Yes, limited by size iirc
There it was, hah. A few lines above the comment I linked «Note that early versions of Unix had a limit of 16 characters in this interpreter line, so you couldn’t have an arbitrary amount of whitespace there. This restriction no longer applies in modern kernels.»
 
That doesn't make sense though. I mean, granted, the extra space would eat an extra character, but if the stuff on wikipedia is right, the very first version to ever support a shebang, explicitly allowed and even suggested (the example had it) a space.
 
a space isn't an arbitrary amount of space though
 
@AndrasDeak it seems to me that "new hard drive" and "expired hard drive" are the two times I'd be OK with a magnet being near it.
@terdon probably someone had #! /usr/bin/env /usr/local/bin/oh-my-zsh :)
 
3:17 PM
@JeffSchaller yeah, that's fair
 
@AndrasDeak not trying to polarize the discussion, just thought I'd throw my two bits in ;)
2
 
whew, stopped short of a table flip
 
:)
 
@JeffSchaller you should be ashamed of yourself. And I snickered, so I should be too.
 
3:21 PM
@terdon if you find yourself snickering too much, maybe put the magnetized screwdriver down for a bit -- you might be inducing a current in your fillings
 
@user3342816 mostly a matter of taste. See also unix.stackexchange.com/q/351729/22565
 
@StéphaneChazelas Apparently, it breaks systemd though.
At least according to this:
8
A: Is space allowed between #! and /bin/bash in shebang?

Luke YeagerFYI, systemd fails to parse shebangs with a space. With a service like this: [Service] Type=oneshot ExecStart=/root/foo.sh ... and a shebang like this: #! /bin/bash ... you get an error like this: systemd[32834]: foo.service: Failed at step EXEC spawning /root/foo.sh: Exec format error ...

 
Then, that's just a bug in systemd
 
Yep.
 
Don't most people considering using bug and systemd in one sentence redundant?
 
3:25 PM
I always put a space myself and have for decades.
 
If there's an existing bug report in systemd, it'd be nice to link it to that answer, just so we have a chance of staying current.
 
@StéphaneChazelas Nice, thanks. And I like it and will try to start to adapt it. But old habits and all that
@terdon From the looks of it v8 had 32 char,
`#define SHSIZE 32` and
`char ux_shell[SHSIZE]; /* #! and name of interpreter */`
 
couldn't find an existing (open) bug searching their github open issues for "space"; I only scanned the titles, so I either missed it, or it's a closed issue, or it hasn't been reported yet
 
Yes, looked for it as well a while back. Could not find any
(Or guess that might have been 31 char if NULL was included in that)
 
3:40 PM
I can't reproduce the systemd issue on Ubuntu 20.04. The ENOEXEC error message in that answer also suggests the issue is elsewhere. I'd expect a ENOENT error if systemd tried to execute " /bin/bash" instead of "/bin/bash".
 
3:56 PM
If interested in v8 shell:
https://github.com/Alhadis/Research-Unix-v8/blob/master/v8/usr/sys/h/user.h#L24
https://github.com/Alhadis/Research-Unix-v8/blob/master/v8/usr/sys/sys/sys1.c#L260
 
In case it's not been mentioned already (other than the Q&A I referenced above), one of the best references about Unix shebang is in-ulm.de/~mascheck/various/shebang
 
Ah, nice. It's rather fun, (when having the time), to look et these things.
 
4:15 PM
I'm not sure why systemd would want to parse shebangs by itself. Also, I'd expect a "no such file or directory" error if systemd tried to execute " /bin/bash" instead of "/bin/bash". It all suggests systemd is fine but your issue was elsewhere. Maybe you had a UTF-8 BOM at the start of your #! /bin/bash script? — Stéphane Chazelas 19 mins ago
^^ That's the main issue isn't it? That's what I found surprising anyway, why would systemd be reinventing the wheel?
 
@terdon it has picked up a bit of a reputation for reinventing squares, rectangles, and triangles, so maybe wheels aren't far behind
 
Ah, but if it were, then surely the error wouldn't be mentioning kernel calls (EXEC) right?
 
4:36 PM
I find Stéphane's comment plausible; perhaps there was some other kind of space there (tab/vertical-tab, etc). Untested hypothesis. Too many other problems at the moment to generate & troubleshoot this one :)
 
@terdon I read it as I'm not sure why systemd would want to parse shebangs by itself. = I have not seen any indication that systemd is parsing the shebang, and why would it - but I might be wrong.
 
I mean, from a simplicity standpoint, why would systemd dig into the script/executable pointed at? Why not just exec() it and be transparent about the results?
 
Believe it is from here: github.com/systemd/systemd/blob/… and tried to backtrack it, but not there (yet) and might not be
 
heh! not laying any blame at all, but as I went backwards and landed in exec_command_line, the comment FIXME: this doesn't really handle arguments that have spaces and ticks in them caught my eye
(man, that's a lot of work they do in systemd to execute things)
 
Good catch. exec_child with 14 arguments and I almost stopped there.
 
4:51 PM
my wife and I did exec_child a while back but I think 14 arguments is a bit low
 
lol
There are some structs and pointers in there
 
children, arguments, instructions, pointers ... what is this, Interpersonal SE?
 
Retrospective introspection
/me is back to Lisey's Story to get some pointers on booleans
 
 
2 hours later…
7:01 PM
Has anyone tried github.com/gruns/icecream? Looks relatively new. Just read an articla about it which came up in my news feed.
 
7:14 PM
@FaheemMitha half the functionality is provided by f-strings in newer python versions
In [320]: d = {'potato': {'pot', 'at', 'o'}}
     ...: print(f'{d["potato"]=}')
d["potato"]={'pot', 'at', 'o'}
 

« first day (3908 days earlier)      last day (1040 days later) »