ugh portupgrade sucks. it does really badly with deps, especially web deps upgrading php (say) needs me to run portupgrade about 5 times :/ Use portmaster. mike-burns: yeah... I dunno. It has its own gotchas. And I'm really, REALLY nervous about using an overgrown shell script for anything important :P A bad programmer can write in shell just as well as he can write in Ruby. on the other hand, I know portmaster doesn't explode when ruby gets upgraded. haha. Yeah. I just wish there was a better option. Would you trust it more if it were in C? a door number three that isn't terrible. depending on what the app did, sure. just as I'd trust shell over C for some stuff. just for the record, I don't like the fact that portupgrade's ruby either. I've just... I dunno. Gotten used to it :/ portmaster is at least a more pleasant experience. devil you know etc. Heh, I'm a Ruby developer and I don't even like that it's in Ruby. that's one thing debian / ubuntu got right; upgrading is relatively painless, even across 5 distribution releases (my laptop started out 5 dist-upgrade's ago) mike-burns: a developer of ruby or a developer who uses ruby? up_the_irons: it's all debian. I've never had a problem with a debian upgrade. I've had ubuntu break frequently on major versions. Yeah, and that's partially because apt defaults to a binary format, and partially because apt doesn't expose its innards as a series of Makefiles. I had a debian machine go up 3 major versions (and it's debian, so 5 or so years of software) without a hitch. I'm a developer who uses Ruby very extensively, and does write Ruby C code at times when needed. jdoe: yeah probably b/c debian rarely releases new versions ;) Haha. up_the_irons: haha. true. but I mean, when they do, the upgrade *works* mike-burns: while I agree that freebsd's build system is more in-depth, "it's binary" is kind of a cop-out. RPM is binary, RPM sucks for upgrades :P er jdoe: yeah; i haven't had problems with either debian or ubuntu, maybe i haven't done enough, hehe not in-depth... complex? It's differently complex. up_the_irons: I've had server break but in a weird way... and only once. Server is mostly safe. It's the desktop stuff that hurts. mike-burns: yeah. I think I know what you mean, I just can't put it into words :P hey up_the_irons... are you still on track to hae new VPSes up in early August? jdoe: ah yeah, i've had more issues with desktop stuff as well; usually not very major issues though Ports is based on existing solutions---they had an "a ha!" moment where they realized they could simply use make, then a "err, well, uhh ..." moment when they realized it wasn't a perfect fit. apt, on the other hand, is custom-built. ruby is probably nice to program in. It's something I'd probably pick up (it or python) if perl hadn't gotten to me first... the gems/rails stuff though, that gets a ":/" I'm a Rails dev by day. how long? Lefty: I'm AHEAD of schedule actually. I built and put the server in the data center last night, will be doing memtest (7 hours), OS install, + my magic dust, and then will be ready for customers; i'm thinking in the next few days As I explain in the course I teach, Rails is a bloated pile of terrible hacks, and it's also the best we have. did you get the ZED SHAW EXPERIENCE? jdoe: 8 hours a day, for the past four years. up_the_irons: you rock! Never met Zed, but did enjoy his articles. why, thank you haha. Yeah, I get that. I know rails is great for RAD, I know it's ... awkward for maintaining (or at least can be) ... upgrading rails or gems is an exercise in masochism :/ Oh wow, next few days. Maybe I should get another VPS ... jdoe: ugh, yeah, i can't stand gems mike-burns: me too, but mostly because he's a wonderfully trollicious blowhard. jdoe: This is why I sometimes write Ruby C code. :) haha oh man I have an ancient RoR app. from when it was new and shiny and... new and shiny. this app has been unmaintained for years, but has been moved from machine to machine, across arch and os What's the complaint with gems? I happen to sit next to the guy who runs rubygems.org, so I can make changes happen if needed. ... and every time I have to install ancient, specific gem versions in a local ... I don't know what you call it. A local gem cache? You should vendor your gems in RAILS_ROOT/vendor/gems. In Rails3 you'd use Bundler to automate the process. my rant with gems would go on forever; if we ever meet at a conference or some place, we can discuss it over beer and it's just so painful. Makefiles (er, rakefiles) that assume they're being installed systemwide etc :/ up_the_irons: Deal. mike-burns: :) jdoe: Well that's a complaint with specific developers, not the gem system itself. mike-burns: haha, my only real beef is from years ago when they switched from require to require_gem (or similar) for no obvious reason. Haha. Yeah that sed command I had to run sure was annoying! it's not so much that, it's just a gratuitous change that breaks existing code. I think I actually did run into a problem but it may have been because I'm not a ruby guy. it was quite a while ago now so I don't really remember. OK, that enters into my complaint with the Ruby community: they don't respect version numbers. haha. yeah, lest I sound too much like a troll, I don't really have a problem with gems. or rather, my problems with gems apply to everything similar (cpan, whatever python's egg crap is called) duplication of effort, hit-or-miss quality etc. They have a very "this is important to me in my life so it gets a major version increment" and "this was quick for me to implement so it's a patch release" attitude, instead of really caring about the changes themselves. mike-burns: "don't break working code in a minor revision" should be a no-brainer though :) The rubygems guy and I have been talking about the quality thing, and I know the Haskell guys are working on implementing a CI server for all their packages. jdoe: I agree! or at least "don't break correct code in a minor revision" "talking about" to what end though? I mean if you start doing code review on something like CPAN/gems you're going to die before you make it through the As :P dependencies is really my complaint. you can easily fall into dependency hell with gems, and it is needless. I feel if programmers had to be system admins first, they'd write a lot better tools maybe a reputation system or something... lol up_the_irons: gems has nothing on cpan (for dependencies) Rails3 wins the dependencies war. jdoe: the thing with cpan is, I usually just hit "yes" a million times, got coffee, came back 20 minutes later, and what was installed usually *did* work :) The `gem' command is slowly improving; sadly relatively few people have commit access to it and the commiters are reluctant to make changes (lest people complain about breaking correct code etc etc). another thing with gems is, it assumes a "system-wide installation" mentality far too much. Almost all gem problems i've had can go away if I just unpack everything in vendor/ Ah, that's changed very recently. The HOT THING TO DO is to use rvm to install ruby and your gems; this installs everything locally and allows you to package gemsets for specific apps, etc. yeah i'm not too familiar with the new tools (like, rvm?) http://rvm.beginrescueend.com/ - it's very exciting to full-time Rails devs. up_the_irons: yeah, but it may/may not have installed half of CPAN in the progress ;) up_the_irons: especially if it pulls in one of they heavyweight modules like XML::...pretty much anything, Template::Toolkit etc. jdoe: yeah, it's definitely heavy mike-burns: there used to be a way to have a gem... cache? For the life of me I can't remember the proper name ... in .gems or something, per-user. up_the_irons: I had a friend try to install plagger the other day XML::RSS, Template::Toolkit and another big one I can't remember. w00t, they have a Pledgie button jdoe: I have a .gem/ruby/1.8/cache dir, yeah. Yeah Pledie is awesome, up_the_irons . mike-burns: well this I imagine wasn't the proper way to do it... this is the hackish way to do it that someone did way back at the dawn of time :( mike-burns: hehe, glad u like it Much of Ruby is a hackish way to do it back at the dawn of time. This is what draws people to it---it's like how people like a bad vocalist because they can identify with it. When I get sick of it, I hack Haskell. :) haha xmonad is awesome it is. mike-burns: I want to like lisp/scheme but I just have a rough time approaching most of the problems I need to solve as a functional programmer. on my netbook i have it running with a full gnome session in the background, so I get the niceties of roaming network locations and other conveniences (bloat, yeah, but ram is cheap and my time is not ;) Ah. I worked as a Scheme programmer for a bit, and a good OO programmer is also a good functional programmer, so I love those kinds of things. mike-burns: I don't generally think OO either. ... except for my latent flirtations with perl. Ah, I have trouble with C/asm/Perl. I did Perl for five years back before I knew programming. perl has OOP but it's... weird and ... really, really unpleasant. Yeah it is. Blessing a hash or whatever. (I think, real perl hackers may not) I grew up with C/asm. I went straight from BASIC -> asm, and from there to C (lol high level asm) ... so I just stuck with it. Unfortunately there's not a lot that can be justifiably written in C anymore. most of the low-level stuff has been done about 30 times over. C was my first language, and I quickly started hacking on asm, but ... once I learned Scheme and Smalltalk I didn't want to go back. haha. had I not started with BASIC I might never have touched asm. i love going back to assembler sometimes :) keeps you writing tight code imho but asm was a great way to extend basic... poke it into memory and then jump to it. <3 qbasic. I like to hack C and Java sometimes, just to get something done in the native library for the app (GNOME, Android), but it's always more of a tourism thing than anything else. my first lang was QBASIC, then to C then I did Pascal basic here, but on my zx spectrum :) bob^^: I'd say it forces you to think about how your code is going to run on the cpu, but that's not really valid anymore. And the quote I wish I had found more quickly was "a monad is a monoid in the category of endofunctors". then i moed to qbasic, then to pascal, delphi etc oh wait, there was ASM at the same time as C jdoe: indeed, these days the compiler probably does a better job of optimisation than any human Yeah, most def. up_the_irons: technically this is quickbasic I think, but you never did http://www.tek-tips.com/faqs.cfm?fid=44 or similar? i do assembler for embedded stuff (PIC/AVR) so doing it by hand is sometimes necessary for timings bob^^: with the exception of that dude who hand-tunes math libs. Forget his name. all good fun :) now it varies too much by cpu :/ yeah, exactly :( that's some interesting basic there up_the_irons: it's quickbasic, in qbasic you had to compile asm to proper machine code, then poke that into memory and jump to it. isn't it up_the_irons: ... but you could do the same stuff. up_the_irons: I saw keyboard isrs, mouse handling routines etc. written in qbasic. quickbasic just made it suck less. ... cost though :/ jdoe: if memory serves me correct, quickbasic was a compiler for qbasic. with just qbasic, it was all interpreted, you couldn't make .exe's that sounds familiar i think quickbasic also had some heavyweight extensions it does to simplify some stuff like that interruptx stuff low level stuff etc yeah the good old days ;) powerbasic had similar (but incompatible) features. yeah. ABC was awesome. But anyway, use portmaster. haha lol what a segue that was, huh. Turbo C++ 3.0, man I had some long nights with that... back in the good ol' days yeah, I stole a copy from school. that and Turbo Assembler. (fuck masm) i asked for it for my birthday ;) i was like 12 i got it all good programmers start young :D i still have the box and the 3.5" floppies I don't think there's anywhere even remotely near me I could have purchased it. bob^^: it's true although I eventually bought Borland C++ Builder (and immediately regretted it) lol borland i started about 11-12 as well talk about a company cratering. i still use delphi :) I'm so sorry :P don't be, for windows dev i actually don't think you can beat it er, VS :) i hate MS's dev tools can't stand the IDEs me too but most people *adore* them yeah, they do, i don't :) haha. yeah. then again, I kinda like eclipse, so I'm broken to begin with ;) hah :D rumours have it that Delphi 2011 will have a cross-compiler with mac and linux targets will be nice if it turns out to be true Sounds tricky. bob^^: learn 2 java :P hehe :) I dunno. Borland used to make great compilers in the DOS days. Borland C++ was okay for windows for a while, and Delphi was VB for smart people. ... then I don't even know. It's like not even like they stopped trying, it's like they shot themselves in the foot, kept firing until the gun was empty, and then just started beatin themselves with it. ... and then renamed themselves Inprise, 'cause, you know, who wants name recognition? :P If it makes you feel any better. One of the products I develop is written and build in Delphi 7. Yep. Delphi 7. up_the_irons: unrelated, I've got a /29 for work, put in a request to get rdns delegated... tech for our provider says since we don't have a class C we'll need to do classless delegation, links me http://kimmo.suominen.com/docs/notes-rfc2317/ and asks for a domain name to send the ptrs to. I asked him why, pointed out that all he needed to do was setup a fake zone with ns glue but he's persisting that it's not the recommended way of doing things. that's a little worrying :P jdoe: a domain name to send the ptr's to? strange. never heard of that jdoe: honestly, the whole sub-class C delegation issue is screwy, and always has been. everybody does it a little different. just bear with it until we're all on v6, then the delegations are super simple ;) up_the_irons: he basically wants to do the cname hack but with a real domain. jdoe: yeah, like that document says er, that document says to use whatever-3.2.1.in-addr.arpa or wait, no it doesn't say that, just mentioned it... i think yeah he wants like... 254.reverse.domain.com which is legitimate, I guess, but even weirder. odd yeah. I'm still waiting for them to provide our ipv6 block which provider? they asked me how much I wanted, I said "I guess /64 is standard?" I wonder how big a block I could have gotten... jdoe: you should ask for a /48 I don't even need a /64 jdoe: you don't want just a /64 b/c that'll be only one vlan I just wanted it because they advertise a prefix yeah, I'm not going to use it for anything though. curiosity :P the fact that they even asked how much you wanted shows they don't v6 yet *don't get or classless delegations ;) uh, "epik networks" v6 isn't about need-based allocations, it is about standardized allocations epik networks? :) yep. /48 for a "site" /64 for when one and only one subnet is needed /32 for an isp I fall into case 2 ;) but you're really a "site" because really, I'm going to set it up, make the obligatory stupid DEAD:BEEF:CAFE:BABE hosts, and forget about it. your work organization may need multiple subnets in the future yeah, but if you just get it now, you'll have it I expect if, somehow, we ever use it for something real, we'll get a proper allocation then that's true. can give yourself the first /64, but have the rest /48 available for future it is easier to administer a network where each "site" (e.g. customer) gets only 1 size allocation, say /48 that is the advantage instead of giving each customer a different size depending on what they "need" no argument. well, I mean, I guess I made an argument. but it's a dumb one. lol my ipv6 database is so nice and simple, all /48's ;) i'm even 1 step away from auto-allocation of v6 space to new customers, just pick the first /48 out of 2607:f2f8:a000::/36 using rfc 3531, given existing allocations. poof comes out a usable /48. v4 sucks in the sense that all allocations must be done somewhat manually, b/c i have to balance customer expansion with block fragmentation the way iweb does it is block out the space... give the machine a primary ip from a shared class c, then break a /29 or whatever out of another block. er, seems to do it, anyway. yeah i've heard of similar methods I'm not sure how ARIN lets them get away with that though... it only works if you have a reasonable amount of unallocated space for new users. i really dislike those methods b/c it means every customer is actually on a shared network link (e.g. same vlan), and the only reason you don't see other ppl's traffic in a tcpdump is b/c of firewall rules set up by the isp, which are prone to human error and can leak traffic. the best way to segregate traffic is the use 4 extra bytes on the ethernet frame and let hardware dispatch the packet where it needs to go; that is, VLANs :) jdoe: ARIN won't audit that kind of behavior, but when it comes down to getting new address space, they may deny it b/c there is too much unallocated space. however, at that point, the isp can just lie. i figure a lot do, which isn't fair, but is not unheard of ah I dunno. I stay away from the networking stuff as much as I can. It just doesn't appeal. thankfully there's a dude at work who loves it. lol yeah networking is awesome ;) to each their own :) :) more conversation in here today than in the last month :P it comes and goes :)