--- Log opened Wed Oct 30 00:00:47 2013 |
00:02 | | thalass [thalass@C2A270.1179B7.313116.2B4F60] has quit [[NS] Quit: flerg] |
00:40 | | Turaiel[Offline] is now known as Turaiel |
00:46 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has joined #code |
00:46 | | mode/#code [+o celticminstrel] by ChanServ |
02:06 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
02:11 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
02:11 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
02:20 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
02:37 | | Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has joined #code |
02:50 | | ktemkin is now known as ktemkin[awol] |
02:58 | | ktemkin[awol] is now known as ktemkin[afk] |
03:00 | <@Azash> | http://techcrunch.com/2013/10/29/hosting-service-mongohq-suffers-major-security- breach-that-explains-buffers-hack-over-the-weekend/ |
03:28 | | * McMartin flips through backscroll a litt |
03:28 | <&McMartin> | *little |
03:29 | <&McMartin> | It's a common idiom for methods in a class T to return type T& and have that happen via "return *this;" |
03:36 | | BlazeKid [Smurf@Nightstar-1ntroe.range86-178.btcentralplus.com] has joined #code |
03:39 | <&Derakon> | McM: I was not aware of that idiom. |
03:39 | < BlazeKid> | Fuck u Fags. |
03:39 | | mode/#code [+b *!*Smurf@*.range86-178.btcentralplus.com] by Derakon |
03:39 | | BlazeKid was kicked from #code by Derakon [Derakon] |
03:39 | <&Derakon> | Cute kid. |
03:40 | <&Derakon> | I like how he used the "u" for "you", but also thought to include proper punctuation. |
03:40 | < Harlow> | DNAFQ? Can some one even hate #code? Nothing here is even remotely offensive. |
03:41 | <&Derakon> | Harlow: it's a fairly large, non-secret channel; ergo it will attract the occasional random sewage. |
03:43 | < Harlow> | I mean I would understand trolling, say #brony or some other "odd" behavioral/soical group. But #code, really... That is sad. |
03:45 | < Harlow> | Oh I ran into an operator I've never seen used before, a question mark. (C++) |
03:46 | <&ToxicFrog> | The ternary operator? |
03:46 | <&ToxicFrog> | (x ? y : z) |
03:46 | <&ToxicFrog> | Evaluates to y if x is true, z otherwise |
03:48 | < Harlow> | oh so kind of like Lua's " a > b and a or b " notation |
03:49 | <&ToxicFrog> | Yeah |
03:49 | <&ToxicFrog> | Or lisp's/scala's if statement |
03:49 | < Harlow> | Amazing I went over that lua bit today... Totally unrelated but now I'm glad that someone brought that up. |
03:49 | <&Derakon> | Or Python's "y if x else z". |
03:49 | <&Derakon> | ...I think Python has that. |
03:50 | <@Azash> | ToxicFrog: My favourite use of the ternary operator |
03:50 | <&McMartin> | I think mine is "!!???!!!??:!!??", from Ruby |
03:51 | <@Azash> | McMartin: Typing it up, just a moment |
03:53 | <@Azash> | for(int i=1;i<=100;i++){cout<<(i%3?(i%5?i:"Buzz"):(i%5?"Fizz":"FizzBuzz"));} |
03:53 | <@Azash> | Syntax likely bad, been ages since I messed with C++ |
03:54 | <&McMartin> | That looks like it tries to do separate things in cases of divisibility/indivisibility by 3, 5, and 15 |
03:55 | <@Azash> | You're not familiar with FizzBuzz? |
03:55 | <&McMartin> | I'm not. |
03:55 | <&ToxicFrog> | It's a common coder smoke test. |
03:55 | <@Azash> | I think it's from Coding Horror as the archetypal programming interview question |
03:55 | <&ToxicFrog> | Output the numbers 1 to 100 inclusive. |
03:56 | <&ToxicFrog> | Replace all multiples of 3 with "Fizz", of 5 with "Buzz", and of both with "FizzBuzz". |
03:56 | <@Azash> | Otherwise, print the number |
03:56 | <&ToxicFrog> | This is a negative signal; if someone can implement it doesn't tell you much, but if they can't it means they were lying their ass off on the resume and there's no point even going to a full phone interview. |
03:56 | | * Derakon nods. |
03:57 | <&McMartin> | As it happens I'm pretty sure that what you wrote will not type-check C++; operator<<(int) and operator<<(const char *) are different methods and you can't flip between them at runtime~ |
03:57 | <&ToxicFrog> | (the original author of this test noted that some horrifying number like 80% of applicants failed this) |
03:57 | <&McMartin> | Oh yes. |
03:57 | <&ToxicFrog> | (and those were the ones who got past the initial "this person looks interesting enough to call" filter) |
03:57 | <&McMartin> | They will also fail "how many vowels are in this string" and many other questions |
03:57 | <&Derakon> | (Well, that only requires skill in crafting resumes) |
03:57 | <@Azash> | McMartin: I just used cout because I forgot what the terrible unformatted print method was |
03:58 | | Kindamoody[zZz] is now known as Kindamoody |
03:58 | <&McMartin> | Azash: That one needs its own switch too |
03:58 | <@JustBob> | ...man. |
03:58 | <&McMartin> | I suspect the solution involves an int-to-string conversion somewhere |
03:58 | <@JustBob> | I'm sure I could do FizzBuzz in MatLab, but my god would it be awkward. |
03:58 | <&McMartin> | (The *real* solution involves Not Using Tertiary Operators) |
03:58 | <&ToxicFrog> | Everything is awkward in matlab. |
03:58 | <@JustBob> | Well, yes. |
03:59 | | * McMartin goes to see how many lines it would be in Commodore BASIC, uncrunched. |
03:59 | <@Azash> | McMartin: NUTO tends to be a good solution unless inlining is actually useful |
03:59 | <@Azash> | FizzBuzz always annoyed me because there's no way to avoid a duplicate if that I could think of |
03:59 | <@Azash> | (Unless you started with %15 of course) |
03:59 | <@JustBob> | ...actually, you could do it in a single for loop in matlab. |
04:00 | <&McMartin> | The 'natural' solution is a for loop with an if/elseif chain, yes |
04:00 | | * Derakon idly ponders an approach that would use a switch/case statement, branching on (i % 3) * (i % 5). |
04:01 | <&Derakon> | It's nearly bedtime, but I think that could actually be made to work. |
04:01 | | * McMartin wonders if he can abuse GOTO. |
04:02 | <@Azash> | Derakon: Your cases would just be 0 and default then, default being printing the number, but case 0 still needs one to two checks whenever it's reached |
04:03 | <&Derakon> | Azash: mm, point. Okay, switch on ((i % 3) << 4) + (i % 5). |
04:03 | <@Azash> | Because tertiary operators are naughty fun |
04:03 | <&Derakon> | Ideally you would find a solution that uses operator overloading. |
04:03 | <@Azash> | switch((i%3?2:0) + (i%5?1:0)) |
04:04 | <&Derakon> | Anyway, I'm for bed. You kids have fun. |
04:04 | | Derakon is now known as Derakon[AFK] |
04:05 | <@Azash> | case 0 print number, case 1 "Buzz", case 2 "Fizz", case 3 "FizzBuzz" |
04:05 | <@JustBob> | In MatLab... Hrm. increment=[1:1:100]; count=0; for i = 1:numel(increment); count=count+1; val=count(i)/15; if mod(count,1)==0 then count(i)={'FizzBuzz'}; elseif... ad naseum. |
04:05 | <@JustBob> | Err, if mod(val,1)==0, that is. |
04:05 | <@Azash> | I'm actually going to use this approach in the future |
04:07 | <&McMartin> | OK, the spacing is a little off but I can do it in six lines of BASIC. |
04:08 | <@JustBob> | Man. My standard header is more than that. :p |
04:08 | <&McMartin> | BASIC lacks a mod operator, though~ |
04:11 | <&McMartin> | OK, properly formatted it goes to nine lines |
04:12 | <&McMartin> | 10 FOR I = 1 TO 100 |
04:12 | <&McMartin> | 20 IF INT(I/3)*3=I THEN PRINT " FIZZ";:GOTO 50 |
04:12 | <&McMartin> | 30 IF INT(I/5)*5=I THEN PRINT " BUZZ ";:GOTO 80 |
04:12 | <&McMartin> | 40 PRINT I;:GOTO 80 |
04:12 | <&McMartin> | 50 IF INT(I/5)*5=I THEN GOTO 70 |
04:12 | <&McMartin> | 60 PRINT " ";:GOTO 80 |
04:12 | <&McMartin> | 70 PRINT "BUZZ "; |
04:12 | <&McMartin> | 80 NEXT I |
04:12 | <&McMartin> | 90 PRINT |
04:12 | <&McMartin> | (of note here is that whenever you print a positive number it is surrounded by spaces automatically, so I make fizz, buzz, and fizzbuzz do the same) |
04:13 | <@Azash> | What does the empty PRINT do? |
04:13 | <&McMartin> | Ends the line. |
04:13 | <@Azash> | Ah |
04:13 | <&McMartin> | the semicolons on the other print statements mean "don't put a newline after you print" |
04:13 | <@Azash> | Mm, clever |
04:14 | <&McMartin> | lines 50-80 are me not having IF-THEN-ELSE; the silly INT expression is me not having % |
04:15 | <&McMartin> | You can kind of claime that line 50-80 are also me not having proper block structure~ |
04:15 | <@JustBob> | Whoops. |
04:15 | <@JustBob> | Now that I stuck the code in MatLab, I realize that I can't stick strings into arrays. |
04:15 | <@JustBob> | Back to the drawing board. |
04:17 | <&McMartin> | My greatest fear, incidentally, is that those 80% aren't lying their asses off on their resumes and actually do have 5 years of experience in a shop somewhere apparently unnoticed |
04:17 | <&McMartin> | ... wait a minute |
04:17 | <&McMartin> | I don't have to have unique exits |
04:17 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
04:18 | | mode/#code [+o himi] by ChanServ |
04:19 | <&McMartin> | whoops! Yes i do |
04:19 | <&McMartin> | ?NEXT WITHOUT FOR ERROR IN 50 |
04:19 | | iospace is now known as iospacedout |
04:20 | <&McMartin> | OK, still, this is better |
04:20 | <&McMartin> | 10 FOR I=1 TO 100 |
04:20 | <&McMartin> | 20 IF INT(I/15)*15=I THEN PRINT " FIZZBUZZ ";:GOTO 60 |
04:20 | <&McMartin> | 30 IF INT(I/5)*5=I THEN PRINT " BUZZ ";:GOTO 60 |
04:20 | <&McMartin> | 40 IF INT(I/3)*3=I THEN PRINT " FIZZ ";:GOTO 60 |
04:20 | <&McMartin> | 50 PRINT I; |
04:20 | <&McMartin> | 60 NEXT |
04:20 | <&McMartin> | 70 PRINT |
04:20 | <&McMartin> | I had to resist not making 50 be PRINT I;:GOTO 60 |
04:29 | <@JustBob> | http://pastebin.com/X2icWXhd <- Whelp, it takes 42 lines in MatLab. |
04:30 | <@JustBob> | 18 lines without whitespacing and comments, though. |
04:33 | <@JustBob> | ... |
04:33 | <@JustBob> | Also. |
04:33 | <@JustBob> | Fuck all of you. |
04:33 | <@JustBob> | You fuckers nerdsniped me. |
04:33 | <@JustBob> | As I was about to go to bed. |
04:38 | <&McMartin> | Tee hee |
04:39 | <@JustBob> | And yes I'm aware I could do it more efficiently. |
04:39 | <@JustBob> | I DON'T DO EFFICIENT CODE. :p |
04:40 | <@JustBob> | Anyway. |
04:40 | <@JustBob> | Back to this attempting to sleep business. |
05:22 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
05:23 | | Turaiel is now known as Turaiel[Offline] |
05:29 | <&McMartin> | Oh hey, valgrind found a leak in my code instead of in libX11 |
06:01 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:16 | <&McMartin> | OK! |
06:17 | <&McMartin> | After about three iterations I'm pretty sure I've got the first three layers of Monocle right. |
06:19 | <&McMartin> | I'm not sure if I should start working on cross-platform support or whether I should try to get the object system working first. |
06:22 | | Kindamoody is now known as Kindamoody|out |
06:27 | | Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has quit [[NS] Quit: BED] |
06:31 | | ErikMesoy|sleep is now known as ErikMesoy |
06:42 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:45 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
07:00 | | ToxicFrog_ [ToxicFrog@Nightstar-fga8gn.dsl.teksavvy.com] has joined #code |
07:01 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
07:19 | <@froztbyte> | <McMartin> Oh hey, valgrind found a leak in my code instead of in libX11 |
07:19 | <@froztbyte> | hahahaha |
07:23 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
07:33 | | ToxicFrog [ToxicFrog@Nightstar-rr9d3g.dsl.teksavvy.com] has joined #code |
07:33 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
07:37 | | ToxicFrog_ [ToxicFrog@Nightstar-fga8gn.dsl.teksavvy.com] has quit [Ping timeout: 121 seconds] |
07:37 | <&McMartin> | I'm actually really happy with how the C API came out |
07:42 | | thalass [thalass@Nightstar-c9k.lht.108.58.IP] has joined #code |
07:51 | <&jerith> | McMartin: Any chance of FFI-on-OSX-friendliness? |
08:01 | | AverageJoe [evil1@Nightstar-dfmuir.ph.cox.net] has joined #code |
08:03 | | thalass_ [thalass@Nightstar-be7.ses.145.58.IP] has joined #code |
08:06 | | thalass [thalass@Nightstar-c9k.lht.108.58.IP] has quit [Ping timeout: 121 seconds] |
08:12 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
08:24 | <&McMartin> | jerith: Not until SDL2 migration, which is not until SDL2-mixer shows up in all my repos |
08:48 | <@AnnoDomini> | JustBob: You are the first person I've ever seen who uses proper punctuation and capitalization in comments. |
08:59 | <&jerith> | AnnoDomini: I do that as well. So do most of the people I work with. |
08:59 | <@froztbyte> | makes it a lot easier to deal with |
09:00 | | * froztbyte is one of the people jerith works with |
09:00 | <@AnnoDomini> | I don't think I've ever seen youse code. |
09:01 | <&jerith> | AnnoDomini: Much of https://github.com/praekelt/vumi is mine. |
09:02 | <&jerith> | (That's day-job code, which makes it a good-sized codebase I work on regularly with other people.) |
09:16 | | AverageJoe [evil1@Nightstar-dfmuir.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:32 | | thalass_ [thalass@Nightstar-be7.ses.145.58.IP] has quit [Ping timeout: 121 seconds] |
09:34 | <&McMartin> | jerith: re: FFI: it's become increasingly clear that I can't entirely wrap SDL itself. If nothing else, a lot of SDL's enumarations need to be exposed. |
09:34 | <&McMartin> | There has to be some way to make a Python module do the SDLmain.m thing |
09:35 | <&jerith> | McMartin: Isn't there a way to do the SDLmain.m thing in a C function I can call? |
09:40 | <&McMartin> | IIRC it's actually ObjC stuff, but IIARC ObjC stuff is toll-free bridged |
09:40 | <&McMartin> | I'll have to dig my mac out of the closet to mess with this |
09:40 | <&McMartin> | My understanding is that SDL2 solves all this forever, though. |
09:41 | <&McMartin> | I suspect that there will be some kind of requirement to make sure mncl_init() gets called *very* early |
09:42 | <&McMartin> | The easiest test would be to pull down http://www.libsdl.org/release/SDL-1.2.15.dmg, rename the "main" in SDLmain.m, and then modify mncl_init to call it |
09:42 | <&McMartin> | (And then don't include SDL.h in wherever you define main) |
09:42 | <&McMartin> | (I'd try to test it on C before I moved on to testing it on Python. I haven't tested any of this on *anything* but Ubuntu right now) |
09:46 | <&jerith> | McMartin: I'm happy with "call mncl_init() very early on". |
09:46 | <&jerith> | That's basically how pygame works. |
10:07 | <&McMartin> | Yeah |
10:07 | <&McMartin> | That might be workable |
10:07 | <&McMartin> | But it's hard to know since I haven't even tested raw C on other platforms yet |
10:55 | <@JustBob> | AnnoDomini - That's because I learned how to code way after I learned formal technical writing. |
10:56 | <@JustBob> | Also, standard system formatting requirements. |
10:56 | <@JustBob> | ...that, and the first professor I had to code for was an ex-English teacher and would fail you for having badly written comments. |
11:12 | <@froztbyte> | hahaha |
11:12 | <@froztbyte> | awesome |
11:21 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
11:25 | | iospacedout is now known as iospace |
11:34 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
11:34 | | mode/#code [+o himi] by ChanServ |
12:03 | <@Tarinaky> | AnnoDomini: You've... seen my code... I use puntuation and capitalisation as well, most of the time. |
12:03 | <@Syka> | I am terrible at code and terrible at comments :D |
12:04 | <@Tarinaky> | The main confusing thing about my comments is I sometimes embed TeX expressions to clarify complicated functions. |
12:05 | | * TheWatcher sets Syka on fire |
12:05 | | * Syka burns :D |
12:05 | <@Tarinaky> | Well, that and the fact I tend to forget to add comments on the first or second pass :/ |
12:05 | | * Syka finds an example for TheWatcher |
12:06 | <@Syka> | TheWatcher: https://github.com/hawkowl/dovedns/blob/master/dovedns/__init__.py |
12:06 | <@Syka> | that code sits in a production system |
12:06 | <@Syka> | :D! |
12:07 | | * Tarinaky blames Syka's code for his sudden digestive discomfort. |
12:07 | <@Syka> | hehehe |
12:07 | <@Syka> | well, 5 months ago... I was horrid |
12:07 | <@Tarinaky> | It's not that bad. |
12:07 | <@Syka> | I have got slightly better after Twisted code reviews beat my shit into shape |
12:08 | <@Tarinaky> | I've written worse. |
12:09 | | * froztbyte is a little bit proud of Syka |
12:09 | <@Reiver> | Twisted? |
12:09 | | * froztbyte is also a little bit responsible |
12:09 | <@TheWatcher> | Syka: https://github.com/TheWatcher/webperl/blob/master/Webperl/Template.pm https://github.com/APEcs/newsagent/blob/master/blocks/Newsagent/Article/Edit.pm - fairly typical of my code |
12:09 | <@Syka> | Reiver: http://twistedmatrix.com |
12:09 | <@Syka> | froztbyte: why? :P |
12:09 | <@TheWatcher> | I average around 40% comment per file. |
12:10 | <@froztbyte> | Syka: why what? |
12:10 | <@Syka> | why would you be a little bit proud of me, of all people ;P |
12:10 | <@froztbyte> | because I know how far you've come, despite all kinds of shit |
12:11 | <@Syka> | heh |
12:16 | | * TheWatcher notices some inaccuracies in the template class docs, will have to fix them later |
13:02 | <@Tarinaky> | Shit. |
13:03 | <@Tarinaky> | Just realised I forgot to shave this morning. |
13:03 | <@Tarinaky> | -.- |
13:03 | <~Vornicus> | False. Beardliness is next to godliness. |
13:03 | <~Vornicus> | (proof: god is generally depicted quite beardly) |
13:04 | <@Tarinaky> | 1) Except when attending interviews 2) Except when transgendered. |
13:04 | <~Vornicus> | well okay that would be problematic |
13:04 | <@Tarinaky> | Fortunately I present male most of the time so 2 is less of an issue. |
13:05 | <@Tarinaky> | But 1 is. So bugger. |
13:05 | <@Tarinaky> | I might be able to get away with it, it's only stubble and I have blonde hair. I will have to check a mirror after lunch. |
13:05 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
13:05 | <@Tarinaky> | And hence determine how far away I shall have to stand. |
13:20 | <@JustBob> | Or make a quick stop at a convenience store for an emergency razoring. |
13:20 | <@JustBob> | Oh, and as far as comments go... |
13:20 | <@JustBob> | I have some code sitting around somewhere that's maybe ~120 lines. |
13:20 | <@JustBob> | There's 20 lines of actual code and 100 lines of commentary. |
13:21 | <@Tarinaky> | There's none around I can think of... and I'm not entirely sure it's worth risking making it wose by turning bright red/cutting myself. |
13:21 | <@Tarinaky> | No time for the skin to heal :/ |
13:21 | <@JustBob> | Ah, that would do it. |
13:22 | <@Tarinaky> | It's not that bad, it's only blonde stubble. |
13:22 | <@Tarinaky> | And it always /feels/ worse under hand than it looks. |
13:23 | <@JustBob> | There is that. |
13:24 | <@Tarinaky> | http://devnull-as-a-service.com/ |
13:24 | <@Tarinaky> | Not sure if someone else linked this already. |
13:26 | <@TheWatcher> | JustBob: if those 100 lines are actually meaningful and needed, good on you! |
13:28 | | * TheWatcher eyes that site, pffts |
13:28 | <@Tarinaky> | Check out their privacy features! |
13:31 | <@TheWatcher> | At least they're honest! |
13:32 | <@JustBob> | TW - Nope. |
13:32 | <@JustBob> | I might have been deliberately trolling someone who said I didn't comment enough. |
13:32 | <@Tarinaky> | How do you even write 100 lines of non-meaningful and needed comments o.o |
13:33 | <@TheWatcher> | Bob finds a way. |
13:33 | <@Tarinaky> | I hope at least half of them were **s and other formatting artwork. |
13:33 | <@JustBob> | So I might have included things like 'i = i + 1; % The additive property is a useful basic mathematical property...[wiki quotation]' |
13:35 | <@JustBob> | Or things like 'counter = counter + 1; % The purpose of this line in the code is to increment the counter by one, thereby enabling the next iteration of the for-loop's computational processes. This incrementation is accomplished by increasing the value of the counter variable by one utilizing the additive property of fundamental mathematics, as defined on Line 41 in a previous comment.' |
13:36 | <@TheWatcher> | If viewed from a sufficient distance, does the code make a trollface in ascii art? >.> |
13:37 | <@JustBob> | Alas, no. But since it has my name on it... I think it counts. :p |
13:37 | <@TheWatcher> | Point. |
13:38 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has joined #code |
13:38 | | mode/#code [+o celticminstrel] by ChanServ |
13:39 | <@Tarinaky> | So. Interesting question. How do you balance software best practices re: bus factor against the natural, individual, desire to be indispensible in order to acquire both status and wealth? |
13:40 | <@Tarinaky> | bbiab. |
13:40 | <@JustBob> | Anyway, long story short... I normally comment my code with a general block for every major chunk going, 'This is what it's supposed to do.' So, % These are my set values for knowns in the system, atop a list of set values. % This loop does blah, for a loop, etc. |
13:41 | <@JustBob> | I find that if someone knows the damned language, they can usually read the code itself and go, 'Duh.' |
13:41 | <@JustBob> | Tarinaky - I find that most coders I've talked to regularly tend to bias towards the indispensibleness, especially in this day of plug and play employees and high turnover. |
13:42 | <@JustBob> | It might be less of an issue when you can expect to find a career with a low chance of being laid off, but in this economy, making yourself harder to justify firing can be a useful thing. |
14:04 | <&ToxicFrog> | Tarinaky: being "indispensable" by writing unmaintainable code has two unfortunate implications |
14:04 | <&ToxicFrog> | (a) you will hate your job, and probably yourself, because you still need to maintain it |
14:04 | <&ToxicFrog> | (b) the instant the company has enough breathing room to replace it you are gone |
14:08 | <@Syka> | one would hope that making good code and deliverables would make you indispensible itself |
14:08 | <@Syka> | but |
14:09 | <@Syka> | i worked in an organisation where that wasnt the case for four and a half years |
14:09 | <@Syka> | so maybe i'm being optimistic |
14:25 | | * iospace sighs |
14:38 | | * TheWatcher has been asked to write some 'how to use git' documentation for work |
14:39 | <@TheWatcher> | Is having to work really, really hard to not just write "Go read Pro Git, FFS" |
14:48 | <@Syka> | TheWatcher: tell them you can buy some copies off o'reillys |
14:48 | <@Syka> | they will eat it up |
14:50 | <@Azash> | TheWatcher: Simply start each sentence with "As described in the recommended guide, Pro Git, .." |
14:54 | | ErikMesoy [Erik@A08927.B4421D.FE7332.0AD079] has left #code [] |
14:56 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
15:03 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
15:13 | <@Xon> | TheWatcher, well if you have a copy of Pro Git you can copy & paste out of |
15:13 | <@Syka> | Xon: pro git is actually git-scm.org |
15:13 | <@Syka> | uh, git-scm.com |
15:14 | <@TheWatcher> | http://git-scm.com/book anyway. |
15:14 | <@Syka> | yeah |
15:14 | <@Xon> | hehe |
15:14 | <@Syka> | i like how the official documentation is the book |
15:14 | <@Syka> | makes it so much nicer |
15:16 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
15:16 | | mode/#code [+o himi] by ChanServ |
16:09 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
16:23 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
16:23 | | mode/#code [+o himi] by ChanServ |
16:29 | <@Azash> | http://govindtiwari.blogspot.fi/?m=0 |
16:30 | <@TheWatcher> | ... :watman: |
16:31 | <@Azash> | dana nana nana nana |
16:36 | <@Alek> | I really hope that's someone's joke site for a class assignment. |
16:36 | <@Alek> | ;_; |
16:36 | <@iospace> | ... what |
16:36 | <@iospace> | D: |
16:37 | <@iospace> | DDDDDDDDD: |
16:38 | <@Azash> | http://www.reddit.com/r/sysadmin/comments/1p5gci/manager_the_director_of_it_want s_you_to_go_see/ccz9qnb |
16:40 | <@Syka> | Azash: oh god scroll to the bottom |
16:42 | <@Azash> | More than 100 tweets per second |
16:43 | <@Azash> | 8.4 million cpm is respectable |
16:44 | <@Syka> | i mean the gif |
16:44 | <@Syka> | of him blinking |
16:44 | | * Syka cries in the corner |
16:44 | | celmin [celticminst@Nightstar-qh0.5dj.249.216.IP] has joined #code |
16:45 | | mode/#code [+o celmin] by ChanServ |
16:45 | <@Azash> | Oh, right |
16:45 | <@Azash> | Professional image editing |
16:51 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
17:04 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
17:04 | | mode/#code [+o himi] by ChanServ |
17:20 | | SkyLady [NSwebIRC@EB02D1.557E71.C49523.8BD07F] has joined #code |
17:20 | < SkyLady> | Hello. |
17:20 | <@Tamber> | Evening. |
17:22 | < SkyLady> | as a n00b, i am compeled to ask what is disscused in this room. |
17:22 | <@celmin> | ... |
17:22 | < SkyLady> | ... |
17:22 | <@celmin> | Programming. |
17:23 | | * SkyLady screams |
17:23 | | SkyLady [NSwebIRC@EB02D1.557E71.C49523.8BD07F] has quit [[NS] Quit: Page closed] |
17:23 | <@celmin> | XD |
17:23 | | Syka_ [the@Nightstar-0lukc6.iinet.net.au] has joined #code |
17:23 | | gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds] |
17:24 | | gnolam [lenin@Nightstar-fhlibs.cust.bredbandsbolaget.se] has joined #code |
17:24 | | mode/#code [+o gnolam] by ChanServ |
17:27 | <@Azash> | Hahah |
17:27 | | Syka [the@Nightstar-04740ca8.iinet.net.au] has quit [Ping timeout: 121 seconds] |
17:27 | <@Azash> | I wonder what hesheit was expecting |
17:27 | <@celmin> | Me too. |
17:27 | <@celmin> | I was going to ask but then she(?) left. |
17:28 | <@TheWatcher> | How peculiar. |
17:29 | <@gnolam> | What did I miss? |
17:29 | <@celmin> | Everything. |
17:29 | < Syka_> | the singularity |
17:30 | <@Azash> | 18:21 < SkyLady> as a n00b, i am compeled to ask what is disscused in this room. 18:22 <@celmin> Programming. 18:22 * SkyLady screams |
17:30 | <@Azash> | 18:23 -!- SkyLady [NSwebIRC@EB02D1.557E71.C49523.8BD07F] has quit [[NS] Quit: Page closed] |
17:30 | <@gnolam> | ... |
17:31 | <@TheWatcher> | If it wasn't so pointless, I'd suspect someone of Taking The Piss |
17:32 | < Syka_> | oh great |
17:32 | < Syka_> | i am updating tex |
17:32 | < Syka_> | so guess what error i get |
17:33 | < Syka_> | it rhymes with "snow race" |
17:34 | <@Azash> | no base? |
17:34 | < Syka_> | no space |
17:34 | < Syka_> | why the hell are tex doc packages several hundred mb :( |
17:34 | <@celmin> | o.O |
17:34 | < Syka_> | seriously |
17:34 | < Syka_> | the -doc packages come out to like 700mb |
17:34 | <@celmin> | That's a lot of docs. |
17:35 | < Syka_> | now it's freezing up |
17:35 | <@froztbyte> | why do you install the tex docs? |
17:35 | < Syka_> | froztbyte: because ~dependencies~ |
17:36 | <@froztbyte> | citation neeed |
17:36 | <@froztbyte> | needed* |
17:36 | < Syka_> | froztbyte: http://packages.debian.org/sid/texlive-latex-extra |
17:36 | < Syka_> | wait |
17:36 | < Syka_> | thats not the one |
17:37 | < Syka_> | wtf. |
17:37 | < Syka_> | it's recommended |
17:37 | < Syka_> | so WHY IS IT INSTALLING |
17:37 | <@froztbyte> | because you're not using -R |
17:37 | <@froztbyte> | and/or you haven't disabled install-recommends in your global config |
17:37 | < Syka_> | WHY IS THAT THE DEFAULT |
17:38 | <@TheWatcher> | Because it's recommended~ |
17:39 | | * Syka_ recommends texlive go suck it |
17:39 | < Syka_> | so now my laptop is freezing up because the disk is shitting itself |
17:39 | <@celmin> | How are the docs so big though? |
17:39 | <@Tarinaky> | So. Session went alright. |
17:40 | < Syka_> | celmin: pdf cos |
17:40 | <@celmin> | â¦why are they pdf. |
17:41 | < Syka_> | ... "cos pdf" |
17:41 | < Syka_> | rather |
17:41 | < Syka_> | "The minitoc pdf is just excessive. It is a 800 pages pdf file with commented code, and flags and maps of many countries." |
17:41 | <@celmin> | ... |
17:42 | <@Tarinaky> | Earlier I had a conversation with someone from the year below, in Comp Sci, who informed me of her... interesting debugging technique. |
17:42 | < Syka_> | oh god now i have to wait for dpkg configure |
17:42 | <@Tarinaky> | Upon encountering a fault she would immediately discard her code and start again. |
17:43 | <@Tamber> | Ah, quantumsort. |
17:43 | < Syka_> | Tarinaky: ...hah |
17:43 | <@celmin> | ... |
17:43 | <@celmin> | How does she get anything done? |
17:43 | <@Tarinaky> | I tried to explain the concept of test cases to her, as she explained she didn't find the advisory helpful. |
17:43 | <@Tarinaky> | celmin: By only attempting small tasks. |
17:44 | <@celmin> | Oh, so she does things in small pieces and only discards the one piece? |
17:44 | <@Azash> | Productivity aside, it's an interesting question whether you learn better from correcting yourself or reconsidering the entire program in light of design issues |
17:44 | <@Tarinaky> | No, I mean the projects she's attempted are small. |
17:45 | <@froztbyte> | Tarinaky: hahahaha |
17:45 | <@Tarinaky> | Azash: I suspect this isn't a design issue so much as a stray semi-colon or a bad cast. |
17:46 | <@celmin> | How has she managed to avoid attempting larger projects... |
17:47 | <@celmin> | Or more like, "needing to attempt"... |
17:47 | <@Tarinaky> | By avoiding modules that require large assignments. |
17:47 | <@celmin> | ... |
17:47 | <@Tarinaky> | *large programming |
17:49 | <@JustBob> | By stringing things together out of small modules? |
17:49 | <@JustBob> | "Well, I could write one large program that does everything, or I could write a lot of small programs that one core program call upon..." |
17:49 | <@Tarinaky> | Apparently the only programming module she did was the first year ones. |
17:50 | <@Tarinaky> | So it's entirely possible to write the entire program at once, without a mistake (with great effort) |
17:50 | <@celmin> | So she's not a CS student? |
17:51 | <@Tarinaky> | She is... I think... |
17:51 | <@celmin> | â¦not for long, perhaps. |
17:51 | <@Tarinaky> | Since she did the first year programming module. |
17:51 | <@Tarinaky> | So she must be on a CS scheme. |
17:51 | <@Tarinaky> | Because BIT students don't have to do programming at all. |
17:51 | < Syka_> | man, i rememebr my bachelor of... um |
17:52 | < Syka_> | bachelor of technology, information systems |
17:52 | < Syka_> | first unit was some interdiciplinary shit |
17:52 | | Kindamoody|out is now known as Kindamoody |
17:52 | < Syka_> | where the tutor spent 30 minutes saying how theres no programming |
17:52 | < Syka_> | then the introduction to programming was html and js, but the really bad kind |
17:52 | < Syka_> | it has only reaffirmed that CS in australian tertiary education is an utter joke |
17:53 | <@celmin> | ... |
17:54 | < Syka_> | oh also |
17:54 | <@celmin> | What's the really bad kind? |
17:54 | < Syka_> | celmin: it was some sort of ordering application |
17:54 | < Syka_> | ie. someone would enter an order they took on the phone |
17:54 | <@Tarinaky> | Probably a mish-mash of pre-CSS3 HTML, HTML and XHTML with Javascript and DOM. |
17:54 | < Syka_> | and at the end of the day, they would press a button and get out a report |
17:54 | < Syka_> | however, there was no saving to disk |
17:55 | < Syka_> | it was single tab |
17:55 | < Syka_> | no persistence |
17:55 | < Syka_> | and this was a... 6 week project?> |
17:55 | < Syka_> | oh also "Cultural Perspectives on Science And Technology" was a requried course |
17:55 | < Syka_> | each course was some $1300 |
17:55 | < Syka_> | I am not paying $1300 for a bullshit course :P |
17:56 | <@gnolam> | https://twitter.com/washingtonpost/status/395592546640203776 |
17:57 | <@gnolam> | http://disqus.com/humans.txt |
17:58 | <@froztbyte> | haha |
18:01 | <@celmin> | I don't like that diagram. |
18:22 | <&ToxicFrog> | Yeah, I just saw that myself. |
18:22 | <&ToxicFrog> | Motherfuckers. |
18:31 | <&McMartin> | If I'm reading the articles around it correctly: (Notice: nobody I actually trust has yet actually confirmed or denied this), this is actually a GHCQ project NSA's skimming stuff off of |
18:31 | <@celmin> | ? |
18:32 | <@celmin> | GHCQ? |
18:32 | <&McMartin> | Er. GCHQ. |
18:32 | <&McMartin> | UK signal intelligence |
18:32 | <@celmin> | I knew I'd heard that somewhere... |
18:32 | <@Tarinaky> | GCHQ is basically what became of Bletchley Park. |
18:33 | <&McMartin> | The NSA is basically what became of the Black Chamber, which makes the Laundry novels a little more interesting |
18:34 | < RichyB> | Syka_, wow, that sucks. |
18:34 | < RichyB> | IMHO Cultural Perspectives on Science and Technology is correctly a £10 eBook and a required-reading list made up mostly of blog posts. :) |
18:35 | <&ToxicFrog> | Hopefully our move to encrypt all internal traffic has made things harder for them, but these slides predate that :/ |
18:35 | <@celmin> | Heh. |
18:35 | <@celmin> | Who's "us" here? |
18:36 | <&McMartin> | Presumably, Google |
18:36 | <@celmin> | TF is Google? |
18:36 | <&McMartin> | As a US company, Google has more leeway to defend against foreign spies than domestic judges. |
18:36 | <&McMartin> | Even when those foreign spies are ultimately reporting back to local spies. |
18:37 | <&ToxicFrog> | celmin: yes, Google. |
18:37 | <&McMartin> | RichyB: I'm not sure how you do a "Cultural Perspectives on Science and Technology" class properly without spanning at lest 5,000 years |
18:37 | <&McMartin> | *least |
18:37 | <@celmin> | Heh. |
18:38 | < RichyB> | McMartin, quite a lot of blog posts! Maybe the eBook is £20. :) |
18:39 | <&McMartin> | Cyberethics in the general case needs to cover reactions to the Industrial Revolution, which also means if you're teaching it in the US you have to bring in the ACW |
18:39 | <@Azash> | http://imgur.com/gallery/sdVuSZQ |
18:39 | <&McMartin> | But more to the point, you simply can't do a class on this without starting with the lament from the ancient Greek oral historians about how this newfangled "writing" thing is going to destroy everyone's memory and replace it with mere "recollection" as they mold their minds to the demands of the new, soulless machine. |
18:40 | <@celmin> | ACW? |
18:40 | <&McMartin> | American Civil War |
18:40 | | celmin is now known as celmin|class |
18:40 | <@celmin|class> | Oh right. |
18:41 | <&McMartin> | RichyB: I guess I'm merely arguing that this sounds like it ought to be an actually rigorous subset of the humanities |
18:41 | <&McMartin> | Impacting as it does every aspect of art, literature, warfare, agriculture, and architecture. =P |
18:44 | < RichyB> | I would quite like to take that course. :) |
18:44 | < RichyB> | How plausible do you think it is that anyone, anywhere would teach it correctly? |
18:44 | <&ToxicFrog> | celmin|class: historically, our inter-data-center links have been unencrypted because they ran over google-owned dark fiber links, which were considered to be practically untappable. |
18:44 | <&ToxicFrog> | EArlier this year we started encrypting all traffic over them just in case. |
18:44 | <&ToxicFrog> | And a good thing, because apparently the NSA can tap them! |
18:45 | <@celmin|class> | Heh. |
18:45 | < RichyB> | Where "correctly" includes "without even once using the word 'semiotics'" and also "without splurging Luddism at the students" |
19:11 | <&McMartin> | I would also require "without sounding like you're conning a group of Silicon Valley venture capitalists" |
19:14 | <&McMartin> | Also, I've had enough intellectual history to be able to think of a few places where "semiotics" could be sensibly deployed, but that's also because I had to study what the postmodernists were reacting against |
19:14 | | Kindamoody is now known as Kindamoody[zZz] |
19:45 | | celmin|class [celticminst@Nightstar-qh0.5dj.249.216.IP] has quit [[NS] Quit: And lo! The minstrel departs, to spread the music to the masses!] |
19:51 | | Derakon2 [chriswei@Nightstar-4k2ccr.ca.comcast.net] has joined #code |
19:51 | | * Derakon2 blarghs at Knoppix. |
19:51 | < Derakon2> | I just want to back up a computer's hard drive with dd. |
19:52 | < Derakon2> | But to do this, I need the network to be functioning first. |
19:52 | < Derakon2> | Knoppix's network setup tool is shit. |
19:52 | < Derakon2> | And I have no idea what I'm doing on the commandline. |
19:53 | < Derakon2> | You'd think there'd be a simple commandline tool to say "this is your IP address, this is your netmask, okay go." |
19:57 | <@Tamber> | "ifconfig eth0 192.168.1.whatever/24"? |
19:57 | <@Tarinaky> | http://thecodelesscode.com/case/26 |
19:57 | <@Tamber> | (Yes, yes, I know; ifconfig is deprecated and I'm a terrible person. Shoo.) |
19:58 | < Derakon2> | Pretty sure we tried ifconfig. I'm not at the keyboard ATM. |
19:58 | <@Tamber> | Hmm. |
19:59 | <&McMartin> | Wait, ifconfig is deprecated? |
19:59 | <&McMartin> | What replaces it? |
19:59 | <@Tamber> | iproute2 |
19:59 | <@Tamber> | Frankly, I'll keep using ifconfig until it ceases to exist. :p |
19:59 | <&McMartin> | Does that also answer the question I most often use ifconfig for, viz. "what IP am I"? |
20:00 | <@Tamber> | I have no idea. |
20:00 | <@Tamber> | I don't use iproute. <.< |
20:00 | < Syka_> | whoo |
20:00 | | * Syka_ writes deploy scripts |
20:01 | <@Tamber> | Derakon2, it might also need a default route setting. (route add default gw 192.168.1.1) But then again maybe not. |
20:02 | <&McMartin> | If one were interested in keeping one's Linux operational skills up-to-date, how would one do this? |
20:02 | < Derakon2> | Tamber: yeah, we tried that; it says "network unreachable". |
20:02 | <&ToxicFrog> | What's "operational skills" here? |
20:02 | <@Tamber> | Derakon2, ...damn. *ponder* |
20:02 | <&McMartin> | 12:53 <@Tamber> (Yes, yes, I know; ifconfig is deprecated and I'm a terrible person. Shoo.) |
20:02 | <&ToxicFrog> | I mean, I use and administer a linux network at home, but that won't e.g. get me practice in managing a full fleet with Puppet |
20:02 | <&McMartin> | How does one find this out |
20:02 | <&ToxicFrog> | I have no idea, this is the first I've heard of it |
20:03 | <@Tamber> | http://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands- and-their-replacements/ |
20:03 | <&McMartin> | I was kind of hoping for an answer that wasn't "read, like, every blog in the universe so as to stay up to date" |
20:04 | <@Tamber> | I wasn't answering that question. |
20:04 | <@Tamber> | :) |
20:05 | <@Tamber> | And I noticed it coming up in search results from forums whilst digging for something. For some reason, it being deprecated has just stuck. |
20:05 | <&McMartin> | ToxicFrog: I believe the phrase is along the lines of "be a power user", yes. I picked up general Unixy stuff by osmosis and Windows administration has typically been discoverable enough that as long as I'm not dealing with someone else's 50,000 seat deployment I can fake my way through it |
20:05 | <&McMartin> | I'm pretty sure I can't navigate someone else's Linux network configuration, though. |
20:05 | <@Tamber> | I have no idea how I'm supposed to stay on top of this sort of thing, and I don't particularly care. Most of the stuff that I'm concerned about breaking is freaking *ancient*, so won't be getting any of those sorts of updates any time soon~ |
20:06 | <@Tamber> | (Okay, 'ancient' being "Still on a 2.6 kernel" *eyeroll*) |
20:07 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
20:08 | <&McMartin> | That's pretty old at this point, isn't it? |
20:08 | <@Tamber> | Pretty old, yeah. |
20:08 | < RichyB> | I wonder if the answer is "run through Linux From Scratch once every 2 years" |
20:08 | < RichyB> | or more sensibly, "configure Arch Linux from scratch once every 2 years" |
20:09 | <@Tamber> | RB: LFS once every 2 years; otherwise known as "Start again about as soon as you get a working system"? :p |
20:09 | < RichyB> | The 3.x kernel line has been out for a while, but not all 2.6 kernels are terrifically crufty; the 2.6.x line went on for *ages*. |
20:09 | <@Tamber> | 2.6.32.33-kvm-i386-20111128-dirty |
20:10 | <@Tamber> | Otherwise known as "I haven't had sufficient arsed to plan a shutdown for this box in too long"~ |
20:11 | <@Tamber> | And now it's just running on morbid curiosity. |
20:13 | <&McMartin> | 2011 is a lot newer than I was expecting, yes. |
20:15 | <@Tamber> | Oh, you were thinking perhaps 2.6.3, or something like that? =p |
20:17 | < RichyB> | what the fuck |
20:17 | <&McMartin> | It's more "I thought 3.0 was older than that" |
20:17 | <@Tamber> | Ahh |
20:17 | < RichyB> | I just ran "ss -f inet6 -n" on my ZNC box, and it turns out that one of the addresses it has an open socket to is 2a02:98:e001:e:babe:b00b:4:face |
20:17 | <&McMartin> | And while it is, noly by a few months~ |
20:17 | <&McMartin> | *only |
20:17 | <@Tamber> | RichyB, ... *snrk* |
20:18 | <&McMartin> | 1337 |
20:18 | < RichyB> | There's no PTR record for that, uh |
20:18 | < RichyB> | Ah, it's one of Rizon's IRC servers. |
20:19 | < Syka_> | ...rofl |
20:21 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
20:21 | | mode/#code [+o himi] by ChanServ |
20:23 | < Derakon2> | Whelp, rebooted, went to shell, modified /etc/network/interfaces, sudo /etc/init.d/networking stop, sudo etc/init.d/networking start, and it works. |
20:23 | < Derakon2> | I think trying to use Knoppix's "GUI" actually just broke things in a norecoverable fashion. |
20:23 | < Derakon2> | Hence the reboot. |
20:23 | < Derakon2> | Anyway, time to back up some drives. |
20:24 | | Derakon2 [chriswei@Nightstar-4k2ccr.ca.comcast.net] has quit [[NS] Quit: leaving] |
20:24 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has joined #code |
20:24 | | mode/#code [+o celticminstrel] by ChanServ |
20:46 | | Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has joined #code |
21:14 | <@froztbyte> | <Tamber> (Yes, yes, I know; ifconfig is deprecated and I'm a terrible person. Shoo.) |
21:14 | <@froztbyte> | <Derakon2> Pretty sure we tried ifconfig. I'm not at the keyboard ATM. |
21:14 | <@froztbyte> | by itself it doesn't set the interface up |
21:14 | <@froztbyte> | also ifconfig can quite literally get fucked and die |
21:14 | <@froztbyte> | iproute2 is <3333 |
21:15 | <@froztbyte> | McMartin: so, that's actually an interesting-ish question (re skills) |
21:15 | <@froztbyte> | there are no longer Formal Unix Training like I'm told there used to be in The Olden Days |
21:15 | <@froztbyte> | typically I mostly keep up by being around useful parts of communities |
21:16 | <@Tamber> | That's probably because computers are no longer solely in existence Behind The Ivory Walls, guarded by the Inner Sanctum. (Or whatever~) |
21:16 | <@froztbyte> | I did run into this the other day: |
21:16 | <@froztbyte> | http://www.opsschool.org/ |
21:16 | <@froztbyte> | which has hope |
21:16 | <@froztbyte> | it's still pretty rough |
21:16 | <@froztbyte> | but it has hope. |
21:16 | | * gnolam sighs. |
21:17 | <@gnolam> | _Of course_ "only named arguments may follow *expression". Because otherwise, it would have been way too easy. |
21:17 | <@froztbyte> | Tamber: haha, yeah, something like that |
21:17 | <@Tamber> | froztbyte, Also... ifconfig for ... until whenever they get rid of it and I have to put effort into learning the other thing. |
21:18 | <@froztbyte> | Tamber: so, the thing about the other thing |
21:18 | <@froztbyte> | is that it's actually pretty nice |
21:18 | <@froztbyte> | and internally consistent |
21:18 | <@froztbyte> | if you just type 'ip' it'll go tell you what things it can accept next |
21:18 | <@Tamber> | Consider my entire use of ifconfig: "set an ip address", and "see what ip address I have"~ |
21:18 | <@froztbyte> | and it shows it in EBNF or something, I haven't really paid close attention |
21:19 | <@froztbyte> | `ip addr` will show IPs for all interfaces; `ip addr show dev ethn` for a specific interface |
21:19 | <@froztbyte> | `ip -4 addr show dev ethn` will do v4 |
21:19 | <@froztbyte> | for instance |
21:19 | <@froztbyte> | iproute2 also fully speaks CIDR |
21:19 | <@froztbyte> | which is <3<3<3 |
21:19 | <@Tamber> | See, if it were my job to deal with that sorta thing, I'd probably care more. |
21:21 | <@froztbyte> | entertainingly, if you want to just check routes, `ip route` |
21:21 | <@froztbyte> | also, because it understands CIDR |
21:22 | <@froztbyte> | you don't have to deal with that fucking horrendous bullshit printstyle that 'route -n' has |
21:22 | <@froztbyte> | nor the one from netstat |
21:23 | <@froztbyte> | of course, I still have knowledge of those things for the very rare occasion on which I may run into it |
21:23 | <@froztbyte> | but one always uses the nicer tool if available. |
21:39 | | Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
21:57 | <@Azash> | http://www.washingtonpost.com/world/national-security/nsa-infiltrates-links-to-y ahoo-google-data-centers-worldwide-snowden-documents-say/2013/10/30/e51d661e-416 6-11e3-8b74-d89d714ca4dd_story.html |
22:15 | < Harlow> | Awash: Thanks for sharing this article, I am actually writing a paper about the NSA. |
22:15 | < Harlow> | Azash* |
22:16 | <@Azash> | As they say in the land of Agatha, you are most welcome |
22:20 | <&McMartin> | Some of the other reporting on this implies that the NSA is actually being sent this information by UK intelligence rather than running the taps themselves, but this is new enough that I don't trust any of the reporting as accurate |
22:21 | <&McMartin> | Of course, some of the other reporting is saying "Google is being subjected to a MITM attack on its own internal networks" and, uh, I have a higher opinion of google's IT than that |
22:22 | <&McMartin> | *MITM SSL attack |
22:22 | <&McMartin> | This article implies it's tapping private fiber |
22:23 | <@Reiv> | Yeah I find that a little harder to believe |
22:25 | <&McMartin> | Well, also, actual Google employees in the channel interpreted it as "shit, people tapping our darknets that we weren't encrypting until recently" |
22:25 | <&McMartin> | Thus allowing the cunning deduction that (a) internal data-center-to-data-center communication was unencrypted on private lines and (b) that one could in theory physically compromise thouse |
22:25 | <&McMartin> | *those |
22:27 | | Vornicus [Vorn@Nightstar-oct7j2.sd.cox.net] has joined #code |
22:27 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:28 | <~Vornicus> | Vorn: git evangelist. How did this happen? I don't even use anything beyond the most basic features, and here I am telling them how it can make releases easier. |
22:28 | < Syka_> | its 'cos git can |
22:29 | < Syka_> | source: i wrote this this evening https://github.com/hawkowl/twdeploy |
22:40 | <~Vornicus> | I've never actually, um, released software, either, so this is a fun time for serious. |
22:42 | < Syka_> | haha |
22:42 | <~Vornicus> | Also now I'm trying to figure out -- I have tagged a commit; I have a system that wants the contents of the repo as of that tagged commit, but I /don't/ want the revision control stuff, because there's a lot of crap in there. |
22:43 | <&McMartin> | Isn't there a git export command? |
22:43 | <~Vornicus> | could be! |
22:45 | <@Tamber> | git archive |
22:45 | <@Tamber> | Will give you either tarball (optionally compressed), or a zip. |
22:48 | <~Vornicus> | ah, thank you. |
22:54 | <@Reiv> | Man, I wish we still had Pi |
22:54 | <@Reiv> | We'd have a Google employee, a MS employee, and if jerith had stayed we'd have had an amazon employee to boot >_> |
22:56 | <@Tarinaky> | I can pretend to be one of those three things. |
22:56 | <@Tarinaky> | It'd be a complete lie but I can pretend :p |
22:57 | < Syka_> | i once considered working for google, if that counts |
22:58 | <@Tarinaky> | Why did you say no? |
22:58 | < Syka_> | I didn't |
22:58 | <@Tarinaky> | Or why did you stop considering... |
22:58 | < Syka_> | when I considered, I was 18 and had 3 weeks to decide the next year of my life |
22:58 | <@Tarinaky> | Ahh. |
22:58 | < Syka_> | I had two options |
22:59 | < Syka_> | a) entrepenourship, or b) apply at google/etc |
22:59 | < Syka_> | at the time, I had 4.5yr work experience, a MCITP or two, and a highschool diploma |
22:59 | < Syka_> | Google is the best place to work in australia. i'd not have a chance ;p |
23:00 | | * McMartin picked startup over google, but keeps his ears open since they do fun stuff |
23:01 | <@Tarinaky> | I want to become a salaried employee... anywhere... |
23:02 | <@Tarinaky> | It's actually kindof sad when one begins to dream so small :p |
23:02 | | * Alek is in the same-ish boat. |
23:02 | <@Tarinaky> | I really don't have the right skillset to do entrepeneurship. Maybe in 5/10 years :/ |
23:03 | < Syka_> | Tarinaky: well, I started my own business at 18 |
23:03 | < Syka_> | what's stopping you? :P |
23:03 | <@Tarinaky> | I don't have the right skill set :p |
23:03 | < Syka_> | heh |
23:03 | < Syka_> | well the big one year for syka corp is coming up soon |
23:03 | < Syka_> | i've not made a dollar yet, technically, according to the tax office |
23:04 | <@Alek> | yey |
23:04 | < Syka_> | (because after business expenses, I make a $5K loss) |
23:04 | <@Tarinaky> | My knowledge of business practices is weak, I don't have the contacts or confidence and I don't believe I have any profitable ideas that match my technical abilities without contracting out - and I don't have the capital to do that. |
23:04 | < Syka_> | /but/, I'm not broke, I get to do what I want, I live alone and I can sleep whenever the fuck I want |
23:04 | <@Tarinaky> | I'd be better served finding a company and assimilating their culture for a bit :/ |
23:14 | <&ToxicFrog> | Reiv: so, I'm fairly confident that the NSA is not tapping our internal internal networks, but most inter-DC links are terabit-range privately owned fiber, which has historically been considered impractical to undetectably tap. |
23:15 | <&ToxicFrog> | And thus most traffic over them has been unencrypted. |
23:15 | <&ToxicFrog> | We changed that earlier this year, but the slides predate that. |
23:15 | < Syka_> | heh |
23:15 | <@Reiv> | Interesting. |
23:15 | <@Reiv> | So you could, in fact, have been detectably tapped. Sneaky. |
23:16 | <@Reiv> | Afterall, 'impractical' is a very different turn of phrase when you've the NSA's funding. |
23:16 | <&ToxicFrog> | I suspect - although not being on the security team I obviously can't say definitively - that the NSA has also historically not been part of our threat model~ |
23:16 | < Syka_> | as part of my self-owning business thing |
23:16 | < Syka_> | i am now going to bed at 7am |
23:17 | | thalass [thalass@Nightstar-u5f.lht.108.58.IP] has joined #code |
23:17 | < Syka_> | hope nobody calls me :D |
23:17 | <&ToxicFrog> | I mean, if they need information from us they can get it legally; it's only relatively recently that it's come to light that they've been spying on everyone everywhere all the time. |
23:18 | <@Reiv> | Yeah, they've kind of gone a little insane. |
23:19 | <@Reiv> | I guess this is one of those things where Snowden fled with the data for Pretty Good Reasons Afterall, I Guess |
23:19 | <&ToxicFrog> | We knew that a while ago |
23:19 | <@Reiv> | The initial claims sort of landed up in the 'NSA is into Big Data. This surprises you how?" bucket. |
23:19 | < Syka_> | how much more shit does he /have/ |
23:20 | <&ToxicFrog> | Anyways. Now it's all encrypted. Hopefully they haven't broken SSL~ |
23:20 | <@Reiv> | It seems that this was 'exciting to the press, but not the /real/ problem' bucket. |
23:20 | < Syka_> | ToxicFrog: it depends on what cipher |
23:20 | <&ToxicFrog> | (there has been much profanity among the SREs, oh yes) |
23:20 | < Syka_> | if you guys are still using RC4, your data is screwed~ |
23:21 | < Syka_> | also if you don't have PFS |
23:21 | < Syka_> | ...also there's the thought that they have your SSL keys /anyway/ |
23:21 | <&ToxicFrog> | We are known to have PFS. |
23:21 | < Syka_> | everywhere? |
23:21 | <&ToxicFrog> | If they have our keys they have compromised not just inter-DC links but the memory contents of production machines and everyone is turbofucked anyways |
23:21 | <@Reiv> | ToxicFrog: I recall seeing analysts somewhere saying that "It's quite possible they've got advanced codebreaker math that academia is not aware of; this could dramatically accelerate their codebreaking. Best just go up another order of magnitude of keysize to be sure... and laugh. 'cuz it won't help /that/ much." |
23:22 | < Syka_> | ToxicFrog: well, they're the NSA |
23:22 | <@Reiv> | SREs? |
23:22 | < Syka_> | also, the way I read the slides, was that they had owned the GFEs |
23:22 | < Syka_> | and they were picking up the data on the edge |
23:23 | < Syka_> | GPE? |
23:23 | < Syka_> | ...whatever "the servers facing the internet" is |
23:23 | <@Tarinaky> | Little known fact, the NSA is working with CERN to create a miniature universe where NP=P. |
23:24 | <@Tarinaky> | At the moment they keep getting the Elemental Plane of Cheese though. |
23:24 | < Syka_> | cheeeeeese, grommit |
23:24 | < Syka_> | cheeeeese |
23:25 | < Syka_> | okay, slep for srs now |
23:29 | <&McMartin> | ToxicFrog: While this is of less interest to the Canadian campuses of Google, if the NSA is directly tapping fiber inside the US indiscriminately this is actually a significant violation of American law as it was written specifically to govern the NSA, which would be a major scandal |
23:29 | <@Tarinaky> | Aren't they already violating the law as it was written to govern the NSA? |
23:29 | <&McMartin> | My understanding is that these operations happen overseas or it's one of the other Five Eyes doing such operations on American soil, which is legal and either sleazy or not depending on what you think about intelligence-sharing alliances |
23:30 | <&McMartin> | Tarinaky: In the sense of "Have laws ever been broken", yes |
23:30 | <&McMartin> | In the sense of "have they launched entire programs specifically designed in massive contravention to their stated mission", no, not yet. |
23:32 | <&McMartin> | The PRISM program is "front-door" access and subject to (arguably but not yet slam-dunk extremely weak) controls, and is roughly what TF meant by "if they want data from us, they have rights to demand it and we have to give it over" |
23:32 | <&McMartin> | But the NSA, and the rest of the Five Eyes, are spy agencies, not law enforcement agencies. |
23:32 | <&ToxicFrog> | Reiv: Site Reliability Engineers. The guys who run the datacenters. |
23:33 | <&McMartin> | A whole lot of the Snowden leaks were "holy shit, look at all this spying that the NSA is doing on foreigners in foreign countries" which is, um |
23:33 | <&ToxicFrog> | Syka_: GFE. Google Frontend. |
23:33 | <&ToxicFrog> | And yeah, no |
23:33 | <&McMartin> | kind of their job |
23:33 | <&ToxicFrog> | The slide is pointing out the place where traffic transitions from the encrypted client<->GFE link to the unencrypted internal links |
23:34 | <&McMartin> | In other words "GIGANTIC WEAK POINT RIGHT HERE, BOOYAH" |
23:34 | <&ToxicFrog> | Or, well, rather - nothing published yet implies that they have compromised the GFE |
23:34 | <@Tarinaky> | McMartin: I thought there was some stuff that was on 'uncertain legal footing'. |
23:35 | <&ToxicFrog> | The GFE is inside a datacenter - the weak point was not the GFE itself but the inter-datacenter links it relies on. |
23:35 | <&McMartin> | Tarinaky: That's neither of the two things I said |
23:35 | <&ToxicFrog> | Either directly (if it has to query a different DC to satisfy the request, which we try to avoid) or indirectly (as data is replicated between DCs) |
23:36 | <&McMartin> | That one is "we were given broad and very vague powers by the PATRIOT Act, are we overstepping the bounds they have retroactively secretly decided they meant" |
23:36 | <&McMartin> | However, none of this really changes that they were founded explicitly as a foreign SIGINT organization, and very explicitly Not HUMINT (that's the CIA) and Not Domestic Spying (that's the FBI) |
23:37 | <&McMartin> | Tapping US comm lines to troll for foreigners is traditionally in their remit but the laws have been vague about this and there is a consensus they overstepped |
23:37 | <&McMartin> | But that's a huge tier away from "sure, let's build giant dossiers on Americans fitting profile X" for any profile |
23:39 | <&McMartin> | In particular, if what the NSA or GCHQ is doing here is tapping the submarine data lines, while they are probably overreaching, they are almost certainly within the remits granted them by their government |
23:39 | <&McMartin> | Also, why are there not 400 million image macros of men in suits and mirrorshades contemplating communications networks with the subtitle "I'd tap that" |
23:40 | <&ToxicFrog> | McMartin: part of the accusation here is that, even if the spying happens overseas, they are building giant dossiers on Americans that fit a profile where the profile is "sends or receives any traffic whatsoever over foreign communications networks" |
23:40 | <&ToxicFrog> | Because they are being shockingly indiscriminate in what data they collect. |
23:40 | <&ToxicFrog> | Your gmail inbox got replicated to a DC in France? Congratulations, the NSA has all of your email. |
23:41 | <&ToxicFrog> | ISTR something about one of the slides basically saying "we assume that if they use a foreign network they are not a US citizen" |
23:41 | <&McMartin> | My understanding is that as the bureaucratic turf wars are set up, this is how it would work |
23:41 | <&McMartin> | Or rather, "once it gets replicated outside of the US, it's fair game for the guys who operate outside of US borders" |
23:42 | <&McMartin> | The FBI isn't allowed to operate in Paris, etc. |
23:42 | <&ToxicFrog> | Hmm |
23:42 | <&ToxicFrog> | I think a reasonable analogy here is "if a US citizen visits France, is the NSA allowed to spy on them while they're there" |
23:43 | <&ToxicFrog> | And I don't actually know the answer to that |
23:43 | <&McMartin> | I *think* the answer is yes, and that you're also subject to CIA tails and that kind of thing |
23:43 | <&McMartin> | Which you are also supposed to be immune to on American soil |
23:43 | <&McMartin> | But I'm not positive there either, that's just my vague understanding of how the turf is divided up |
23:43 | <&ToxicFrog> | (also, is the NSA allowed to spy on everyone in France, including US citizens, without any sort of filtering or warrant) |
23:43 | <&McMartin> | (Are you asking DC or Paris?) |
23:44 | <@JustBob> | Yes. |
23:44 | <@JustBob> | The NSA can spy on anyone in France as they are not Americans inside America. |
23:44 | <@JustBob> | Technically, the FBI can spy on Americans outside America. |
23:44 | <&McMartin> | I'm pretty sure the answer from DC is "yes, with caveats" and the caveats are all of the form "don't waste taxpayer money", not "respect the privacy of Frenchmen" |
23:45 | <@JustBob> | And if you're a US Citizen in France, the CIA and NSA will both spy on you. |
23:45 | <&McMartin> | One thing that hard-core crypto types have suspected for about half a decade and for which we now have smoking gun docs is that the NSA has been abandoning its network defense duties in favor of its network offense ones. |
23:45 | <&McMartin> | But notice that this, too, is not actually a civil liberties thing |
23:45 | <@JustBob> | That's because the official duties are supposed to be the AF Cyberwarfare center. |
23:45 | <@JustBob> | And the Navy one. |
23:46 | <&McMartin> | JustBob: Not sure if we're talking about the same things here. NSA made changes they refused to justify at the time to several standard crypto algorithms. |
23:46 | <&McMartin> | The one from the late 80s/early 90s has since been revealed to be "you're vulnerable to cryptanalysis technique we know that hasn't been published yet, and we fixed that" |
23:47 | <&McMartin> | The one from 2007 was "we *inserted a vulnerability* to a cryptanalysis technique we know that hasn't been published yet" |
23:47 | <@JustBob> | Oh, that. |
23:47 | <@JustBob> | I was talking about "we control the network security" thing, which is what I read it as. |
23:47 | <&McMartin> | Oh. Yeah. The NSA is not running the firewalls. |
23:47 | <@JustBob> | In the sense that the NSA is actively penetrating others, while we use .mil forces for defense. |
23:48 | <&McMartin> | The Navy one is the one that gave us Tor. |
23:48 | <@JustBob> | Yup. |
23:48 | | * JustBob fingersnaps. |
23:48 | <@JustBob> | That reminds me. |
23:49 | <@JustBob> | An acquaintence of mine has let me know that the only encryption you should bother with is "sufficient to protect your privacy from other citizens." |
23:49 | <&McMartin> | I actually forget which crypto standard the early 90s case was. Was it DES? |
23:49 | <&McMartin> | JustBob: He's demonstrably wrong on one obvious counterpoint |
23:49 | <&McMartin> | The minimum acceptable is "sufficient to protect your privacy from the Russian Mafia" |
23:49 | <&McMartin> | Otherwise you can't do e-commerce. |
23:50 | <@JustBob> | Their exact words were, "sufficient to keep your spouse from knowing about your mistress." Or SSL, yes. |
23:50 | <&McMartin> | I'm going to come out and say that e-commerce technology is Important. |
23:50 | <&McMartin> | ROT13 is enough for the spouse/mistress case unless you married a mathematician~ |
23:51 | <&McMartin> | Well, OK, not ROT13. But Caesar Cipher. |
23:51 | <@JustBob> | Well, they work at one of the national labs. We used to be able to buy/share runtime on their clusters. Used to. |
23:51 | <@JustBob> | They don't have time anymore. I was bitching and just straight up asked, "What are you guys doing with all that time, breaking every commercial encryption?" |
23:52 | <@JustBob> | The flat answer was, "Yes, and we've done most of'em. There's no point in using more than enough crypto to protect your wife from knowing about your mistress." |
23:52 | <@JustBob> | I toss in a reasonable chunk of hyperbole on there. |
23:52 | <@JustBob> | But when we can't get computer time to simulate DoD funded projects with high priority ratings... Something is fairly fishy. |
23:54 | <@celticminstrel> | What did they insert a vulnerability to? |
23:54 | <@celticminstrel> | Or in., |
23:54 | <&McMartin> | celticminstrel: The elliptic-curve PRNG. |
23:55 | <&McMartin> | This was a 2007 crypto standard that it turned out basically nobody used because the hard-core crypto guys were super-sceptical of it immediately, and the alternatives in the same standard were faster and smaller. |
23:57 | <&McMartin> | A year later two MSR guys found a theoretical vulnerability in the PRNG |
23:57 | <&McMartin> | And then one of the leaked documents was basically "yeah, we totally put that there on purpose" |
23:58 | <&McMartin> | Aha, here it is |
23:58 | <&McMartin> | http://en.wikipedia.org/wiki/Dual_EC_DRBG |
--- Log closed Thu Oct 31 00:00:02 2013 |