code logs -> 2006 -> Sun, 26 Nov 2006< code.20061125.log - code.20061127.log >
--- Log opened Sun Nov 26 00:00:29 2006
00:00
< AnnoDomini>
Right. So we agree on that method of conversion between the two encodings?
00:00
<@ToxicFrog>
Yes.
00:01
< AnnoDomini>
Right. If I convert two at once, I negate them both and add 10. Correct?
00:01
< AnnoDomini>
I mean...
00:01
< AnnoDomini>
I'm supposed to add them up.
00:01
<@ToxicFrog>
Right.
00:02
< AnnoDomini>
First I negate, add them. Then I add 10.
00:02
<@ToxicFrog>
First you negate each one and add 1 to it, then add them together.
00:02
<@ToxicFrog>
Although the other method might work. Hmm.
00:03
< AnnoDomini>
I'm using addition properties.
00:03
< AnnoDomini>
Not entirely sure they apply here.
00:04
< AnnoDomini>
Anyway. I'm getting the correct output, so I guess I haven't screwed anything up.
00:05
<@ToxicFrog>
Yeah, I think invert-sum-add_10 will behave the same as invert-add_1-sum.
00:05
<@ToxicFrog>
But I can't prove it,.
00:06
< AnnoDomini>
Am I correct to assume that I won't get outside of a six-bit number on the output here?
00:10
< AnnoDomini>
Hmm.
00:10
< AnnoDomini>
There might be a seven-bit one, right?
00:13
< AnnoDomini>
If I specify 10000 as an input, I'd get 11111, plus 1 that's 100000, and twice that is 1000000.
00:13
< AnnoDomini>
Now, my original injuiry. Which of these fuskers is the sign bit now?
00:15
< AnnoDomini>
*inquiry
00:16
< AnnoDomini>
Hello?
00:17
< EvilDarkLord>
I suggest waiting a moment, someone usually gets around to answering once they see it and can think of something.
00:17
< AnnoDomini>
I'm not going anywhere.
00:19
<@ToxicFrog>
Sorry, was generating base-3 permutations.
00:20
<@ToxicFrog>
And you aren't going to get any 7-digit results.
00:20
<@ToxicFrog>
When doing the two's complement conversion, you discard the carry bit.
00:20
< AnnoDomini>
Right. The seventh is going to the void of space.
00:21
<@ToxicFrog>
So, 10000 (not ->) 11111 (+1 ->) 00000
00:22
<@ToxicFrog>
The output will be six bits, including the carry bit.
00:23
< AnnoDomini>
Hmmm.
00:23
<@ToxicFrog>
That is to say, basically what you're doing here is a 5-bit adder.
00:24
< AnnoDomini>
I ought to do this (NOT->+1)+(NOT->+1), what with the carry bit being gone.
00:24
<@ToxicFrog>
All the conversion before and after is just window dressing.
00:24
<@ToxicFrog>
Yes.
00:24
<@ToxicFrog>
So, you're adding two 5-bit two's-complement binary numbers.
00:25
<@ToxicFrog>
The output will be six bits - five "real" bits and the carry bit.
00:25
<@ToxicFrog>
As to question of which one is now the sign bit - the carry bit is.
00:25 Raif [~corvusign@Nightstar-7918.hsd1.mn.comcast.net] has quit [Killed (NickServ (GHOST command used by Raif_))]
00:26 Raif_ [~corvusign@Nightstar-7918.hsd1.mn.comcast.net] has joined #Code
00:26 Raif_ is now known as Raif
00:29
<@ToxicFrog>
In effect, you're adding two 5-bit 2C numbers to get one 6-bit 2C numbers with the carry bit as the MSB, which also makes it the sign bit.
00:29 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
00:31 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has joined #code
00:31
< Takyoji>
how do I use the SSH of my website?
00:31
< Takyoji>
I need Unix/Linux, right?
00:32
< EvilDarkLord>
Um. PuTTY?
00:33
< Takyoji>
Which is?
00:33
< EvilDarkLord>
A program I use on Windows for SSH.
00:33
< Takyoji>
oh k
00:34
<@ToxicFrog>
PuTTY is a good choice. If you have Cygwin, it comes with OpenSSH. There's probably a windows native build of OpenSSH as well. And there's Filezilla if you only need SFTP and not an actual shell. Etc.
00:38
< Takyoji>
I know I may sound dumber than a doorknob but, what is SSH exactly?
00:40
< Takyoji>
I understand that is partially a way to remote access a webserver, but what is the primary purpose?
00:40
< Takyoji>
remotely*
00:40
< EvilDarkLord>
Being secure while doing it?
00:40
< Takyoji>
ohh
00:41
< EvilDarkLord>
SSH = Secure Shell :)
00:41 Mahal [~Mahal@Nightstar-12600.worldnet.co.nz] has joined #Code
00:41 mode/#code [+o Mahal] by ChanServ
00:41
< Takyoji>
ahh
00:41
< Takyoji>
So that nobody can see the data being transfered to thewebsite when I'm working on it
00:41
< Takyoji>
correct?
00:42
<@ToxicFrog>
Yes.
00:42
<@ToxicFrog>
Including things like, say, your password.
00:43
<@ToxicFrog>
To massively oversimplify, it's encrypted telnet.
00:43
<@ToxicFrog>
This is a massive oversimplification because it also has a bunch of features telnet doesn't, like tunneling, file transfer support, and the like.
00:48 MyCatOwnz [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
00:52 * AnnoDomini grrrrs.
00:53
<@Mahal>
Are we speaking of SSH?
00:53
< EvilDarkLord>
We are.
00:53
< AnnoDomini>
Adding 11111 (-15) and 01110 (+4), I get 011111.
00:53
<@ToxicFrog>
Indeed.
00:53
< MyCatOwnz>
But SSH is not grrrrrr worthy! Perhaps Anno is referring to, uh, CIFS?
00:54
< EvilDarkLord>
Anno is referring to adding bits, I believe.
00:54
< AnnoDomini>
*+14, there.
00:54
< AnnoDomini>
The sign bit, the sixth one, is empty, and therefore the back conversion is not happening.
00:54
<@ToxicFrog>
You should get 101101
00:55
<@ToxicFrog>
...wait, no
00:55
<@ToxicFrog>
Goddamit, where's my notepad
00:55
< MyCatOwnz>
How wide is the data field?
00:55
< AnnoDomini>
10001+01110+00001=11111, IIRC.
00:55
<@ToxicFrog>
Where's the 00001 come from?
00:55
< MyCatOwnz>
'Cuz I'm pretty certain that 11111 ain't -15 for five bits or for six. Are you sane?
00:56
< AnnoDomini>
Wait... without that 1.
00:56
<@ToxicFrog>
...yeah, MCO's right.
00:56
<@ToxicFrog>
11111 is -1.
00:56
< AnnoDomini>
In that case, 11111 is -1111.
00:56
< MyCatOwnz>
AnnoDomini: What bloody number size are you using?
00:56
<@ToxicFrog>
...are you talking two's complement or sign-magnitude?
00:57
< MyCatOwnz>
Four bits? Five? Six? Eight?
00:57
<@ToxicFrog>
Because it's -1111 in sign-magnitude, and -1 in two's-complement.
00:57
< AnnoDomini>
Five. I think.
00:57
<@ToxicFrog>
And the adder works in two's-complement.
00:57
<@ToxicFrog>
Five.
00:57
< MyCatOwnz>
ToxicFrog: two's complement is delicious.
00:57
<@ToxicFrog>
MCO: Yes.
00:57
<@ToxicFrog>
AD is writing this bizarre adder that takes input and output as sign-magnitude but works internally as two's-complement.
00:58
< MyCatOwnz>
ToxicFrog: ahhhh, I see.
00:58
< MyCatOwnz>
AnnoDomini: WHAT THE HELL IS UP WITH YOUR NOODLES?
00:58
< AnnoDomini>
WHY THE HELL ARE YOU SHOUTING?!
00:59
< MyCatOwnz>
AnnoDomini: 'cuz I'm drunk. Also, things seem funnier at this time of the morning.
00:59
< EvilDarkLord>
You're European, MCO?
00:59
< MyCatOwnz>
AnnoDomini: to quote some random Korean Starcraft player's philosophy on Life, the Universe and Everything:- "Kekekekeke!"
00:59
< AnnoDomini>
Right. 10001+01110=11111. OR am I mistaken here?
00:59
< MyCatOwnz>
EvilDarkLord: mmmmmyyyyup, It's 1AM.
00:59
<@ToxicFrog>
AD: correct.
00:59
< MyCatOwnz>
EvilDarkLord: British, to be precise.
01:00
< AnnoDomini>
Over here is 2, and over at EDL's it's 3.
01:00
< Janus>
I think he was refering to the drunkness instead of the time.
01:01
<@ToxicFrog>
AnnoDomini: remind me what numbers you were adding again, and what the answer was?
01:01
<@ToxicFrog>
I'm lost agian.
01:01
< EvilDarkLord>
No, I was referring to the time. Or were you referring to someone else? :p
01:01
< AnnoDomini>
-15+14=-1.
01:01
<@ToxicFrog>
Right.
01:01
<@ToxicFrog>
Except in binary.
01:01
< MyCatOwnz>
Janus: oh, well, in that case: drunk! I have a low alcohol tolerance. And I had some absolutely *awful* cider tonight.
01:01
< MyCatOwnz>
Janus: tasted like somebody peed in a glass, honestly.
01:02
<@ToxicFrog>
You were using sign-magnitude, and putting in 11111 and 01110, yes?
01:02
<@ToxicFrog>
...oh, shit.
01:02
< AnnoDomini>
10001+01110=011111 (All this is 2C.)
01:02
<@ToxicFrog>
You're right.
01:02
<@ToxicFrog>
The carry bit doesn't go high but it's still negative.
01:02
< AnnoDomini>
What now?
01:02
<@ToxicFrog>
Give me a minute.
01:04
< AnnoDomini>
Got lots of time. I don't think I'll sleep tonight. Still got padding for my NaNo to write, aside from this thing.
01:05
< Janus>
Cider that tastes like pee... Maybe you're just experiencing a tummy ache.
01:05
<@ToxicFrog>
Ok, the 5th bit - the MSB that is not the carry bit, that is - is the sign bit.
01:05
< AnnoDomini>
Okay.
01:05
< AnnoDomini>
Will it always be the sign bit?
01:06
<@ToxicFrog>
Yes.
01:06
<@ToxicFrog>
The carry bit does have some useful properties in this context, but I'm too tired to remember what they are right now.
01:07
<@ToxicFrog>
Also, just out of morbid curiosity - why are you taking input and output in sign-magnitude? Is it part of the requirements?
01:07
< MyCatOwnz>
ToxicFrog: you can make a few additive algorithms faster using it. Also, it makes it easy (I think) to detect conditions like overflow in unsigned integers.
01:08
< AnnoDomini>
ToxicFrog: I was under the impression that it's the way it should be done.
01:08
< AnnoDomini>
The problem description is very vague...
01:09
<@ToxicFrog>
AD: two's-complement is much easier to work with, which is the reason it's used internally in basically all modern computer systems.
01:09
< AnnoDomini>
"Build a circuit for subtraction of two four-bit integers."
01:09
<@ToxicFrog>
Hmm.
01:09
<@ToxicFrog>
You're right, that is vague.
01:10
< AnnoDomini>
I'm basing this off of the example, which took two natural numbers and added them, using either one's or two's complement.
01:10
< AnnoDomini>
But the input and output were always sign-magnitude.
01:10
<@ToxicFrog>
I'd interpret that as for 4-bit, two's-complement - that is to say, the input to the circuit is two 4-bit numbers, the input to the adder is A,(¬B +1), and the output of the adder is a 4-bit two's-complement and a carry bit.
01:10
<@ToxicFrog>
Oh.
01:10
<@ToxicFrog>
Ick.
01:13
< AnnoDomini>
The problem with the fifth bit being the sign bit, is that...
01:13
< MyCatOwnz>
AnnoDomini: what do you have to provide the answer in, a circuit design?
01:13
< AnnoDomini>
What about things like, say, -15-15=-30?
01:13
<@ToxicFrog>
A drawn logic schematic.
01:13
< AnnoDomini>
MyCatOwnz: An Electronics Workbench file.
01:13
< MyCatOwnz>
Oh, easy.
01:14
<@ToxicFrog>
AD: it underflows.
01:14
<@ToxicFrog>
You get +14.
01:14 * AnnoDomini doesn't understand.
01:14
< MyCatOwnz>
AnnoDomini: it underflows. It won't fit in the range and hence you're not *expected* to produce a non-silly output.
01:14
< AnnoDomini>
I'm supposed to produce a non-silly output.
01:15
< MyCatOwnz>
Either you need to output integers that're one bit wider than the inputs or you need to accept that for certain answers, you'll produce a silly answer.
01:15
<@ToxicFrog>
Actually, if you're using two's-complement, it underflows and you get 2.
01:15
<@ToxicFrog>
AD: that's what the carry bit is for, then.
01:15
<@ToxicFrog>
I think.
01:15
< MyCatOwnz>
If you absolutely have to provide the answer at the same number of bits as the input, then you're going to have to have some silly outputs. That's mathematically neccessary.
01:16
<@ToxicFrog>
Since you're converting to sign-magnitude, this is kind of whack.
01:16 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
01:16 mode/#code [+o Chalcedon] by ChanServ
01:17
< AnnoDomini>
This is my original problem, you know.
01:17
< AnnoDomini>
How do I detect which bit is the sign bit in specific cases?
01:17
<@ToxicFrog>
Ok. First of all, as MCO said, there are only two options: one more bit output than input, or wrap-around.
01:17
<@ToxicFrog>
(or some other "incorrect" result)
01:18
< AnnoDomini>
I'm okay with one more bit of output than input...
01:18
<@ToxicFrog>
The MSB that is /not/ the carry bit will always be the sign bit.
01:19
< AnnoDomini>
So, if the carry bit is 0, then the next bit will be the sign bit?
01:19
<@ToxicFrog>
No. It _doesn't matter_ what the carry bit is.
01:21 * AnnoDomini doesn't understand once again.
01:21
<@ToxicFrog>
The carry bit can be used to determine whether the output has wrapped around or not, but has no effect on which bit is the sign bit.
01:21
< AnnoDomini>
Oh.
01:21
<@ToxicFrog>
Ok. Your input is 4 bits for the addend and 4 bits for the augend, say. And optionally a Cin bit.
01:21
< AnnoDomini>
So, I have to convert to something else AGAIN, if the carry bit is 1.
01:22
<@ToxicFrog>
The MSB for each of those two inputs indicates if it's negative or not.
01:22
<@ToxicFrog>
That is to say, the 3-bit.
01:22
<@ToxicFrog>
The output is a 4-bit sum (bits 0-3) and a Cout (bit 4).
01:22
<@ToxicFrog>
Bit 3 is still the sign bit.
01:23
<@ToxicFrog>
And...no, you don't.
01:23
<@ToxicFrog>
Why would you?
01:23
< AnnoDomini>
I do not know why, but I feel the overwhelming desire to have my output in sign-magnitude.
01:24
< MyCatOwnz>
Sign-magnitude is so FUBAR.
01:25
< MyCatOwnz>
The only sane way to use it is to convert to two's complement, do the addition properly, and then convert back.
01:25
<@ToxicFrog>
Word.
01:25
< AnnoDomini>
MyCatOwnz: That's what I'm doing!
01:26 ReivZzz is now known as Reiver
01:28 * ToxicFrog does some analysis
01:28
< MyCatOwnz>
AnnoDomini: so concentrate on the convert&convert-back circuits. Those're easy, but they're the main bit of your problem.
01:28
< Takyoji>
Heh, its pretty pothetic to see some of people's business websites through the recent years. Especially for those who basically have their website hosted on geocities, pasted a couple random GIFs from other websites and playing an annoying sound in the background.
01:29
<@ToxicFrog>
Hmm.
01:30
<@ToxicFrog>
It doesn't appear to be possible to tell the difference between "0 (the inputs cancelled each other out)" and "0 (the result wrapped around)"
01:32
<@ToxicFrog>
Anyways. If you really want to convert back to sign-magnitude, just leave the carry bit alone.
01:33
< AnnoDomini>
You're telling me that there is no way in hell I'm going to get the output in sign-magnitude?
01:33
<@McMartin>
No, I'm sure it can be done.
01:33
<@ToxicFrog>
...no, that's the exact opposite of what I said.
01:33
< AnnoDomini>
I seem to be confused as to what exactly you mean.
01:33
<@ToxicFrog>
You put in 2x4 bits of input.
01:34
<@ToxicFrog>
You get 5 bits of input: a four bit number and a carry bit.
01:34
<@ToxicFrog>
Convert the 4-bit number back to sign-magnitude as normal and pass the carry bit through unaltered.
01:35
< AnnoDomini>
Uh...
01:35
<@ToxicFrog>
This makes the circuit hideously more complicated (basically you now have another adder, because you can't just pull Cin high to do the add-one as you can when converting to two's-complement for the input), but it does work.
01:35
< AnnoDomini>
I'm getting 6 bits of input.
01:35
<@ToxicFrog>
...
01:35
<@ToxicFrog>
You said four.
01:36
<@ToxicFrog>
nnoDomini> "Build a circuit for subtraction of two four-bit integers."
01:36 * AnnoDomini sighs.
01:36
<@ToxicFrog>
HOWEVER. This technique works for arbitrary bit-widths.
01:37
<@ToxicFrog>
If you are in fact adding two 6-bit numbers, or two 3-bit numbers, it will still work.
01:37
< AnnoDomini>
The user input is a sign-magnitude five (5) bit number. So there.
01:37
<@ToxicFrog>
Ok. So it's a 5-bit subtractor, not a 4-bit subtractor.
01:37
< AnnoDomini>
Conversion to 2C and then the addition of those two makes it a 6 bit number.
01:38
<@ToxicFrog>
So your input to the circuit is two 5-bit numbers, and your input to the adder is two 5-bit numbers and a Cin.
01:38
<@ToxicFrog>
Your output from the adder is a 5-bit number and a Cout.
01:38
< AnnoDomini>
Yes.
01:38
<@ToxicFrog>
And your output from the circuit needs to be a 6-bit number in sign-magnitude, without wraparound?
01:39
< AnnoDomini>
I think so.
01:39 Janus is now known as Jan[essay]
01:39
<@ToxicFrog>
...ok, there's probably a way to do that, but bugger me if I can think of one.
01:40 * Reiver buggers TF in an attempt to be helpful?
01:41 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has quit [Quit: Leaving]
01:43
< MyCatOwnz>
...anyone know any electronic drawing software for Loonix? AD's problem is easy to solve, but awkward to describe verbally.
01:43
<@ToxicFrog>
Aha.
01:43
<@ToxicFrog>
AnnoDomini: ok. If both the sign bit and the carry bit are the same, the output is valid.
01:43
<@ToxicFrog>
Ie, there was no wraparound.
01:44
< AnnoDomini>
Alright...
01:44
<@ToxicFrog>
Wait.
01:44
<@ToxicFrog>
No.
01:44
< MyCatOwnz>
Ah, here we are, xcircuit.
01:44
<@ToxicFrog>
That's not right.
01:44
<@ToxicFrog>
Goddamit.
01:45
<@ToxicFrog>
That should be right, according to the text, but adding (2-bit-wide) 11 and 01 (-1+1) gives 1_00
01:45
<@ToxicFrog>
Which is valid, but Cout != MSB and thus claims it's not.
01:45
<@ToxicFrog>
Oh.
01:45
<@ToxicFrog>
I misread it.
01:46
<@ToxicFrog>
Ok, in order to determine the validity of the results, it looks like you need two carry bits.
01:46
< AnnoDomini>
Where does the other come from?
01:47
<@ToxicFrog>
Inside the adder, between the most-significant and most-significant-but-one slice.
01:47
<@ToxicFrog>
At least, in a ripple-carry adder.
01:47
<@ToxicFrog>
I don't know where in a carry-lookahead adder.
01:47
< AnnoDomini>
http://img214.imageshack.us/img214/6229/circuithj0.gif Here's what I've got.
01:48
< AnnoDomini>
The 'sumv2' blocks are 1bit adders.
01:48
<@ToxicFrog>
...I can't read this.
01:48
< AnnoDomini>
Top and right are inputs, bottom and left are outputs.
01:48
< AnnoDomini>
ToxicFrog: :/
01:49
< AnnoDomini>
Well, was worth a try.
01:49
<@ToxicFrog>
Doesn't the software let you cluster components into logical groups?
01:49
< AnnoDomini>
Er... do what now?
01:50
< AnnoDomini>
You mean like take a bunch of gates, and make 'em into a subcircuit?
01:50
<@ToxicFrog>
Yes.
01:50
< AnnoDomini>
It does.
01:50
< AnnoDomini>
The 1bit adders are built like that.
01:50
<@ToxicFrog>
If you move up a few levels of abstraction, this circuit is (1) an SM to 2C converter, (2) a subtractor, and (3) a 2C to SM converter.
01:51
<@ToxicFrog>
The subtractor is an N-bit full-adder with Cin, and an inverter on the augend.
01:51
<@ToxicFrog>
The inverter is a bunch of NOT gates.
01:51
<@ToxicFrog>
Etc.
01:51
< AnnoDomini>
ToxicFrog: Actually, the inverter is based on XOR gates.
01:51
<@ToxicFrog>
...whyu?
01:52
< AnnoDomini>
Feeding a bit, and the sign bit into the XOR, get negation if the sign bit is 1, right?
01:53
<@ToxicFrog>
That's the converter, not the inverter.
01:53
< AnnoDomini>
Uh... yeah.
01:53
< AnnoDomini>
Right. I misinterpreted something.
01:54
<@ToxicFrog>
This is a subtractor, right?
01:54
<@ToxicFrog>
So, it's an adder with an inverter clamped across the augend.
01:55
< AnnoDomini>
Er.
01:55
<@ToxicFrog>
And Cin pulled high.
01:55
< AnnoDomini>
It's both an adder and a subtractor. Depending on what sign bits the user inputs.
01:55
<@ToxicFrog>
Oh. It's an adder.
01:55
< AnnoDomini>
And how you interpet this. Yeah.
01:56
<@ToxicFrog>
Again, you *said* subtraction.
01:56
< AnnoDomini>
Right. So I get the n-1 carry bit from the additor.
01:56
< AnnoDomini>
I did, yes.
01:56
<@ToxicFrog>
Ok. So now we don't have the inverter, we just translate the inputs from SM to 2C and feed them to the adder.
01:57
< AnnoDomini>
But I am basing this on the example - which could add AND subtract, based on user input.
01:57
< AnnoDomini>
Indeed.
01:57
<@ToxicFrog>
Yes, but that's what an adder does.
01:57
<@ToxicFrog>
3-4 is just 3 + (-4)
01:58
<@ToxicFrog>
A subtractor implies that if you put in 3,4, it calculates 3-4, and if you put in 3,-4, it calculates 3+4
01:58 Ev3 [~-@87.72.36.ns-26407] has joined #Code
01:59
< AnnoDomini>
Since the teacher didn't bother with that kind of stuff, neither shall I, is my assumption.
01:59
<@ToxicFrog>
"that kind of stuff"?
02:00
< AnnoDomini>
He made an adder when the problem was to build a subtractor, per instructions.
02:00
<@ToxicFrog>
...without an inverter?
02:00
<@ToxicFrog>
Then "subtractor" was being used incorrectly.
02:00
< AnnoDomini>
Without.
02:00
< AnnoDomini>
No, no, no.
02:00
< AnnoDomini>
The word was never mentioned.
02:01
< AnnoDomini>
'(...) circuit for subtracting (...)'
02:01
<@ToxicFrog>
Right. That's a circuit that given two inputs (a,b) calculates (a-b).
02:01
<@ToxicFrog>
Which is typically implemented as an adder-with-inverter.
02:02
<@ToxicFrog>
The circuit you appear to be making is an adder; given two inputs (a,b) it calculates (a+b).
02:02
< AnnoDomini>
Yes.
02:02
<@ToxicFrog>
The fact that this is functionally equivalent to subtraction if one of them is negative does not make it a subtractor, it makes it a signed adder.
02:02
< AnnoDomini>
That's all I want, just with integers being supported.
02:03
<@ToxicFrog>
Right.
02:03
<@ToxicFrog>
Ok, give me a minute to get a bagel while I ponder this.
02:08
<@ToxicFrog>
Alright. Yes. The conversion from SM to 2C is correct.
02:08
<@ToxicFrog>
At least, as far as I can tell, since none of your inputs are labeled.
02:09
< MyCatOwnz>
MY GOOD LORD! I pity electronic engineers.
02:09
< MyCatOwnz>
The software tools they're forced to work with...
02:09 * MyCatOwnz shudders.
02:09
<@ToxicFrog>
MCO: it would be so much easier if sign-magnitude wasn't involved
02:09
<@ToxicFrog>
Oh.
02:09
<@ToxicFrog>
Yes.
02:09
<@ToxicFrog>
They Fucking Suck (tm)
02:10
< AnnoDomini>
I would put labels...
02:10
< MyCatOwnz>
I mean, seriously, WHAT THE HELL? Who in their right mind would ever sign off on such crap code?
02:10
< AnnoDomini>
If they were supported.
02:10
< AnnoDomini>
Which they are not.
02:10
<@ToxicFrog>
Although at least Xilinx generates readable circuit diagrams.
02:10
<@ToxicFrog>
Usually.
02:10
<@ToxicFrog>
And supports labels.
02:10
< AnnoDomini>
MyCatOwnz: I dunno. This software was made for Win95. And can be run under Win3.0.
02:11
<@ToxicFrog>
You XOR bits 0 through 3 with bit 4 (the sign bit), leave bit 4 unchanged, and copy bit 4 to the Cin line of the adder, yes?
02:11
< AnnoDomini>
Yes.
02:11
<@ToxicFrog>
...wait. Shit. But we have two inputs, right? So one Cin line won't cut it.
02:12
<@ToxicFrog>
Aaaaagh
02:12
<@ToxicFrog>
Are you sure you have to use sign-magnitude?
02:12
<@ToxicFrog>
This is a hilariously trivial circuit if not.
02:12
< AnnoDomini>
2C is not any challenge. I got to that 9 hours ago.
02:12
<@ToxicFrog>
So, hang on.
02:13
<@ToxicFrog>
You're doing SM because you want to?
02:13
<@ToxicFrog>
Not because it's part of the requirements?
02:13
< AnnoDomini>
It's implied.
02:13
<@ToxicFrog>
In a situation like this, I, personally, would ask the professor.
02:13
<@ToxicFrog>
Specifically, I would ask him "am I reading this correctly that you want us to use sign-magnitude? Because that's just fucked up."
02:13
< AnnoDomini>
If I get the chance, I will.
02:14
< AnnoDomini>
This is due Wednesday... yeah. Maybe I will have a chance.
02:14
< AnnoDomini>
He usually comes to the lecture on Tuesday, which is done by another bloke.
02:14
<@ToxicFrog>
(except it wouldn't arise, because the entire coverage of SM in the course I took was "this is sign-magnitude. It works like so. Don't touch it, it's nasty. We won't be using it or discussing it further. Now, this is two's-complement...")
02:15
<@ToxicFrog>
You can't just email him?
02:15
< AnnoDomini>
Hmm. Would have to look for his address... Hmm. I'll do that.
02:17
< AnnoDomini>
Will probably need to use my gmail for this. Since my usual email gets blocked out a lot by SpamCop or whatever. :/
02:20
<@ToxicFrog>
Ok. I have a solution for the input-side converter.
02:20
<@ToxicFrog>
It's really fucking ugly but it should work.
02:20
<@ToxicFrog>
I still have nothing for the output-side.
02:23
< AnnoDomini>
Bloody fusk, typing in my own native language is annoying.
02:25
<@ToxicFrog>
Gods, if prof. Areibi saw this circuit I'm drawing he'd have me shot.
02:30
<@ToxicFrog>
Hmm. You seem to have more adders than necessary.
02:30
< AnnoDomini>
I do?
02:31
<@ToxicFrog>
Yeah. If I'm reading this right, what you're doing is XORing and then incrementing each of the inputs, right?
02:31
<@ToxicFrog>
But you can skip the increment on one of them and pull the carry
02:31
<@ToxicFrog>
-in line of the main adder high when the sign bit is high instead.
02:32
<@ToxicFrog>
That is, for input A, you XOR bits 0-3 against bit 4, then run it through a ripple-carry incrementer (a half adder chain) with bit 4 attached to the increment line.
02:32
<@ToxicFrog>
But for input B, you XOR bits 0-3 against bit 4, and then just attach bit 4 to the Cin line of the main 5-bit adder.
02:33
<@ToxicFrog>
Bam. You just eliminated one of the increment chains - four whole half-adders - from the design.
02:34
< AnnoDomini>
I'm not really sure what you mean... but aside from being redundant, it's not incorrect, is it?
02:34
<@ToxicFrog>
No, it's not.
02:34
<@ToxicFrog>
Hmm. Do you know of any online whiteboard software or the like?
02:34
<@ToxicFrog>
I should show you what I mean.
02:35
< AnnoDomini>
I don't believe so... I'll google it.
02:35
< MyCatOwnz>
ToxicFrog: you should start asking all vendors if their software is RFC1402 compliant, as well as just RFC1149 compliant.
02:35
< MyCatOwnz>
s/you/we/
02:35
<@ToxicFrog>
Vendors of what, and what are those RFCs?
02:36
< MyCatOwnz>
1149 is TCP/IP over carrier pigeon.
02:36
< AnnoDomini>
Eh. Nothing I googled seems to match the description of what you want.
02:36
< MyCatOwnz>
1402 is titled, "There's Gold in them thar Networks!" or "Searching for treasure in all the wrong places."
02:37
< MyCatOwnz>
Wierdly, it seems to be anticipating the rise of wikipedia long before wikipedia e'er arose.
02:38
<@ToxicFrog>
Argh. I know there used to be a free Java-based whiteboard online
02:38 Mahal is now known as MahalAway
02:38
< MyCatOwnz>
Use that fridge magnet program?
02:40
<@ToxicFrog>
http://www.apl.jhu.edu/~hall/CWP-Sources/CWP-Examples/Chapter10/SimpleWhiteboard 2.html -- I don't know if this is shared, though.
02:40
<@ToxicFrog>
No, doesn't look like it.
02:41 MyCatOwnz [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Quit: The lunatic is in the grass.]
02:42
<@ToxicFrog>
Bah. I'll try to explain it in words, then.
02:44
<@ToxicFrog>
Ok. After inverting an input, you need to add 1 to it, yes?
02:44
<@McMartin>
"Notice that PATH contains '.', which is the current working directory. This allows you to create a shell script or program an drun it as a command from your current directory.... [i]f a directory isn't on your PATH, then the shell will not search it for commands to run"
02:44
<@McMartin>
1995 was clearly a simpler, more trusting time.
02:44
<@ToxicFrog>
Yes.
02:44
<@ToxicFrog>
You're doing this by putting that input through an adder, with the augend lines 0 and the carry-in line 1.
02:45
<@ToxicFrog>
(you can actually simplify this by using half-adders)
02:45
<@ToxicFrog>
Then, you run both inverted-and-incremented inputs through the main full adder.
02:46
<@ToxicFrog>
Basically, you're calculating ((¬A+0+1)+(¬B+0+1)+0)
02:46
< AnnoDomini>
Yes.
02:46
<@ToxicFrog>
However, you don't actually have to increment B - you can leave it un-incremented and pull the carry-in line of the main adder high instead, which has the same effect.
02:47
<@ToxicFrog>
Thus calculating ((¬A+0+1)+¬B+1)
02:47
<@ToxicFrog>
This allows you to omit the four (half-)adders previously used to increment B before it reaches the main adder.
02:47
<@ToxicFrog>
It doesn't improve the circuit speed at all, but it lowers the gate cost and makes it easier to read.
02:48
< AnnoDomini>
Oh, yeah. Now I see it.
02:49
< AnnoDomini>
Wouldn't this omit six of the 1bit adders?
02:49
<@ToxicFrog>
Err. Five, actually.
02:49
<@ToxicFrog>
Sorry, I was thinking in terms of four-bit inputs.
02:50
<@ToxicFrog>
Also, for the incrementing of A (which is still necessary) - you can use half-adders instead of full-adders for the increment, which simplifies things.
02:50
< AnnoDomini>
Uh. Right. Five.
02:51
< AnnoDomini>
'Half-adders?'
02:51
<@ToxicFrog>
A full-adder takes three inputs (A,B,Cin) and generates two outputs (S,Cout)
02:52
<@ToxicFrog>
A half-adder takes two inputs (A,B) and generates two outputs (S,Cout)
02:52
<@ToxicFrog>
In your incrementors, you're only using two of the three inputs of each adder.
02:53
< AnnoDomini>
Ah, yes.
02:58
<@ToxicFrog>
This just leaves the output 2C-to-SM conversion.
02:58
<@ToxicFrog>
For which I still have no ideas.
02:58
< AnnoDomini>
Aw...
02:59
< AnnoDomini>
At least I've sent out the email.
03:03 Jan[essay] is now known as Jan[bath|essay]
03:09 * AnnoDomini eyes the clock.
03:10
< AnnoDomini>
Well, 4 AM certainly snuck up on me.
03:10
< AnnoDomini>
Might as well do away with sleeping for today.
03:14 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
03:14 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
03:14 mode/#code [+o Chalcedon] by ChanServ
03:15
< Stephenie>
Where are you at AD?
03:15
< AnnoDomini>
Poland.
03:15
< Stephenie>
Ah
03:17
< AnnoDomini>
I am so glad I equipped my room with an electric kettle and supplied it with sugar and teabags.
03:19
< Stephenie>
mmm tea
03:32 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Ping Timeout]
03:32 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
03:32 mode/#code [+o ToxicFrog] by ChanServ
04:24 Jan[bath|essay] is now known as Jan[essay]
04:42 You're now known as TheWatcher
04:42 AnnoDomini [~fark.off@Nightstar-29355.neoplus.adsl.tpnet.pl] has quit [Quit: Some people find sanity a little confining.]
04:59 Reiver is now known as ReivOut
05:02 Jan[essay] is now known as Janus
05:54 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Le père, peut-il marcher la Souzeraineté de chemin? Il y a un tel Chemin? Trouvera-t-elle son chemin aussi?]
07:52 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
08:43 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
08:44 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
09:19 ReivOut is now known as Reiver
10:30 Thaqui is now known as ThaquiSleep
10:41 ThaquiSleep [~Thaqui@124.197.11.ns-21322] has quit [Client exited]
11:12 AnnoDomini [~fark.off@Nightstar-29355.neoplus.adsl.tpnet.pl] has joined #Code
12:02 mode/#code [+oooooo AnnoDomini Ev3 EvilDarkLord Raif SouthernMyst Stephenie] by Reiver
12:33
<@Reiver>
12:33
<@Reiver>
Oh.
12:33
<@Reiver>
That is so very perfect.
12:34 * Reiver finally groks a bit of code and squeee vaugely.
12:34
<@AnnoDomini>
Hmm?
12:34
<@Reiver>
Eh
12:34
<@Reiver>
Just a complex bit of recursion I was trying to get my head around.
12:34 * Ev3 PatPats Reiver.
12:34
<@Reiver>
It was a recursion that was using a recursive function.
12:35
<@Reiver>
I kept getting stuck on how it was recursing twice at once till I slowed down and read it line by line the way you're meant to~
12:48 AnnoDomini [~fark.off@Nightstar-29355.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
12:54 AnnoDomini [~fark.off@Nightstar-29805.neoplus.adsl.tpnet.pl] has joined #Code
12:54 Reiver is now known as ReivZzz
12:58 MyCatOwnz [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
13:16 You're now known as TheWatcher[afk]
13:24 You're now known as TheWatcher
14:06 Ev3 [~-@87.72.36.ns-26407] has quit [Ping Timeout]
17:00 You're now known as TheWatcher[afk]
17:31 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
17:31 mode/#code [+o Chalcedon] by ChanServ
17:33 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
17:45 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
17:57 MahalAway is now known as Mahal
18:05 MyCatOwnz is now known as MyEyeBallsSpin
18:08 EvilDarkLord is now known as EvilInTransitLord
18:17 You're now known as TheWatcher
18:17 MyEyeBallsSpin is now known as MyCatOwnz
18:23 AnnoDomini [~fark.off@Nightstar-29805.neoplus.adsl.tpnet.pl] has quit [Quit: BRB.]
18:32 AnnoDomini [~fark.off@Nightstar-29805.neoplus.adsl.tpnet.pl] has joined #Code
18:32 EvilInTransitLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
18:33 Ev3 [~-@87.72.36.ns-26407] has joined #Code
18:34 EvilInTransitLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
18:39 EvilInTransitLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
18:39 EvilInTransitLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
19:14 MyCatOwnz [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Quit: SWIM! SWIM! HUNGRY!]
19:42 Chalcedon is now known as ChalcyThesis
20:11 ReivZzz is now known as Reiver
20:29 Thaqui [~Thaqui@124.197.11.ns-21322] has joined #code
20:57 Vornicus-Latens is now known as Vornicus
20:58 Vornicus is now known as NSGuest-328
21:01 NSGuest-328 is now known as Vornicus
21:01 EvilInTransitLord is now known as EvilDarkLord
21:02 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
21:05 ChalcyThesis is now known as ChalcyVet
21:08 ChalcyVet is now known as ChalcyVetGone
21:09 AnnoDomini is now known as Kiers
21:09 EvilDarkLord is now known as Thokk
21:12 Janus is now known as Jan[Dangerzone]
21:12 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
21:12 mode/#code [+o Chalcy] by ChanServ
21:14 ChalcyVetGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
21:48 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
21:49 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
21:53 ChalcyGone is now known as Chalcedon
22:13 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has joined #code
22:13
< Takyoji>
How do I properly configure my computers to share files with each over wireless internet?
22:14
< Takyoji>
Both are Windows XP - Home Edition
22:14
<@ToxicFrog>
The same way you do over wired.
22:14
<@ToxicFrog>
Ie, set up a Linux fileserver.
22:14
< Takyoji>
How though?
22:15
<@ToxicFrog>
I have never gotten two windows machines to share files directly.
22:15
< Takyoji>
Yea, its always a pain
22:15
< Takyoji>
My brother has a few times
22:16
< Takyoji>
with windows 98 though
22:19
<@ToxicFrog>
In all seriousness, I have found it vastly easier to set up sharing between N windows machines and a Linux machine than between two windows machines.
22:19
<@ToxicFrog>
I know the steps that, in theory, will allow sharing between two windows machines, but this is kind of useless because they do not work.
22:22 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has quit [Quit: Leaving]
22:37
< Ev3>
TF, he could also just rightclick it and press "share"
22:37
< Ev3>
And access his other box and fetch it.
22:38
< Ev3>
No setup needed, no fancypancy anything else.
22:38
< Ev3>
Drag and drop and clicking buttons.
22:38
< Ev3>
You issue is that you cannot "find" the other computer.
22:38
< Ev3>
Which is easy \\computername
22:39
< Ev3>
Especially with the same version.
22:39
< Ev3>
It gets funky when it's not the same version because windows is forward compatible.
22:39
< Ev3>
NOT backwards compatible.
22:39
<@ToxicFrog>
Ev3: you also have to configure the windows firewalls on both machines to enable file sharing, and ZoneAlarm or similar if it's installed.
22:39
<@ToxicFrog>
And then it still doesn't work.
22:39
< Ev3>
This is why you don't use ZA.
22:40
< Ev3>
Because ZA sucks.
22:40
<@ToxicFrog>
Even on systems without ZA.
22:40
< Ev3>
And the windows firewall does too :p
22:40
<@ToxicFrog>
Because windows sucks, and CIFS especially sucks.
22:40
< Ev3>
You have to enable sharing on any firewall that is too restrictive to permit you the actions you are doing.
22:40
< Ev3>
Even using a linux fileserver.
22:41
<@ToxicFrog>
Yes. The difference is that with a Linux fileserver, after setting up the server and configuring the firewall, you can actually access the files on it.
22:41
< Ev3>
As you can with windows after setting up the share and settupt up the firewall.
22:41
< Ev3>
It's easy.
22:41 * Ev3 does it between her two boxes.
22:41
< Ev3>
There, done.
22:41
<@ToxicFrog>
Except for the part where it doesn't fucking work, yes.
22:42
< Ev3>
You saw the note above on compatability?
22:42
< Ev3>
If you want to share a file from win98 to a winXP for example, you're going to have to allow everyone access to this particular folder, write access. And have the win98 machine put the file onto the other box.
22:43
< Ev3>
Because the newer windows is too stupid to recognize the win98 machine.
22:43
< Ev3>
Of course there are several pieces of software that faciliates the process.
22:43
< Ev3>
Using the DCC option of mIRC for example.
22:43
< Ev3>
When that works.
22:44
<@ToxicFrog>
Or, say, setting up a Linux fileserver. See (1).
22:44
< Ev3>
That would be tedious on a windows machine.
22:44
< Ev3>
Especially a winXP home.
22:44
<@ToxicFrog>
...no, not really.
22:44
<@ToxicFrog>
And DCC is only useful for small numbers of files, which is a completely different problem.
22:45
< Ev3>
Nope.
22:45
< Ev3>
For the recieving user, add the sender as trusted.
22:45
< Ev3>
Drag and drop into query.
22:45 Chalcedon is now known as ChalcyThesis
22:45
<@ToxicFrog>
You misunderstand me.
22:45
<@ToxicFrog>
DCC is "I want to move this specific file between these two machines"
22:45
<@ToxicFrog>
CIFS and NFS are "I want to access the filesystem on machine A as though it were on machine B"
22:46 * Ev3 shrugs.
22:46
< Ev3>
I thought he meant he wanted to move files from one computer to another?
22:46
< Ev3>
Otherwise I'd suggest the synergy software.
22:46
<@ToxicFrog>
Well, he said he wanted to use windows filesharing, which is for network mounting of filesystems.
22:47
< Ev3>
Between two computers, using wifi.
22:47
< Ev3>
"Two computers" being the part I focused on.
22:48
< Ev3>
There's no need to allow distribution of files to a mass media, if the target media is only one other subject.
22:48
<@ToxicFrog>
Yes, but CIFS isn't just for mass distribution.
22:48
<@ToxicFrog>
I mean, yes, if he wants to get a specific document from A to B, it's not necessary.
22:48
< Ev3>
It's also completely redundant when it can be done with a bit of knowledge and three clicks.
22:48
<@ToxicFrog>
But I read that as wanted to do filesharing between two systems on a wireless LAN.
22:49
<@ToxicFrog>
For example, he's on computer A, computer B has all his music.
22:49
<@ToxicFrog>
He wants to CIFS-mount the music so he can play it in winamp without copying 35+GB over DCC.
22:49
< Ev3>
That would be silly, as most Wireless is 11MBps.
22:49
<@ToxicFrog>
54MBps.
22:49
<@ToxicFrog>
At least if you have decent signal strength.
22:50
< Ev3>
Most Wireless distributed en Denmark, then.
22:50
< Ev3>
I cannot of course speak with experiences outside my own.
22:50
<@ToxicFrog>
We're talking about _home wireless_ here. Not a wireless ISP, a wireless LAN with 802.11g.
22:50
<@ToxicFrog>
Which, barring signal degradation wackiness, is 54MBps.
22:50
< Ev3>
And my experiences is that windows filesharing is easy and works, if it's "making a file available for transfer" you want.
22:51
< Ev3>
Sharing it the abovementioned way would ALSO allow him to listen to his music in winamp if he so desires through simple drag and drop.
22:51
< Ev3>
And an excessive system load on the sending machine.
22:51
<@ToxicFrog>
...no it wouldn't!
22:51
<@ToxicFrog>
DCC doesn't work like that!
22:51
< Ev3>
Mine dies.
22:51
< Ev3>
And I'm not talking mIRC DCC.
22:51
< Ev3>
I'm talking basic windows three click filesharing.
22:52
< Ev3>
does*
22:52
<@ToxicFrog>
That's not DCC, that's CIFS.
22:52
< Ev3>
Yes?
22:52
<@ToxicFrog>
Which is what I've been talking about this entire time, while you were saying that DCC was the correct solution.
22:52
< Ev3>
No.
22:52
<@ToxicFrog>
Screw this, I'm going back to X2.
22:52
< Ev3>
Have fun.
22:53 * Stephenie blinks and cuddles Ben
22:55 Thokk is now known as EvilDarkLord
22:55 Kiers is now known as AnnoDomini
22:56 ChalcyThesis is now known as ChalcyMusic
22:59 AnnoDomini [~fark.off@Nightstar-29805.neoplus.adsl.tpnet.pl] has quit [Quit: Some people find sanity a little confining.]
23:04
<@Reiver>
Ben?
23:06
<@ToxicFrog>
Yes?
23:08
<@Reiver>
Oh
23:08
<@Reiver>
You're ben.
23:08
<@Reiver>
OK.
23:08
<@Reiver>
Carry on~
23:09
<@Vornicus>
heh
23:12
< Ev3>
:p
23:14 EvilDarkLord is now known as EvilSLEPLord
23:14 EvilSLEPLord is now known as EvilAwayLord
23:16 MyCatOwnz [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
23:25 ChalcyMusic is now known as Chalcedon
23:32 Reiver is now known as ReivOut
23:42 ReivTeKuiti [~reaverta@IRCop.Nightstar.Net] has joined #Code
23:43 ReivOut [~reaverta@IRCop.Nightstar.Net] has quit [Ping Timeout]
--- Log closed Mon Nov 27 00:00:29 2006
code logs -> 2006 -> Sun, 26 Nov 2006< code.20061125.log - code.20061127.log >