The Myth of the Muttering Madman is a project in self-realization.

Monday, March 10, 2008

Geeks can't send files?

10:06
Michael
I'll try sending you a file

10:07
adrian
ok

10:07
Michael
Oh no, you have to be using gtalk as well.

10:07
adrian
yeah

10:07
Michael
That's fucked.

10:07
adrian
thought so
yeah
bugger

10:08
Michael
Well, back to base64 encoding

10:08
adrian
hah
awesome
bring it on

10:08
Michael
Hang on - I'll just find an encoder
Can't be stuffed writing one.
Can't find a good one - I'll just slap a quick app together.
Hang on, found one
Ah, this piece of shit converter is no good.

10:20
adrian
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAGrAoADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3iMGr
cUWRUVvHmtGKPAya6JSsZpFXy3FNxJn2q/gE/dp6wh+cVPMOxnCNn4pfIYdBWtHbCnyRKEzS5tRW
MdIzWhbQE1HuTfgLVuJiBQ2wLMdsuP60r2QPShJePSpo5jUlWKhtZEpRHIK1Y2V1pTCp6UXFYy0L
irMExHXpTpIaryIRTEaKSg0Fh0NZ6SEVJ5lK1xlzj/ZqMmoRJxQ7mmlYQ9gtNCimb/WnIwNMCZAB
UoIFQgipV6UmA4NUgkGKquaYHOaVrjL4kBNI6g1FFgipwBSYyuU5pGFWyoxUUiAdKLhYg2j1owO1
OIqNzTFawjjAqpJMd+Ksu+fpUD7TzTEWrZxjFW1ANZkTEYq/FJUspFgA4pARQkgxg0w4zkc1ICSC
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

could you decode that ok?

10:24
Michael
I'm just going to write a quick java app using the sun decoder.
What sort of file was that last one?

10:25
adrian
jpg

10:25
Michael
Cool thanks.

10:25
adrian
tell me what is it

10:25
Michael
Will do, in about 5 minutes

10:25
adrian
this is how I encoded it
perl -e 'use MIME::Base64; local $/; open(my $fh, "/Users/adrian/Pictures/redfox.jpg"); my $contents = <$fh>; my $encoding = encode_base64($contents); print $encoding';

one liner baby

10:26
Michael
Haha - too easy.
Oh man, this is fucked, rad (eclipse) is just hanging.

10:30
adrian
do you have perl installed
?

10:30
Michael
Hang on, I'll do it in .net

10:30
adrian
haha
bring it on
you could just do "echo <blah> | perl -e 'use MIME::Base64; local $/; print decode_base64(<>);' > ~/out.jpg"

where blah is clipboard

10:34
Michael
Damn, if only I had perl or even cygwin installed on this laptop

10:34
adrian
superior tools!
j/k
well now it's a challenge at least

10:35
Michael
They are superior tools

10:35
adrian
I should have sent you something to make it worth while
how good is that though.. a perl one liner to get around GTalk dodgeyness

10:41
Michael
Fark, finally

10:41
adrian
you're good
.NET

10:41
Michael
Man, he's got his head buried

10:41
adrian
that's fast
hehe
Update:
11:04
Michael

Here's my goodness:

FileStream ins = new FileStream("C:\\temp\\base64.txt", FileMode.Open);
StreamReader r = new StreamReader(ins);
string contents = r.ReadToEnd();
byte[] c = Convert.FromBase64String(contents);
FileStream outs = new FileStream("C:\\temp\\something.jpg", FileMode.OpenOrCreate);
outs.Write(c, 0, c.Length);

Budget
Not even stream based.
(the encoding I mean)
What a smarty.
11:10
Michael

Haha
Here's the condensed version:

byte[] c = Convert.FromBase64String(new StreamReader(new FileStream("C:\\temp\\base64.txt", FileMode.Open)).ReadToEnd());
new FileStream("C:\\temp\\something.jpg", FileMode.OpenOrCreate).Write(c, 0, c.Length);

Lovely.
Can someone please tell this guy to stop trying to beat:
echo <blah> | perl -e 'use MIME::Base64; local $/; print decode_base64(<>);' > ~/out.jpg
:)

1 comment:

Dutchy Hollando said...

Even people who don't know what you two are on about, realise that this is cool.

about me