--- 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 |