code logs -> 2012 -> Fri, 04 May 2012< code.20120503.log - code.20120505.log >
--- Log opened Fri May 04 00:00:22 2012
00:00
<@Tamber>
Gopher is /so/ the future here.
00:00 * Tamber ducks, runs.
00:00
<&McMartin>
SCIENCE
00:01
<&McMartin>
jerith: As opposed to... servlets?
00:01 * McMartin though mod_perl, mod_python, etc. were what all the various webapp containers were built on, but he's only really looke at that stuff from 10,000 feet. Is CGI a stricter subset?
00:01
<&jerith>
McMartin: As opposed to anything that doesn't call an external binary with arbitrary request params.
00:02
<~Vornicus>
wtf, why does my IM client not recognize altcodes
00:02
<&jerith>
https://en.wikipedia.org/wiki/Common_Gateway_Interface
00:02
< Namegduf>
CGI here is distinct from FastCGI
00:02
<&McMartin>
Aha, OK
00:03
<@ToxicFrog>
McMartin: CGI specifically involves invoking a separate program (as opposed to piping the request to a daemon as fastCGI does or calling a library function as mod_foo do)
00:03
<&McMartin>
Aha, OK.
00:04
<&McMartin>
Yeah, that's precisely the piece I was missing
00:05
<@ToxicFrog>
CGI in the sense of "the API executing code uses to access query parameters and the like" is still fairly common, CGI in the strict sense of "launching a separate program for each request" much less so.
00:05
<&McMartin>
Right
00:05
<&McMartin>
I now realize that I was actually thinking of the GET query parameters and anchors as CGI directly, which is even more off.
00:09 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
00:21 You're now known as TheWatcher[T-2]
00:31 You're now known as TheWatcher[zZzZ]
00:36
< Tarinaky>
Wow! Free online Windows emulator! http://mrdoob.com/lab/javascript/effects/ie6/
00:39
<&McMartin>
Tarinaky: Will that actually work as a compat layer for sites that only run in IE6?
00:39
< Tarinaky>
Dunno. Try it?
00:40
<&McMartin>
I don't know of any such sites >_>
00:40 Derakon[AFK] is now known as Derakon
00:40
< Eri>
...Is it a joke?
00:40
< Eri>
I got a 500 Internal Server Error
00:41
< Tarinaky>
Ah, refresh.
00:41
<~Vornicus>
the vast vast vast majority of ie6 only sites are internal corporate sites.
00:41
< Tarinaky>
I got that too first time. It was on reddit so I think they're struggling with capacity etc...
00:41
< Eri>
Ah. I get it
00:42
< Eri>
It's funny, because I think I've seen the exact same effect on geocities, ten years ago
00:42
< Tarinaky>
McMartin: Well, have a play about with it any ay :)
00:42
< Tarinaky>
*way
00:42
< Eri>
You could just chagne the mouse cursor
00:42
< Tarinaky>
What about the trail?
00:42
< Eri>
Yeah, I was about to bring that up
00:42
< Eri>
Not sure about persistence
00:45
< Tarinaky>
Eri: I thought it a witty little troll >.>
00:45
<&McMartin>
Yeah, see, the description made me think it might be a product people would intentionally develop >.>
00:46
< Tarinaky>
Nobody wants an IE6 emulator :/
00:46
< Tarinaky>
That would only encourage them.
00:47
< Eri>
I've been amusing myself for the past couple minutes moving the mouse as quickly as I can, and watching the windows come up all over the place
00:47
< Tarinaky>
Are you, in fact, a cat?
00:48
< Eri>
Nope, just putting off studying
00:49
< Tarinaky>
http://return1.net/blog/2012/May/3/introduction-to-threads-with-c11 Okay, this is kindof cool.
00:49
< Tarinaky>
I shall have to get my hand back in to C++ some time.
00:49
< Tarinaky>
It's about time I bit the bullet and learned how to torture threads to within an inch of their life.
00:52
<&McMartin>
Tarinaky: As Vorn mentioned, actually, lots of people want them
00:52
<&McMartin>
Because they hired someone five years ago to write their in-house corporate webapp and as a result THEY STILL HAVE TO RUN IE6 EVERYWHERE OR IT BREAKS.
00:52
<&McMartin>
Which sucks
00:53
<&McMartin>
So "now you can run a real browser and use this library to not have to rewrite your legacy code you depend on" is actually pretty solid
00:53
< Tarinaky>
I thought my "It'll only encourage them" remark was demonstrating that my tongue was firmly in cheek
00:53
<&McMartin>
Sadly, no >.<
00:53
< Tarinaky>
I shall try to be more obvious in future :)
00:53
<&McMartin>
"Stop supporting browser quirks as backcompat, it only encourages sloppy web designers" is grimly, firmly valid
00:56
<&McMartin>
"Be generous in what you accept, be rigorous in what you emit" has some downsides
00:56
<&McMartin>
(Though, admittedly, I am still a fan in moderation)
00:57
< Tarinaky>
Rules are the bugbears of tiny minds.
00:57
< Tarinaky>
Or whatever the quote is.
00:57
< gnolam>
Tarinaky: threading is one of those things that are /simultaneously/ not as hard they seem and way harder than they seem.
00:57
< Eri>
Ha!
00:57
< Eri>
That's good
00:57
< Tarinaky>
Mantras like that are useful for drilling concepts... but, you know... they're just concepts.
00:57
<&McMartin>
"A foolish consistency is the hobgoblin of small minds"
00:58
< Tarinaky>
For the same reason I put little astrisks or quote marks whenever I say particular programming things are 'bad*'.
00:58
< Tarinaky>
Because they're only right when they're not wrong. >.>
00:59
< gnolam>
Eri: ... I am now going to pretend I meant to make it punny all along.~
00:59
< Tarinaky>
gnolam: Yeah. I know. I know the theory but I've never actually used them.
00:59
<&Derakon>
Note that the quote is for foolish consistency.
00:59
< Tarinaky>
Derakon: Hey! They're right when they're not wrong!
00:59
< Tarinaky>
I think that's an assertion that's hard to dispute.
01:00
<&Derakon>
A surprising number of people read that quote as "you never have to be consistent", which isn't the same thing at all.
01:00
< Tarinaky>
Yeah. I didn't mean it like that.
01:01
< Tarinaky>
Otherwise we wouldn't need these mantras to drill the concepts/rules in the first place.
01:01
< Tarinaky>
They're very useful - except when they're not.
01:01
< gnolam>
But anyway, threading is way easier than spawning subprocesses and managing them in a sane way. Python I'm looking at you.
01:02
<&McMartin>
At least Python has remembed that subprocess spawning is conceptually a thing, and not just a special case of fork(), a system call that is a necessary component of multiprogramming
01:03
< Tarinaky>
In fairness that's not by design.
01:03
< Tarinaky>
That's because they made a bad design decision when designing the interpretter and nobody knows how to fix it.
01:04
<&Derakon>
Threads are of course still useful in Python for having multiple execution contexts.
01:04
<&Derakon>
You just can't do more than one thing at a time.
01:04
< Tarinaky>
Python still support threads... it's just you can only execute them sequentially.
01:04
< Tarinaky>
Yeah.
01:07
<&McMartin>
I didn't intend my statement as a criticism of python
01:07
<&McMartin>
I intended it as a criticism of POSIX brain damage amongst programmers
01:07
< Tarinaky>
Ah okay.
01:08
<&McMartin>
In particular, the people who build hugely elaborate compat layers, bitching constantly about how Windows is unusably shitty for multiprogramming...
01:08
< Tarinaky>
I don't understand then?
01:08
<&McMartin>
... and then do fork()/exec()
01:08
<&McMartin>
fork() is an *extremely* POSIX-specific system call, and it's very hard to emulate elsewhere
01:08 * ToxicFrog ponders
01:09
<&McMartin>
But if all you do after forking is exec another process, then the emulation layer is not "attempt to recreate fork and exec", but "call CreateProcess, you titwaffles"
01:09
<@ToxicFrog>
Honestly, if you want to learn yourself some threading, I would recommend starting with something nice and message-based and not C++~
01:10
< Tarinaky>
In truth, I need an excuse to get back into C++ because I'm rusty with it; I need to learn C++11 to keep my skills 'current' and frankly...
01:10
<@ToxicFrog>
McMartin: to be fair, the point of Cygwin is not "recreate a POSIX programming environment so that we can use fork()/exec() in windows programs", it's "recreate a POSIX programming environment so that we can build windows versions of linux apps without source modification"
01:10
< Tarinaky>
C++ is an employable skill.
01:10
<@ToxicFrog>
And to get that right you do have to mimic POSIX fork/exec semantics.
01:10
< Tarinaky>
I also want to build up my knowledge of low-level programming.
01:10
<&McMartin>
TF: Yes, though this has become a universal fallback for people who should really know better
01:10
< Tarinaky>
And C++ lets you drop down into Assembly.
01:11
< Tarinaky>
Which is fun.
01:11
< Tarinaky>
Evne if I have no idea what I'm doing.
01:11
<@ToxicFrog>
"employability" is the wrong reason to learn any language, IMO
01:11
< Tarinaky>
What can I say. I like money.
01:11
< Tarinaky>
I'm addicted to food, water and accommodation.
01:11
<@ToxicFrog>
You misunderstand.
01:13
< gnolam>
There's nothing wrong with C/C++ for learning threading. In some ways, I think it might even help learning the underlying concepts in ways that higher-level languages won't.
01:13
<&McMartin>
If you learn a language to sell out, it'll turn out nobody's buying - you'll be competing against people who *like* C/C++
01:13
< Tarinaky>
I liked C/C++.
01:16
<@ToxicFrog>
gnolam: for shared-memory coherent threading - which is no longer the default assumption and may not even be the norm in a few years - this is true.
01:17
<@ToxicFrog>
I contend that if you want to learn more general concurrency concepts you are better off with something that gets in the way as little as possible; if you're still interested in shared-memory afterwards, then you can get stuck in to pthreads.
01:18
<&McMartin>
What's good for that?
01:18 * McMartin can't think offhand of any good mainline languages based on interthread messagepassing
01:18
< gnolam>
You can still do message passing if you want to. *cough*MPI*cough*.
01:20
<@ToxicFrog>
McMartin: erlang~
01:20
< gnolam>
(Learning MPI is something you should do regardless; it's almost a high performance computing must. It's available for pretty much everything.)
01:20
<@ToxicFrog>
Lua has both cooperative and preemptive message-passing threading.
01:21
<@ToxicFrog>
MPI has a wrapper called Pilot - which is a shitload easier to learn - which is also available in C++, Python, Lua, and Fortran versions
01:21
<&McMartin>
ToxicFrog: I did specify mainline; I wanted to exclude both Erlang and Go~
01:21
<@ToxicFrog>
Oh yeah, forgot about Go.
01:21
<@ToxicFrog>
Scala.
01:22 * gnolam is still a bit proud of getting superlinear performance on his particle sim on the local TOP500 machine.
01:22
<@ToxicFrog>
I can't remember if Java has an MP-based thread library.
01:22
< Tarinaky>
I temporarily lost my sense of mind and forgot that talking about programming languages in a programmer den is asking for trouble :p
01:22
< Tarinaky>
I get enough of Java in class :/
01:23
< gnolam>
It'd be a bit weird if it didn't. OpenMP is one of the other "almost guaranteed to exist" parallelism solutions.
01:23
< gnolam>
Haven't touched Java in ages, though.
01:23
<@ToxicFrog>
But yeah, personally my recommendation would be Binding Of Choice to Pilot, since learning Pilot generalizes to any MPI-based system, which is to say, every cluster computing/parallel HPC environment out there
01:23
< gnolam>
(OpenMP, while very useful, is completely useless for learning threading concepts though.)
01:24
<@ToxicFrog>
And it has some useful correctness-checking features like the deadlock detector
01:24
<@ToxicFrog>
Or Lua+Lanes, given that I am a fan of Lua as a teaching language in general and Lanes is a pretty good message-oriented parallelism library.
01:25
< gnolam>
Also, easier to learn than MPI? Are you insinuating that half a dozen different versions, differing just in a single-letter prefix, of each function in the API makes MPI hard to learn?~
01:25
<@ToxicFrog>
Oh yeah, Lisp/Scheme/Clojure probably has something as well~
01:25
<@ToxicFrog>
gnolam: yes~
01:25
< gnolam>
On that note? MPI's automatic buffering mechanism: worse than useless.
01:26
< Tarinaky>
Anyway, I do feel I need to improve my knowledge at the low-level. My understanding is that C++ is always good for that if you don't want to lose high-level features when you need them.
01:27
< Tarinaky>
(Provided you can deal with the language being obscenely complicated)
01:27
< gnolam>
If you want to program in it: go for it.
01:27
<&McMartin>
C++, like Perl, is a pick-a-subset language
01:28
< Tarinaky>
Does anyone have any good ideas for practical problems in C++/asm? And what's a good free compiler that targets Windows?
01:28
< gnolam>
C++/asm: now /there's/ a warning sign though.
01:28
< gnolam>
Pick one.
01:29
< Tarinaky>
That bad?
01:29
<@ToxicFrog>
gnolam: hey, that is very occasionally useful.
01:29
< gnolam>
As for a compiler: Visual Studio Express. IIRC you still get access to the debugger.
01:29
<@ToxicFrog>
When writing an embedded OS, for example; hard to implement stuff like setjmp/longjmp or exception handling without dropping into asm for a bit.
01:29
< gnolam>
Visual Studio's debugger + Intellisense is parsecs ahead of what the Open Source world has on offer.
01:30
< Tarinaky>
I am very curious about System programming... In that I don't really know much about it but it sounds cool :p
01:30
<@ToxicFrog>
Write yourself a tiny OS!
01:31
<@ToxicFrog>
...write yourself a tiny bare-metal Forth!
01:31 * ToxicFrog is So Over systems programming but it was fun for a while
01:31
< gnolam>
Heh, that was the best lab of our intro computer architecture course.
01:31
< Tarinaky>
ToxicFrog: What is it exactly?
01:32
<@ToxicFrog>
gnolam: yeah, I'm mainly thinking back to the computer architecture course (asm programming on the 68k), the operating systems course (which included writing drivers for BSD), and my work at CacheFlow (which included several complete work terms in kernel mode)
01:32
<@ToxicFrog>
Tarinaky: poorly-defined~
01:33
< gnolam>
That lab was basically "implement Forth for the 68k" + "implement a bunch of Forth programs" + "solve the initial problem"... with a full scenario and flavor text. :D
01:33
<@ToxicFrog>
But as a first approximation "anything that runs in kernelspace or accesses the hardware directly"
01:33
<@ToxicFrog>
So, actual kernels, firmware, device drivers, etc
01:33
< gnolam>
The first page reads like an RPG adventure intro. :)
01:33
<@ToxicFrog>
gnolam: if you still have a copy or links, I wouldn't mind giving that a read
01:33
<@ToxicFrog>
We never did implement a forth
01:34
<@ToxicFrog>
But, yeah, systems programming pretty much means working in low-level languages, which I don't really enjoy anymore except in very small doses
01:35
< Tarinaky>
Yeah. I can imagine that.
01:35
< Tarinaky>
Is there a textbook I should look for?
01:36
<&McMartin>
Let me find the one I had for C/assembler
01:36
<&McMartin>
Though that was, admittedly, MIPS assembler
01:36
<&McMartin>
"Computer Organization and Design: The Hardware/Software Interface"
01:36
<&McMartin>
That was our lower-division systems-level programming textbook at Berkeley back in the day.
01:36
< Tarinaky>
As to next year. I'm looking forward to being introduced to techniques and concepts in the AI modules next year...
01:37
< Tarinaky>
Not so much at being introduced to Prolog :/
01:37
<@ToxicFrog>
I found MacKenzie's "The 68000 Microprocessor" to be a fantastic read, but I'm not sure it's enough on its own
01:37
<&McMartin>
I should learn the 68k
01:37
<@ToxicFrog>
It's less "here is systems programming" and more "here is the 68k, in enough detail to build one yourself if you wanted to"
01:37
<&McMartin>
I should also probably learn ARM and THUMB code
01:37
<@ToxicFrog>
For the course it was coupled with other things
01:37
< gnolam>
Don't know if I still have it anywhere, and the instructions were all in Swedish unfortunately.
01:38
<@ToxicFrog>
Tarinaky: when I doubt, look up what MIT or Berkely use for the course, and read that~
01:38
< celticminstrel>
[May 03@6:25:23pm] Vornicus: I still wonder why your typical TV remote now contains an average of 50 buttons
01:38
< celticminstrel>
I don't care how many buttons it has, but I'm at a bit of a loss to explain why the remote is actually required to do 90% of those functions. Lost the remote? Sorry, you're out of luck on fixing the time or whatever.
01:38
< celticminstrel>
[May 03@6:33:23pm] McMartin: Everywhere *but* the US, Calculus is treated as a prereq for teaching basic kinematics.
01:38
<&McMartin>
Berkeley uses the book I quoted
01:38
< celticminstrel>
I'm not in the US and I learned kinematics before calculus... but maybe you meant "America" more broadly.
01:38
< celticminstrel>
[May 03@8:03:50pm] Tarinaky: That's because they made a bad design decision when designing the interpretter and nobody knows how to fix it.
01:38
< celticminstrel>
Really? Is it that hard to fix? Would it require a complete rewrite or something?
01:38
< Tarinaky>
I dunno where I'd look it up or what the course would be called :x
01:38
<&McMartin>
celticminstrel: Well, I was comparing primarily to the UK and Hong Kong, the touchpoints I usually encounter~
01:38
< Tarinaky>
celticminstrel: Yeah. That's my understanding of it.
01:39
< Tarinaky>
celticminstrel: tbh I don't really know Python's internals that well.
01:39
< celticminstrel>
I don't remember if I did kinematics in the UK, actually.
01:39
< celticminstrel>
I definitely didn't do calculus.
01:40
< Tarinaky>
celticminstrel: Yes, you just didn't call it Kinematics.
01:40 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
01:40 mode/#code [+o himi] by ChanServ
01:40
<@ToxicFrog>
...MIT has a course called Street Fighting Mathematics
01:40
<&McMartin>
x(t) = x0 + vt + .5at^2
01:41
< gnolam>
ToxicFrog: Make it "Mathematicians" and I'd pay to watch it.
01:41
<&McMartin>
As opposed to a = dv/dt, v = dx/dt, do the rest yourself
01:41
< Tarinaky>
tbh the trouble is that to get a little real knowledge or understanding out of maths and science you have to know a lot of maths and science.
01:41
< Tarinaky>
If you don't you're just memorising equations :x
01:42
< Tarinaky>
Certainly it's worse with the compartmentalised way that the subjects are taught.
01:43
<~Vornicus>
I grumped at one of my coworkers the other day about how chemistry is taught
01:44
<~Vornicus>
The big one was "the elements aren't pokemon, dammit"
01:45
< Tarinaky>
There's a bad joke in there about Ash trying to catch 'em all and being killed by something.
01:46
<~Vornicus>
Fluorine, probably. that shit's a lot scarier than pretty much everything on there.
01:46
< gnolam>
Vornicus: ?
01:46
< Tarinaky>
Would the Lanthanides be the Legendaries?
01:47
<&Derakon>
The Legendaries would be the more unstable elements.
01:47
<&Derakon>
They always run away before you can catch them~
01:47
<~Vornicus>
gnolam: fluorine is a better oxidizer than oxygen. it sets everything on fire.
01:47
< Tarinaky>
Pfft, no. That's the Safari zone!
01:47
< gnolam>
I know.
01:47
< gnolam>
But what's the connection between chemistry education and pokemon?
01:47
< Tarinaky>
There is not.
01:48
<@Tamber>
Chlorine Triflouride!
01:48
<~Vornicus>
gnolam: in that very often it seems like chemistry is taught as though the periodic table was just a funny list.
01:48
< celticminstrel>
...
01:49
<@Tamber>
( http://pipeline.corante.com/archives/2008/02/26/sand_wont_save_you_this_time.php Fun with a capital FFFFFFFUUUUUUUUUUUU... )
01:49 * gnolam shrugs.
01:49
< gnolam>
Nothing I've encountered.
01:50
< Tarinaky>
Vornicus: Of course! There's Arsenic Aluminum Actenium Germanium...
01:50
<@Tamber>
...ohgod, that song.
01:50 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has left #code []
01:50 * Tarinaky can't actually remember that song... /me has too much of a life.
01:50 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
01:50 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has left #code []
01:50 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
01:50
< gnolam>
First chem lesson started off with "trying to find out what people knew about chemistry" and then went straight on to the first atomic model.
01:50
< gnolam>
And then it was valence electrons all the way.
01:50
< celticminstrel>
Gah, whoops.
01:50
<@ToxicFrog>
gnolam: it is not uncommon to, for example, forget to teach why the periodic table is arranged the way it is, why elements in the same group have similar properties, etc
01:50
< Tarinaky>
celticminstrel: "Stop that, it's silly."
01:51 * Tamber was subjected to several hours of that song at school, whilst the younger years were doing their flash-making lessons. *shudder*
01:51
< gnolam>
Then again, in high school I actually had competent teachers.
01:51
< celticminstrel>
Stop what?
01:51
< Tarinaky>
celticminstrel: Part/join.
01:51
< celticminstrel>
It was an accident.
01:51
< Tarinaky>
Anyway. I was looking up books.
01:51
< Tarinaky>
I've forgotten why :/
01:51
< gnolam>
But I have never heard of what you describe from anyone else I know either.
01:52
<@ToxicFrog>
Tarinaky: intro to systems programming
01:52
< Tarinaky>
ToxicFrog: Is that the name of a book?
01:53
<@ToxicFrog>
Tarinaky: no, you were looking for something on that topic
01:53
<@ToxicFrog>
Or at least you were last time I checked
01:53
< Tarinaky>
Oh, yes.
01:55
< Tarinaky>
I'm not sure "Computer Organization and Design" is the right thing... I think I need something that's targetting a microprocessor I can easily get my hands on...
01:55
< Tarinaky>
Unless I'm misunderstanding something.
01:58
< gnolam>
Also: <3 how my chem teacher introduced the Bohr model. It went something like "What I'm about to teach you is actually... a lie. But it's a very /good/ lie! And as you continue to study chemistry, you'll learn new, better lies. When you reach university level, /then/ you might start to actually learn the truth as we understand it."
02:00
< Tarinaky>
I didn't do chemistry beyond GCSE. I kindof wish I had instead of doing Computing.
02:02
<@ToxicFrog>
Tarinaky: computer organization and design is what it was called here, followed by (or concurrent with) operating systems
02:03
<@ToxicFrog>
Also it doesn't need to a microprocessor you can get your hands on; something you can emulate will do just as well
02:03
<@ToxicFrog>
...oh wait
02:03
<@ToxicFrog>
comp org. and des. might have been the CPU design course
02:03
<@ToxicFrog>
Now I'm wondering if I'm remembering right
02:04
< Tarinaky>
Maybe. But I'd still rather learn something I can pretend is practical/useable.
02:04
<@ToxicFrog>
ffff
02:04
<@ToxicFrog>
it's not about the language or the architecture, it's about the concepts
02:05
<@ToxicFrog>
Also, no asm/comp org/systems programming course is going to teach on x86, at least not at the asm level, because x86 is a nightmare
02:05
< Tarinaky>
I am aware. I didn't necessarily mean x86 though :x
02:06
< Tarinaky>
I'd settle for embedded.
02:06
<@Tamber>
TF: /a/ nightmare? Not "several nightmares, each building on the terrifying remains of the last"?
02:06
<@ToxicFrog>
Tamber: ok, I may have been too kind~
02:06
< celticminstrel>
Heh!
02:06
< Tarinaky>
But I'd rather it was a common embedded system because then I could actually build stuff with the knowledge.
02:07 * Tamber hands Tarinaky a box of transistors...
02:07
< Tarinaky>
Tamber: Meanie.
02:07
<@Tamber>
^_^
02:09
< gnolam>
Dammit, that reminds me. I should've built an amplifier today.
02:09
< Tarinaky>
I hope I'm not sounding like I want the moon too much.
02:11
< Alek>
?_?
02:12 * Alek actually regrets that he never knew about electronics kits when he was in school. o_o
02:12
< Alek>
and they weren't covered in science classes either. D:
02:14
< Tarinaky>
Well, part of my electronics courst at A2 involved programming a fictitious microprocessor in machine code
02:14
< Tarinaky>
Which was something I enjoyed quite a bit.
02:14
< Tarinaky>
(And was 20 easy marks on the exam)
02:15
<@ToxicFrog>
Tarinaky: so grab a book, grab an emulator, and get going
02:16
<@ToxicFrog>
Don't worry overmuch about learning something marketable; if you know your shit the skills will transfer
02:20
< Tarinaky>
It's more about aplicability than marketability. Because I know the Uni has lots of stuff I could play with if I knew what I was doing >.>
02:24
< Tarinaky>
So was Comp Org and Design the right book or the wrong book as it happened? >.>
02:26
<@ToxicFrog>
I have no idea, read it and find out
02:30
<&McMartin>
Tarinaky: That was the book that Berkeley used for systems design, after teaching high-level CS concepts in Scheme and data structures in either C++ or Java
02:31
< Tarinaky>
'Systems Design' meaning?
02:31
<&McMartin>
Work at the "system" level, so, it was taught in C and assembler with an eye to also familiarizing you with the way processors were organized.
02:31
<&McMartin>
It looks like it's been updated since I took the class to focus more heavily on multicore and less on pipelining.
02:31
<&McMartin>
That is probably all to the good
02:34 McMartin [mcmartin@Nightstar-71663c79.pltn13.sbcglobal.net] has quit [[NS] Quit: brb]
02:42 Attilla [Obsolete@Nightstar-78b1c799.as43234.net] has quit [Ping timeout: 121 seconds]
02:53
< Tarinaky>
I should try to pass out.
02:53
< Tarinaky>
Later.
03:12 McMartin [mcmartin@Nightstar-71663c79.pltn13.sbcglobal.net] has joined #code
03:12 mode/#code [+ao McMartin McMartin] by ChanServ
03:15
<&McMartin>
Heh
03:15
<&McMartin>
"If there's one thing web developers love, it's knowing better than conventional wisdom, but conventional wisdom is conventional for a reason: that shit works."
03:22
< Tarinaky>
Sleep failed.
03:28
< Namegduf>
McMartin: Whereas use of huge specifications for failed projects counts as conventional stupidity.
03:28
<&McMartin>
Pretty much.
03:28 * McMartin heavily favors the train model for such things when possible.
03:29
< Namegduf>
Not familiar with that one.
03:29
<@Tamber>
As in "throw the idiot who suggests throwing it all out, for the newest untested shiny, in front of one"?
03:30
<&McMartin>
No, it's basically "iterated waterfall but with a cycle of about a month, and features that had surprises come up in the middle of development 'miss the train' and are factored into the next planning stage"
03:31
< Tarinaky>
"Despite what you may think, 'fuck' is not a Java reserved keyword and there is no such thing as java.util.ShittingDickNipples"
03:31
<&McMartin>
Fizba wizh?
03:31
< Namegduf>
I see they have some issues with your latest work.
03:31
< Tarinaky>
I thought it an amusing image >.>
03:35 maoranma [maoranma@Nightstar-e297690c.tn.comcast.net] has quit [Ping timeout: 121 seconds]
03:36 * McMartin grumbles, consults the UI guideline documents
03:40
< Tarinaky>
I'm going through the book you recommended (third edition) and I think it might be aimed a little lower than I was hoping :x
03:40
< Tarinaky>
Err..
03:40
< Tarinaky>
My memory sucks. I can't remember who suggested Comp Org and Design :x
03:41
<&McMartin>
o/
03:41
< Tarinaky>
I already know how opcodes and the stack work.
03:45
< Tarinaky>
Also, this thing has a ridiculous number of registers.
03:47
<&McMartin>
MIPS was one of the first true RISC machines
03:47
<&McMartin>
It's got all *kinds* of horrors as a result, some of which are awesome
03:47
<&McMartin>
My personal favorite is how it gets away with not needing RTI
03:48
<&McMartin>
(How it gets away with not needing CALL/RET is instructive but not tremendously exciting.)
03:49
<&McMartin>
But yeah, it's intended as an intro course
03:50
<&McMartin>
If you want to do OS-level programming, I'd say "pick an OS and find books about programming that OS specifically"
03:50
<&McMartin>
If that OS turns out to be Windows, I can recommend the "Windows Internals" book (I have version 5) and the "Windows System Programming" book (I have the third edition).
03:50
<&McMartin>
The latter is more app-level, the former is more kernel-level.
03:51
<&McMartin>
Including batshittery like writing your own filesystems.
03:55
< Tarinaky>
Honestly? No idea. Umm...
04:06
<&McMartin>
For any POSIX-based system, the go-to book is "Advanced Programming in the UNIX Environment" by Stevens.
04:07 * McMartin would consider both Windows System Programming and Advanced Programming in the UNIX Environment to be mandatory reference books on the shelf of any C or C++ programmer.
04:08
<&McMartin>
Because eventually you'll hit something like "Now, how do I shell out to something and let the parent and child share a pipe to talk through"
04:08
<&McMartin>
Or you will run afoul of some kind of system configuration thing
04:09
<&McMartin>
In Windows specifically it's often simpler to just set Visual Express to use UTF-16 everywhere than it is to convert things into a format C traditionally expects.
05:03 Noah [maoranma@Nightstar-79ebb56b.pools.spcsdns.net] has joined #code
05:24
< Noah>
McMartin: Yea, I found where they said it would be okay to distrubute the rulebook
05:24
< Noah>
Did you get a change to see my vehicle?
05:24
< Noah>
chance*
05:26 * Vornicus pokes vaguely at jquery
05:27 * Noah pokes vaguely at something
05:27
< Noah>
(did u see wat i did ther?)
05:27
< Noah>
Hey, Vorn
05:44
< Rhamphoryncus>
Of course there's no java.util.ShittingDickNipples. It's baked into the language at the syntactic level.
05:58 ErikMesoy|sleep is now known as ErikMesoy
06:09
<&Derakon>
Pyrel's at 2498 lines now, 23% comments and 13% whitespace.
06:09
<&Derakon>
That seems like a good set of ratios.
06:15 maoranma [maoranma@Nightstar-f6bf2e65.pools.spcsdns.net] has joined #code
06:16 Noah [maoranma@Nightstar-79ebb56b.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
06:42 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
06:46 Derakon is now known as Derakon[AFK]
06:48 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:59 eckse [eckse@Nightstar-ef68cda0.dsl.sentex.ca] has quit [Client closed the connection]
07:48 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client closed the connection]
07:50 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
08:32
< maoranma>
Wow, I keep being amazed of how powerful Bricklink is
08:40 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has joined #code
08:44 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has quit [Ping timeout: 121 seconds]
09:24 You're now known as TheWatcher
09:33 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
09:33 mode/#code [+o himi] by ChanServ
09:51 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has joined #code
10:48 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
10:48 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
10:48 mode/#code [+o PinkFreud] by ChanServ
10:57
<&jerith>
Derakon[AFK]: Do you pyflakes/pep8 it?
10:57
<&jerith>
Also, I much prefer docstrings to comments. :-)
11:33 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
12:01 gruber [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
12:01 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
12:02 gruber is now known as gnolam
12:22 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
13:29
<&jerith>
http://facebook.com/?-s
13:30
<@Tamber>
Farcebook is vulnerable to it, too?
13:30
<&jerith>
Tamber: Click the link. ;-)
13:30
<@Tamber>
I have.
13:30
<&jerith>
And read it carefully.
13:30
<@Tamber>
"Firefox can't establish a connection to the server at facebook.com."
13:31
<&jerith>
Oh. Then your webnets are sad.
13:31
<@Tamber>
No, this is how it's supposed to work~
13:31
< EvilDarkLord>
Haha, nice one.
13:31
<&jerith>
<?php
13:31
<&jerith>
include_once 'https://www.facebook.com/careers/department?dept=engineering&req=a2KA0000000Lt8 LMAS';
13:31
<@Tamber>
...hah.
13:31
<&jerith>
Which, if you follow that, is a job ad for a Security Engineer.
13:34
<&jerith>
http://shop.oreilly.com/category/deals/day-against-drm.do
13:39 Netsplit *.net <-> *.split quits: Attilla, Reiver|AFK, froztbyte, Vornicus, Tarinaky, @himi, ErikMesoy, jerith, @rms
13:40 Netsplit over, joins: &jerith, froztbyte, @himi, ~Vornicus, Reiver|AFK, ErikMesoy, Attilla, @rms, Tarinaky
14:10 You're now known as TheWatcher[afk]
14:13
<@ToxicFrog>
Oh man
14:13
<@ToxicFrog>
That PHP vuln discussed yesterday?
14:13
<@ToxicFrog>
It gets so much better: http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/
14:14
<@ToxicFrog>
Short form: it's been around since 2004.
14:14
<@ToxicFrog>
That was the year in which someone pointed at the code that disables argument parsing in CGI mode and asked "why do we have this? It's making testing the CGI mode a pain in the ass."
14:14
< Tarinaky>
Things that make me angrier than they should: Scumbag freshers not starting their project till the last minute despite it being clear that they have no working knowledge of either Java or OO
14:14
<@ToxicFrog>
(Personally, I suspect this person was a troll; it is well known that PHP devs give no shits about testing)
14:14
<@Tamber>
"official php patch contain a bug which makes the fix trivial to bypass." ...haven't I heard something like that before, WRT PHP? ~.^
14:15
<@Tamber>
(Or "patch adds worse bug")
14:15
<@ToxicFrog>
Anyways, the response was "dunno", since there were no comments explaining why the check was there, no commit message related to it (or perhaps they just couldn't find it), and no-one bothered to check the RFC
14:15
<@ToxicFrog>
So they removed the check.
14:15
<@Tamber>
*facepalm*
14:39 Vornotron [vorn@ServerAdministrator.Nightstar.Net] has joined #code
14:41 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
14:46 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
14:50 Vornotron is now known as Vornicus
14:50 mode/#code [+qo Vornicus Vornicus] by ChanServ
15:18 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has quit [Ping timeout: 121 seconds]
16:26 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has joined #code
16:47
<@ToxicFrog>
Oh god the US army runs PHP in CGI mode
16:47
<@ToxicFrog>
This is amazing
17:24 * Tarinaky eyes his laptop
17:25
< Tarinaky>
Error: /dev/disk/by-label/ did not show up after 30 seconds.
17:25
< Tarinaky>
Which is odd... Because in the rescue prompt ITS RIGHT THERE
17:25
< Tarinaky>
(This is with the new Harddrive)
17:29
< Tarinaky>
Excuse me while I scream at this for being fucking useless.
17:39
<@ToxicFrog>
Er
17:39
<@ToxicFrog>
/dev/disk/by-label/, or /dev/disk/by-label/sadfasdfsadfasdf ?
17:40
<@ToxicFrog>
(try setting root by device name or uuid rather than label?)
17:49
< Tarinaky>
The former.
17:49
< Tarinaky>
Hence the problem -.-
17:49
<@ToxicFrog>
...what boot parameters are you using?
17:49
< Tarinaky>
No idea; I didn't set them.
17:50
< Tarinaky>
Because, you know... I wanted it to just work (tm)
17:52
<@ToxicFrog>
...
17:52
<@ToxicFrog>
What did you do to install the new drive?
17:52
< Tarinaky>
ubootinthingie and pointed it at recent iso.
17:53
< Tarinaky>
UNetBootin
17:54
<@ToxicFrog>
By which you mean,
17:54
<@ToxicFrog>
...you plugged the drive into a working computer, used unetbootin to make it a "bootable USB" (note: may not actually be USB) drive, and then swapped that into the computer and booted it
17:54
<@ToxicFrog>
?
17:55
< Tarinaky>
Yes. That sounds accurate.
17:55
<@ToxicFrog>
...
17:55
< Tarinaky>
I ran UNetBootin on my desktop machine with a usb key as the target and an iso image as the source.
17:55
< Tarinaky>
Then I put the usb key into a port in my laptop (which has a new harddrive) and pressed Power
17:57
<@ToxicFrog>
Oh. So the new drive is the USB stick, not the replacement HDD.
17:57
< Tarinaky>
Yes.
17:57
< Tarinaky>
Wait...
17:57
< Tarinaky>
Both are new.
17:58
< Tarinaky>
When I say the laptop has a new harddrive I refer to the 160GB hdd
17:58
< Tarinaky>
When I say the bootable usb I mean a 4GB usb flash memory stick
17:58
<@ToxicFrog>
Ok, so the answer you actually meant to give was that you
17:58
<@ToxicFrog>
- removed the old HDD
17:58
<@ToxicFrog>
- installed the new HDD
17:58
<@ToxicFrog>
- used unetbootin to make a bootable USB stick from an ISO (which one?)
17:58
<@ToxicFrog>
- attempted to boot that
17:59
<@ToxicFrog>
Yes?
17:59
< Tarinaky>
The Core i686 iso from 2012.03.07_14-30-01
17:59
< Tarinaky>
Available from one of the iso mirrors linked to on Arch Linux's page.
17:59
<@ToxicFrog>
Core what?
18:00
<@ToxicFrog>
Core Arch. Ok.
18:00
<@ToxicFrog>
I am not a mind reader.
18:00
< Tarinaky>
Sorry, I thought that was mentioned earlier.
18:00
< Tarinaky>
I am currently rebuilding the usb stick and allowing unetbootin to fetch what -it- thinks is a current iso.
18:00
< Tarinaky>
(Which from experience will be something from last year >.>)
18:02
<@ToxicFrog>
Did you use the computer's boot menu to specifically select the USB stick, or did you just let it boot automatically?
18:02 eckse [eckse@Nightstar-ef68cda0.dsl.sentex.ca] has joined #code
18:02 mode/#code [+o eckse] by ChanServ
18:05
<@ToxicFrog>
Tarinaky: also, I highly recommend using qemu to test bootable USB sticks without needing to actually boot them
18:05
< Tarinaky>
It's more hassel than doing it in hardware.
18:06
< Tarinaky>
Since the laptop is right behind me.
18:10
<@ToxicFrog>
Typing 'sudo qemu /dev/sdb' is more hassle than moving it between machines, waiting for it to boot, and then moving it back if it doesn't work?
18:10
< Tarinaky>
I'm not on Linux?
18:11
< Tarinaky>
If I don't have to move my arse from the chair - or even change the distribution of weight upon said arse - it's not much of a hassel.
18:12
< Tarinaky>
Particularly since the alternative is "Do something in Windows"
18:13
<@ToxicFrog>
Oh.
18:25
< Tarinaky>
ARGH
18:26 * Tarinaky swears profusely at them fucking up the installer
18:26
< Tarinaky>
>.>
18:26
< Tarinaky>
Baring in mind this is the first time I've actually installed off an Arch iso that wasn't from 2005 >.>
18:26 maoranma [maoranma@Nightstar-f6bf2e65.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
18:27 Noah [maoranma@Nightstar-f6bf2e65.pools.spcsdns.net] has joined #code
18:42
< Noah>
Hey guys, I need help, do you know if this part 4277932 goes by another part number or name? Can't find it on bricklink or Peeron
18:47
< Tarinaky>
Oh jesus fucking christ.
18:47
< Tarinaky>
Fuck this fucking laptop in the fucking face.
18:54
< Noah>
You mean the one you dropped carelessly?
18:54
< Tarinaky>
I replaced the harddrive.
18:54
< Tarinaky>
Of course. Now I can't get linux to install on said new harddrive
18:54
< Noah>
Does it say why?
18:55
< Tarinaky>
I have a circular dependancy issue on "the internet"
18:57
< Noah>
That's an oddly specific error message
18:58
< Tarinaky>
That's because it's being emitted by the human operator.
19:09
< Noah>
Ahh, found it
19:09
< Noah>
it's called a "bracket"
19:09
< Noah>
Hey Tarinaky
19:11 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
20:14
< Noah>
How it's Made: Bently Cars
20:14
< Noah>
Man, if I ever win a lottery, I'm buying one of those
20:19
< Eri>
If I ever win a lottery, I'm buying a delicious little brown girl to cook for me
20:19
< Eri>
.... This isn't #DP, I can't say those things here
20:20
< Noah>
*COUGH*
20:20
< Eri>
I didn't check what tab I was in
20:21
< Noah>
Ah huh
20:29
< Alek>
?_?
20:29 * Alek is curious now. what IS #dp?
20:34 Attilla_ [Obsolete@Nightstar-6baeeac6.as43234.net] has joined #code
20:35 Attilla [Obsolete@Nightstar-6baeeac6.as43234.net] has quit [NickServ (GHOST command used by Attilla_)]
20:36 Attilla_ is now known as Attilla
20:41
< Eri>
Demonpop
20:42
< Eri>
Another channel
20:45
< Alek>
what's it about?
20:45
< Noah>
Delicious little brown girls apparently.
20:45
< Eri>
It's a fairly common topic
20:46
< Alek>
?_?
20:46
< Eri>
It's just a channel where some friends get together.
20:51 Kindamoody[zZz] [Kindamoody@Nightstar-6154a72a.tbcn.telia.com] has joined #code
20:51 mode/#code [+o Kindamoody[zZz]] by ChanServ
20:52
<@ToxicFrog>
Tarinaky: there's seriously no way to generate Arch install media including the drivers you need?
20:52
<@ToxicFrog>
Or, you know, download the packages and put them on the USb stick or something?
21:25 thalass [thalass@Nightstar-40691ad9.bigpond.net.au] has joined #code
21:25
< thalass>
Morning all.
21:36
< thalass>
I feel the need to write a script which reads a particular website, and produces an epub document with that week's update. Would this be possible with python?
21:36
< thalass>
I'm still going with the tutorials and all
21:53
< Noah>
I'm pretty sure it's possible, maybe take the content of the page into latex, then go from latex to epub
21:54
< Noah>
You might look into BeautifulSoup : http://www.crummy.com/software/BeautifulSoup/
21:54
< Noah>
You could probably even go straight to epub, but I'm not super familiar with the epub file format
21:57
< Noah>
that said, Calibre has a RSS -> Epub converter, if the site as a feed
21:59
< thalass>
Oh well, that makes everything much easier.
21:59
< thalass>
I believe it does have a feed, and i do have Calibre.
21:59
< thalass>
Dang.
22:00
< Noah>
Don't know how good it is, so ymmvw
22:01 * thalass nods
22:01
< thalass>
Thanks for that. I might play with beautiful soup anyway, when i've progressed a bit with python. I'm still quite noobish.
22:14 ErikMesoy is now known as ErikMesoy|sleep
22:16
< Noah>
Yea me too
22:20
<@ToxicFrog>
Noah: epub is HTML internally, so going via LaTeX may be overkill
22:21
< Noah>
That's what I thought
22:22
<@ToxicFrog>
Also, Calibre is written in Python I'm pretty sure
22:22
<@ToxicFrog>
So its RSS->EPUB conversion might be worth a look :)
22:46
< thalass>
It seems to work. But to automate the feed update you have to leave calibre running. Which seems a bit over the top.
23:09 thalass is now known as Thalass|pythonry
--- Log closed Sat May 05 00:00:39 2012
code logs -> 2012 -> Fri, 04 May 2012< code.20120503.log - code.20120505.log >

[ Latest log file ]