Mochabot log - CommonJS IRC channel: #commonjs on irc.freenode.net

2010-02-15:

[15:37] <ashb> where would people think is a good place/name ot put the current os name?
[15:37] <ashb> Windows/Darwin/Unix etc
[15:37] <ashb> system module?
[15:38] <MisterN> system.uname?
[15:40] <ashb> hmmm probably as .osName and .machineHardware
[15:40] <ashb> or similar
[16:15] <ondras> require("os").name
[16:15] <ondras> this allows adding some more properties
[16:15] <ondras> .version, .arch, ...
[16:17] <ashb> ondras: yeah that was the other thought
[16:17] <MisterN> ashb: good that we dropped the os module, eh? :P
[16:17] <MisterN> so we can use it for this purpose now
[16:18] <ashb> yeah
[16:18] <ashb> what did it used to even do?
[16:18] <ondras> :))
[16:18] <ashb> i've forgotten
[16:19] <ashb> oh it had sleep and system() fns
[16:36] <MisterN> ashb: i think fork was only in posix
[16:51] <Wes-> "software arch" might an interesting property
[16:51] <Wes-> unix / os2 / windows / novell
[16:51] <Wes-> that sort of thing
[16:51] <Wes-> so that linux, solaris, aix, osf/1, xenix, freebsd, etc all fall into the same category
[16:52] <Wes-> or maybe "systemArch"
[16:53] <ondras> this is a huge bikeshed to be colored!
[16:54] <ondras> I bet we will be able to find at least ten different colours for it
[16:54] * ondras implementing remote storage for his roguelike
[16:54] * ashb is fighting cmd.exe quoting
[16:56] <MisterN> Wes-: maybe more like flags
[16:56] <MisterN> Wes-: like the posix macros in C
[16:57] <Wes-> MisterN: not a bad idea, either!
[16:57] * Wes- is learning bsd's tree.h macros
[16:58] <Wes-> This is like C++ templates, only without syntax
[16:59] <MisterN> Wes-: yeah, you can even do metaprogramming with macros :)
[17:00] <Wes-> yep. I know a lot of macro tricks. Better docs for this sucker would be nice, though, it's tricky when you're not the macro author. ;)
[17:00] <Wes-> (you should see the macros in gpsee, I have whole classes of polymorphic functions)
[17:02] <MisterN> Wes-: have you seen what we do with macros in flusspferd? :)
[17:02] <Wes-> no, but I imagine it's equally fun. :)
[17:02] <Wes-> You want to see insane, though, check out the generated regexps in gpsee's ffi code
[17:02] <Wes-> some of them are > 10K
[17:02] <Wes-> I actually had to break some up because of limitations in GNU grep
[17:03] <MisterN> oO
[17:03] <MisterN> Wes-: this is our insane macro stuff: http://flusspferd.org/docs/group__classes.html#gaa23a1baded44f78a6606863d2cbfac7d
[17:04] <MisterN> implementation: http://github.com/ruediger/flusspferd/blob/master/include/flusspferd/class_description.hpp
[17:04] <MisterN> Wes-: writing macros with named parameters is a very cool trick IMHO
[17:04] <Wes-> oh yeah
[17:05] <Wes-> I'm curious why you couldn't use templates in there, mind you
[17:05] <MisterN> because we need to generate actual code.
[17:05] <MisterN> templates don't do the trick there.
[17:05] <Wes-> Oh, right - I bumped into that problem before myself
[17:05] <MisterN> in C??
[17:05] <Wes-> I have a nice trick I use a fair bit in GPSEE, I have a "declaration file" which gets include many times in many different files, sometimes mroe than once in each
[17:06] <Wes-> the declaration file is actually macro'd to code, or enums, or arrays, or whatever each time it is included
[17:06] <Wes-> No, in C++, I was writing a database module class a few years back
[17:06] <Wes-> rather, wrapping my C library
[17:08] <Wes-> I wrote a beautiful template class that was worthless as a DSO because it didn't instanciate anything
[17:18] <MisterN> Wes-: oh no, that was another problem
[17:18] <MisterN> Wes-: that's really not the problem we have here
[17:19] <MisterN> Wes-: also it's a foolish beginner's mistake that you made there :P
[17:19] <Wes-> MisterN: Like I said, I don't actually know C++ :)
[17:19] <ashb> i would like it very much if cmd.exe would DIAF
[17:20] <MisterN> Wes-: you could probably have solved the problem by putting the whole template in the header.
[17:21] <Wes-> Probably, but the whole point was to get 300+ interfaces through to PHP. I just wound up instanciating database objects based on char * arguments instead of compile-time symbols
[17:22] <Wes-> Or maybe that was for CXXWRAP (JNI generator) and not PHP? I forget
[17:23] <Wes-> All I know is that when I wrote the JSAPI version of that wrapper it was really easy comparitively
[17:23] <Wes-> Because I actually knew what I was doing, lol
[17:23] <MisterN> Wes-: you wrote a c++ template in order to interface to PHP?
[17:23] <Wes-> (and I didn't care at all about host language type safety)
[17:24] <Wes-> MisterN: Yes, IIRC the ZEND macros that shipped with PHP5.0 required C++ classes to get PHP objects
[17:24] <Wes-> (not really my area of specialty, I just had to whip something together)
[17:24] <Wes-> I do recall reading Zend's macros, though. They suck.
[17:24] <MisterN> PHP...
[17:25] <Wes-> Yeah, everything about that language sucks
[17:25] <Wes-> except that it has that one key feature: "ship date"
[17:25] <MisterN> ?
[17:25] <Wes-> MisterN: "ship date" is the most important product feature. You can leave plenty of other features out, but not ship date.
[17:26] <MisterN> Wes-: i don't really understand
[17:26] <Wes-> MisterN: The most awesomest piece of software in the world will sell zero copies if you don't release it
[17:27] <MisterN> Wes-: yeah, but python has releases, too
[17:27] <MisterN> Wes-: i'm not particularly fond of python but i'd use it ten times over php
[17:27] <Wes-> You can use python to write server-parsed web pages?
[17:27] <MisterN> of course?
[17:27] <Wes-> And, more importantly, was released at about the same time as PHP?
[17:27] <MisterN> no, but people use PHP for _new_ stuff
[17:28] <Wes-> not me
[17:28] <MisterN> yeah you use it for old stuff :P
[17:28] <Wes-> I'd rather write a whole server-side javascript backend from scratch
[17:28] <evilstreak> :D
[17:28] <Wes-> more important, I don't write ANY PHP code. Ijust maintain some.
[17:30] <ondras> yeah. code purity is an important thing.
[17:31] <ondras> never touch those, my baby, they might hurt you!
[17:36] <Wes-> I already have brain scars from PHP globals
[17:39] <ashb> "Shipping doesn?t mean you win, but not shipping means you lose."
[17:41] <Wes-> exactly!
[17:45] <ashb> ah - in reference to my earlyier question.
[17:45] <ashb> python has sys.platform
[23:54] <isaacs> what's the minimum that a Binary implementation has to offer to be useful Binary module?

 

 

Logs by date :