--- Log opened Tue May 07 00:00:02 2013 |
00:42 | < RichyB> | Oh interesting. |
00:42 | < RichyB> | I'd heard of SDN before but latched onto possibly the wrong part. |
00:44 | < RichyB> | I thought the interesting bit was the fact that switches query the controller on-demand once per flow per switch and then cache the routing decision given to them by the controller. |
00:44 | < RichyB> | ...so that you can have routing (which *really* needs to be *fast*) decisions made by usually-quite-slow software. |
00:45 | < RichyB> | The things that you can actually do with that, like centralising the controller and making decisions with global knowledge are new ideas to me. :3 |
00:50 | <&McMartin> | A lot of bad ideas grow into good ideas. This stuff is well outside my domain of expertise |
00:51 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:51 | | mode/#code [+o himi] by ChanServ |
01:06 | | sykslep [the@C2A270.3D63B8.9F4885.B2C6D8] has joined #code |
01:12 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
01:15 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
01:25 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [Ping timeout: 121 seconds] |
01:34 | | Kindamoody[zZz] is now known as Kindamoody |
01:46 | | * Alek reads a legend about an old PC game from the makers of Prince of Persia. Karateka. |
01:47 | <@Alek> | apparently, it was released on a 2-sided disk. But could fit, in its entirety, on one side. |
01:47 | <@Alek> | so they put the same game on the other side. with one little change. |
01:48 | <@Alek> | there were a lot of calls to tech support complaining about a vertically-flipped display, being told to flip the disk over. |
01:48 | <@Tamber> | Ha! |
02:15 | <&McMartin> | Nice |
02:15 | <&McMartin> | That seems like the kind of thing they'd do |
02:54 | | Kindamoody is now known as Kindamoody[nap] |
02:57 | | sykslep is now known as Syk |
03:03 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:16 | < Arsonist> | I've tried passing -static to my compiler but I keep getting libcurl.dll not found when running my output exe. I'm new to C/C++ but I thought I had the linking set up properly |
03:17 | <&McMartin> | -static is not quite that thing. Are you using a gcc-based system or are you using MSVS? |
03:19 | < Arsonist> | McMartin, I'm using mingw32 |
03:20 | <&McMartin> | Hrm. |
03:20 | <&McMartin> | I don't have a good answer offhand, then. |
03:20 | <&ToxicFrog> | McMartin: the man page for -static implies that it should either link against libcurl.a or fail at link time |
03:20 | <&McMartin> | Right; the equivalent in MSVS is "statically link libc, but other things can do whatever" |
03:22 | < Arsonist> | This is confusing for a new person :-( |
03:22 | <&ToxicFrog> | There's a -static-libc or similar for that, I think |
03:22 | <&McMartin> | Arsonist: Yeah =( |
03:22 | <&McMartin> | Is this your first serious foray into coding or do you have background in other non-C languages? |
03:22 | < Arsonist> | I see -static-libgcc on the manpage |
03:23 | < Arsonist> | McMartin, I have a background in other areas |
03:23 | <&McMartin> | One thing that comes to mind is that argument order may matter - but if you don't have a libcurl.a to link in that won't help you |
03:23 | <&ToxicFrog> | I wonder if there's some kind of import library douchebaggery going on |
03:23 | < Arsonist> | primarily python for my day job |
03:23 | <&McMartin> | 'k |
03:23 | <&ToxicFrog> | Like libcurl.a is actually an import library for libcurl.dll |
03:23 | <&ToxicFrog> | Or, yeah, it could be argument order, which is actually hugely significant with gcc |
03:23 | <&McMartin> | ToxicFrog: Import Libraries are specific to MSVS, not COFF, though. mingw-gcc should not require it. |
03:24 | <&McMartin> | It's smart enough to generate code on its own to do that stuff |
03:24 | <&ToxicFrog> | McMartin: it doesn't require it but I think if you somehow end up with them it will understand them |
03:24 | <&McMartin> | Well, yes, if only because they're Just Code |
03:24 | <&McMartin> | code with dlopen() in it |
03:24 | <&ToxicFrog> | Which can happen if you've downloaded a .lib/.dll or .a/.dll combo intended for use from MSVS |
03:25 | <&McMartin> | MSVS oughta be Only .lib/.dll though, and mingw should be Just The DLL |
03:25 | <&McMartin> | At least IME |
03:25 | <&ToxicFrog> | There are a lot of people who don't actually know how to package libraries for release and yet nonetheless do so~ |
03:25 | <&McMartin> | I cannot gainsay that~ |
03:26 | <&McMartin> | Argument order would be my first guess at a culprit, and it's invariably horribly documented |
03:26 | <&McMartin> | ... hrm. |
03:27 | <&McMartin> | I now forget if you need to have the .dll as an argument to the linker. |
03:27 | <&McMartin> | Also, I guess there's also the sanity check |
03:27 | <&ToxicFrog> | Arsonist: tbqh the easiest approach may be to accept the DLLs as a dependency, if you are permitted to distribute them with the executable; windows uses $PATH as the DLL search path and includes . in it by default, so as long as the exe and dlls are in the same dir there's no setup needed. |
03:27 | <&McMartin> | Is libcurl.dll actually in .... yeah, that |
03:27 | <&McMartin> | libcurl is, IIRC, PNG-licensed |
03:27 | <&ToxicFrog> | You can also, yes, experiment with argument order, or don't use -lfoo and instead pass libfoo.a itself as an argument to the linker |
03:27 | <&ToxicFrog> | Which should guarantee it links the static version or dies trying |
03:28 | < Arsonist> | hmm... alright. I hate to hack around in my first steps of learning though. I'll try those options though |
03:28 | <&ToxicFrog> | Welcome to C~ |
03:28 | < Arsonist> | heh, just as I thought I was liking it :P |
03:29 | <&ToxicFrog> | Everyone thinks they do at first |
03:29 | <&ToxicFrog> | Then they start pining for things like non-terrible build systems and first class functions and a useful type system and closures and memory safety |
03:30 | <&McMartin> | Exceptions, arrays that carry their own sizes... |
03:31 | < Arsonist> | do you at least feel comfortable with the linking stuff at some point? Like if you were in my position would you feel confident solving it? |
03:32 | <&McMartin> | Yeah, probably, but I would be reduced to experimentation pretty fast. |
03:32 | <&McMartin> | (I have in fact mixed C++ and libcurl professionally in the past) |
03:32 | <&ToxicFrog> | Arsonist: what McM said, although I'd also be complicated by not having to deal with generating windows builds of stuff in ages |
03:33 | <&ToxicFrog> | One of the reasons I don't miss C is that using modern languages means I no longer need to worry about the incantations needed to get my shit to compile, link, and run on windows |
03:33 | <&ToxicFrog> | Well, unless I'm targeting the JVM~ |
03:34 | <&McMartin> | Just running, then~ |
03:34 | <&ToxicFrog> | Yeah, you wouldn't think "launch the installed JVM with this jar file" would be nearly as hard as it is |
03:35 | <&McMartin> | Sometimes it's great~ |
03:36 | < Arsonist> | What alternative do you use for windows programming? I'd like to learn something low-level just to stretch my brain a bit, but also would like something portable that lets me just run my executable without any dependency fuss |
03:37 | <&ToxicFrog> | ha ha ha ha ha ha ha ha |
03:37 | < Arsonist> | :( |
03:37 | <&McMartin> | Those are kind of counter to each other, as goals |
03:37 | < Arsonist> | ah |
03:37 | <&McMartin> | For the first, C/C++ is more or less the way to go |
03:37 | <&McMartin> | For the latter, Python is unusually good at this |
03:37 | <&ToxicFrog> | I don't know of anything that satisfies those two requirements. Rust and D were both attempts at that, I think, but D at least has proven to be an even worse option |
03:37 | <&ToxicFrog> | Not sure about Rust |
03:38 | < Arsonist> | yeah, I just hate how I can't really package python for windows. I guess I could try the py2exe route again, but I always assumed it didn't work well |
03:38 | <&ToxicFrog> | Historically, when targeting windows with C/++, I used a mingw-based linux-hosted cross compiler |
03:38 | <&ToxicFrog> | (i don't recommend this but it's better than the alternatives) |
03:38 | <&McMartin> | C++ with the Boost libraries is as close as I've ever gotten to run-anywhere single-source low-level code. |
03:39 | <&ToxicFrog> | These days I either use scala or clojure and generate an uberjar, or I use lua and use enceladus to combine it with someone else's lua*.dll |
03:39 | <&McMartin> | With what you've got so far, "have libcurl.dll in your .exe's path" ought to be the fastest fix. |
03:39 | <&ToxicFrog> | (which still requires a bit of cross compiler wrangling, but it's something I can do once and then re-use for multiple projects) |
03:39 | <&ToxicFrog> | I have heard that py2exe actually works rather well, but haven't used it myseld |
03:40 | < Arsonist> | thanks for the help, this channel rocks |
03:40 | <&McMartin> | ToxicFrog: Only sorta |
03:40 | <&ToxicFrog> | (clojure's "lein uberjar" is actually really nice; it computes the transitive closure of all of your program's dependencies and packs all of them, along with the program itself and its resources, into a single jar file) |
03:40 | <&McMartin> | There are things I often want out of it that it can't reliably do |
03:40 | <&McMartin> | Ophis uses py2exe |
03:41 | <&McMartin> | I was really hoping to be able to ship it as a single file that could be stuck on a USB stick and run there, but it has a big pile of support resources it needs in its directory and subdirectories |
03:41 | <&McMartin> | There's a mode to make it do this, but the authors admit it doesn't actually work |
03:41 | <&ToxicFrog> | (AFAICT this works wonderfully as long as you never want to deploy a command line jar-based program on windows, at which point You Are Entering A World Of Pain) |
03:41 | <&McMartin> | Yeah |
03:42 | <&McMartin> | If you're writing a Swing-based program, the .jar distribution on Windows is basically automatic. |
03:42 | <&McMartin> | Otherwise, Pain And Suffering Ahoy |
03:42 | <&ToxicFrog> | The best part is that apparently the Java install on Durandal was done from one of the installers that actually does not completely screw up, so the first time I did this it worked perfectly in testing |
03:42 | <&ToxicFrog> | Then I released it |
03:43 | <&ToxicFrog> | and now I have a 50 line .bat file to try to figure out how to launch the goddamn jar and it still fails for some people in ways no-one can figure out |
03:44 | <&McMartin> | That is, sadly, not unique to Windows >_< |
03:44 | <&McMartin> | Eclipse's launching shell-script is pretty obtuse, or was the last time I checked |
03:44 | < Arsonist> | what are your thoughts on go? |
03:44 | <&ToxicFrog> | This has not, historically, been a problem on linux, where you can generally trust that java(1) is in $PATH |
03:45 | <&ToxicFrog> | At least, I have yet to get any bug reports stemming from it not being there~ |
03:46 | <&McMartin> | Go has some fun ideas, but as an outsider I still consider it something of a toy language until it starts seeing serious use outside of Google itself |
03:46 | <&ToxicFrog> | This is not something you can assume on windows, nor can you assume that any of %JAVA%, %JRE%, %JDK%, or their _BIN variants are set correctly (or at all), even with a supposedly correctly functioning Java install. |
03:46 | <&ToxicFrog> | Arsonist: I haven't really used it, but from what I've seen it does some neat stuff but nothing that makes it a compelling choice for me over, say, Scala. |
03:48 | <&McMartin> | I wrote a small program in it for tearing apart Ultima IV savefiles shortly after it came out |
03:49 | <&McMartin> | https://hkn.eecs.berkeley.edu/~mcmartin/go/u4scan.go |
03:51 | <&McMartin> | IIRC my reaction was "I'd rather use OCaml" |
03:52 | <&McMartin> | Speaking of, I should recode this in OCaml for spite~ |
04:00 | | Rhamphoryncus [rhamph@Nightstar-948421b4.abhsia.telus.net] has quit [Ping timeout: 121 seconds] |
04:02 | | Turaiel[Offline] is now known as Turaiel |
06:08 | | Kindamoody[nap] is now known as Kindamoody |
06:25 | | Derakon is now known as Derakon[AFK] |
06:32 | < Xon> | <McMartin> COM is an attempted solution to a problem with no good solutions >_< |
06:32 | < Xon> | it's really useful for binary interfaces which never change while permitting querying for new interfaces |
06:34 | | Kindamoody is now known as Kindamoody|out |
07:05 | | You're now known as TheWatcher |
07:14 | <&McMartin> | Xon: Yeah. It's also an ABI that's at C++ levels of richness instead of Pascal levels of richness, which is good too |
07:14 | <&McMartin> | And the alternatives tend to be things like XML-SOAP >_< |
07:16 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
07:59 | | Turaiel is now known as Turaiel[Offline] |
08:10 | | You're now known as TheWatcher[afk] |
08:10 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
09:45 | | VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has joined #code |
09:45 | | VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has quit [Client closed the connection] |
10:06 | | thalass [thalass@C2A270.1179B7.313116.8C12F6] has joined #code |
10:19 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
10:31 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code |
12:50 | | You're now known as TheWatcher |
13:20 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
13:30 | | thalass [thalass@C2A270.1179B7.313116.8C12F6] has quit [[NS] Quit: *flop*] |
13:42 | <&ToxicFrog> | 16 |
13:43 | <@froztbyte> | McMartin: ah |
13:43 | <@froztbyte> | McMartin: well, there's probably a couple of interesting things that'll happen |
13:43 | <@froztbyte> | one of the ones I wonder about is dynamic "pooling" and isolation of network resources in corporate environments |
13:44 | <@froztbyte> | so that it can have some degree of self-organization, based on a set of requirements defined in policy somewhere |
13:44 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [Operation timed out] |
13:49 | < Xon> | froztbyte, the only real tricky part about COM is the registration crap and if you need to manually handle reference counting =p Conceptually it is just a virtual method table with the 1st three methods always defined (addref, removeref & query interface) |
13:50 | < Xon> | DCOM (Distributed COM), now that is where there is some fucking voodoo |
13:51 | <@froztbyte> | Xon: eh, I'm not too concerned |
13:52 | <@froztbyte> | the only part I found interesting was on just how much momentum microsoft is actually running |
13:52 | <@froztbyte> | makes me wonder what they might do in the near future |
13:52 | <@froztbyte> | (if someone can take the reins and be smart) |
13:52 | < Xon> | heh |
14:31 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:31 | | mode/#code [+o celticminstrel] by ChanServ |
14:37 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code |
14:39 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
14:39 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:39 | | mode/#code [+o celticminstrel] by ChanServ |
14:47 | | You're now known as TheWatcher[afk] |
14:52 | | Syk_ [the@C2A270.3D63B8.F58B09.31DB7B] has joined #code |
14:52 | < Syk_> | fucking router |
14:52 | | * Syk_ sets it on fire |
14:53 | < Syk_> | how hard is it to make a little internet box |
14:53 | < Syk_> | that stays online for more than 12 hours |
14:53 | | Syk [the@C2A270.3D63B8.9F4885.B2C6D8] has quit [Ping timeout: 121 seconds] |
15:28 | <&ToxicFrog> | Syk_: well, if you ask the router manufacturers, quite difficult~ |
15:32 | | ToxicFrog is now known as ToxicFrog|W`rkn |
15:52 | < RichyB> | It mystifies me that consumer router manufacturers manage to get the thermal designs so wrong so often, though. |
15:53 | < RichyB> | We're talking, like, 500MHz ARM chips that you don't normally need fans on in most devices, but they still overheat. |
15:53 | <&ToxicFrog|W`rkn> | They get everything else wrong with regularity, why not that? |
15:58 | < RichyB> | Touch?. |
16:03 | < Xon> | RichyB, you are talking about people who think the best solution to an overflowing NAT table is to scribble over memory. What the hell did you expect? |
16:05 | <&ToxicFrog|W`rkn> | Fuck C++ forever @.@ |
16:05 | <&ToxicFrog|W`rkn> | Problem: I used ->experiment_log() (which doesn't exist) instead of ->debug_log() |
16:06 | <&ToxicFrog|W`rkn> | Reported error: 35 lines of template instantiation wackiness related to std::set<int> |
16:06 | <@Tamber> | g++ or clang++ (...or something else?) |
16:06 | < RichyB> | Xon: dropping connections at pseudo-random *is* the correct solution if you just don't have the resources to track them. |
16:07 | < Xon> | RichyB, no; they just write NAT entries to memory locations off the table |
16:07 | <@Tamber> | Richy: ...dropping turds of your NAT table all over everything else in memory -- which I think was implied -- isn't, though :p |
16:07 | <&ToxicFrog|W`rkn> | Tamber: Clang. |
16:07 | < RichyB> | When you say "scribble over memory" do you mean actual writing-past-the-ends-of-arrays though? |
16:07 | < Xon> | yes |
16:07 | < RichyB> | Ah, real Fandango on Core. :D |
16:07 | <@Tamber> | TF: ...huh. Normally that's pretty good with error messages. |
16:08 | <&ToxicFrog|W`rkn> | They're very pretty and well-formatted error messages! |
16:08 | <&ToxicFrog|W`rkn> | They just make no goddamn sense. |
16:08 | <@Tamber> | xD |
16:08 | < Xon> | RichyB, I also don't trust most modems'routers todo DNS properly either. I had an old modem which did proxy DNS, and at about 10 queries per second was enought to make it hardlock =P |
16:10 | < RichyB> | I am mystified by the whole concept. |
16:10 | < RichyB> | You can just, like, buy a 700MHz ARM chip and 128MB or so of RAM for pennies, stick Linux or FreeBSD on it for nothing... |
16:10 | < RichyB> | Why even bother doing it wrong? |
16:10 | <@Tamber> | Because NIH |
16:10 | < Xon> | ^^ |
16:11 | < Xon> | That or they are using an /ancient/ version of Linux/freebsd which is horribly configured |
16:11 | <&ToxicFrog|W`rkn> | Well |
16:11 | <&ToxicFrog|W`rkn> | They're generally already linux based |
16:11 | <&ToxicFrog|W`rkn> | They configure it to "work" out of the box and put a web interface on it so end users can configure it |
16:11 | <&ToxicFrog|W`rkn> | But it's all pretty half-assed |
16:12 | < Xon> | see miniupnp |
16:12 | <&ToxicFrog|W`rkn> | And half the time there's e.g. custom wireless hardware in there that they write their own drivers for and fuck it up. |
16:12 | <@froztbyte> | <RichyB> I am mystified by the whole concept. |
16:12 | <@froztbyte> | <RichyB> You can just, like, buy a 700MHz ARM chip and 128MB or so of RAM for pennies, stick Linux or FreeBSD on it for nothing... |
16:12 | <@froztbyte> | <RichyB> Why even bother doing it wrong? |
16:12 | <@froztbyte> | soooooooo |
16:12 | < Xon> | listen to internet accessable addresses for a protocal that opens port, how can it go wrong! |
16:12 | <&ToxicFrog|W`rkn> | CFW isn't a significantly different codebase, it's just full-assed rather than half-assed. |
16:12 | <@froztbyte> | I actually found out how this all goes very badly wrong, in fact |
16:13 | < Xon> | rofl |
16:13 | <@Tamber> | Manglement interference? |
16:13 | <@froztbyte> | got a chance to poke at the innards of a set-top box some time ago |
16:13 | <@froztbyte> | (and a bunch of other systems) |
16:13 | <@froztbyte> | (I don't trust hardware until I've broken it) |
16:13 | | * Tamber has 2 decapitated routers in the "awaiting hot logic probes" box. |
16:14 | < RichyB> | froztbyte: interesting, continue? |
16:14 | <@Tamber> | One of which actually still appears to work, which is remarkable, since I removed it from 'service' since it hung and stopped working. |
16:14 | <@froztbyte> | so like, the common issue: due to a bunch of hysterical raisins, the default design choice on a lot of these things appears to be "factory has standard components on the checkbox list that you pick from" |
16:14 | <@froztbyte> | when that's done, devs are told "this is the platform to dev for, make sure it all fits" |
16:14 | <@froztbyte> | now that's not *too* terribly bad on the face of it |
16:15 | <@froztbyte> | but throw in a couple of iterations, feature cycles, etc |
16:15 | <@froztbyte> | and now you have things which are evolved from the original, but /significantly different enough/ |
16:15 | <@froztbyte> | this is where the fun starts. |
16:16 | <@froztbyte> | *now* you have a historical codebase, likely from at least 3 different teams over the past couple of years (because the different teams focus on different product aspects/lines) |
16:16 | <@froztbyte> | and you're told "this is our software stack, it must work on $newmodel_x" |
16:16 | <@Tamber> | hysterical codebase |
16:17 | <@froztbyte> | in the case of that STB that I got to poke at, I made out no less than *3* individual system lines that had gotten glued together |
16:17 | <@froztbyte> | the multicast/igmp handlers were one project |
16:17 | <@froztbyte> | the webserver was another |
16:17 | <@froztbyte> | the content on top of the webserver was another |
16:17 | <@froztbyte> | and you can see these people had no reference materials, because it is *majorly* hacky code to make it work |
16:18 | <@froztbyte> | (the web UI, while looking quite pretty, had UI actions tied to exec()'d shellscripts which would send commands off to the IGMP daemon) |
16:18 | <@froztbyte> | (seriously) |
16:19 | <@froztbyte> | the other fun part which a friend of mine in the embedded world told me about is that sometimes production of the hardware starts before the code is even ready |
16:19 | <@froztbyte> | just due to deadlines |
16:20 | <&ToxicFrog|W`rkn> | That's pretty common |
16:20 | <@froztbyte> | imagine what happens if you run into "this can't possibly work the way we want/need it to" |
16:20 | <&ToxicFrog|W`rkn> | Build the hardware first, then load the software onto it before you ship it |
16:20 | <@froztbyte> | ToxicFrog|W`rkn: oh, sure, I know this |
16:21 | <@froztbyte> | but the few cases where you run into "oh shit, our testing board has a different revision on the one micro, and we can't reflash that on the 100k boards we've already made" sort of scenario |
16:21 | <@froztbyte> | that's painful |
16:30 | <&ToxicFrog|W`rkn> | Aah. Yes. |
16:31 | <&ToxicFrog|W`rkn> | I mean, ideally, you have a well-organized codebase, change one driver, you're good. |
16:31 | < RichyB> | Ouch. |
16:31 | <&ToxicFrog|W`rkn> | There's usually some difference between the prototypes and the release build. |
16:32 | < RichyB> | Ideally you put all of the firmware in the release build onto EEPROMs so that you can afford to flash all the boards again before release. |
16:33 | <&ToxicFrog|W`rkn> | RichyB: your firmware, yeah - I'm interpreting what froztbyte said as, say, the NICs on the release board have a different firmware rev than on the prototype, and those you probably can't reflash. |
16:33 | < RichyB> | Oh ew. |
16:33 | <@froztbyte> | indeed |
16:33 | <@froztbyte> | this has, in fact, happened at large scale |
16:34 | <@froztbyte> | intel x86 microcode patch was a flavour of this |
16:34 | < RichyB> | You really want to buy NICs which take their firmware from your own board. :| |
16:34 | <@froztbyte> | except fortunately not *as* bad |
16:34 | <&ToxicFrog|W`rkn> | RichyB: more expensive. |
16:34 | <@froztbyte> | RichyB: not if you want to be really cheap ;) |
16:34 | < RichyB> | How much more expensive? Possibly worth it. |
16:34 | <@froztbyte> | you can literally get these things down to the order of US-cents per component |
16:34 | <@froztbyte> | and when you're building them in the thousands, that makes a pretty sizable number |
16:35 | <@froztbyte> | the STB people I knew were actually running their own design of board |
16:35 | < RichyB> | The cost has to be compared to P(need to replace the NIC firmware) * ?cost of not being able to replace the NIC firmware |
16:35 | <@froztbyte> | with semi-outsourced software |
16:35 | < Xon> | lol |
16:35 | <@froztbyte> | so they didn't have *exceptional* volume, but they still saved a couple thousand dollars just by changing two components with a sub-dollar price difference |
16:35 | < Xon> | RichyB, except P(need to replace the NIC firmware) is in the future and thus is ignored |
16:36 | <@froztbyte> | RichyB: some of what Xon says |
16:36 | < RichyB> | That's precisely what one expects a mature engineering division to be good at not doing. |
16:36 | <@froztbyte> | also some of "by the point in time it's a problem, we'll tell them to just buy the upgrade, or offer free replacements to anyone willing to bother" |
16:36 | <@froztbyte> | most home users end up just rebooting the electronics |
16:37 | <@froztbyte> | because to them it's a perceived less expensive (energy, cost) fix compared to getting the unit swapped out |
16:38 | < RichyB> | So the cheapest *reliable* solution is a 555 timer, a small cap, a large-valued resistor and a FET. |
16:38 | <@froztbyte> | ROFL |
16:38 | < Syk_> | i need to restart this POS every 12 hours |
16:38 | < Syk_> | should check for a firmware update |
16:38 | < RichyB> | Make an astable which briefly cuts the power to the CPU every ~6 hours. |
16:38 | <&ToxicFrog|W`rkn> | Syk_: just install CFW on it~ |
16:39 | <@froztbyte> | RichyB: you know |
16:39 | < Syk_> | cfw? |
16:39 | < RichyB> | Job done, we no longer need to worry about memory leaks in the firmware :3 |
16:39 | <@froztbyte> | RichyB: more than likely that would cause boot burn or some stupid shit |
16:39 | <&ToxicFrog|W`rkn> | RichyB: cut power? Just pull ^RST low for a few seconds. |
16:39 | < RichyB> | ToxicFrog|W`rkn: yeah or that. |
16:39 | <&ToxicFrog|W`rkn> | Syk_: custom firmware |
16:39 | <@froztbyte> | RichyB: some crappy cap on the board just goes "the fuck is happening? THE FUCK ARE YOU GUYS?!" |
16:39 | <@froztbyte> | and boom goes your ROM |
16:40 | < Syk_> | oh |
16:41 | < Syk_> | eh |
16:43 | <@froztbyte> | oh eh eh oh eh oh oh |
16:43 | | * Syk_ tries it~ |
16:45 | <@froztbyte> | and if anyone didn't get the reference I was making, sorry, but it's mandatory: https://www.youtube.com/watch?v=rOKFjmTlr5A |
16:45 | | Syk_ [the@C2A270.3D63B8.F58B09.31DB7B] has quit [Client closed the connection] |
16:45 | | Syk [the@A6D346.0419D1.ADF1A8.961F09] has joined #code |
16:52 | | EvilDarkLord is now known as Maze |
17:26 | | VirusHome [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
17:28 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:31 | | VirusHome [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:39 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
17:39 | | mode/#code [+o Pandemic] by ChanServ |
17:47 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
17:50 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:53 | | You're now known as TheWatcher |
18:13 | | Syk is now known as syksleep |
19:06 | <@Azash> | http://www.marketwatch.com/story/microsoft-admits-failure-on-windows-8-2013-05-0 7 |
19:07 | < AnnoDomini> | Ha! |
19:08 | <@Pandemic> | victory! |
19:09 | < [R]> | At least they tried. |
19:10 | < [R]> | My only worry with that is they continue their horrible stasis with little if any UI innovation. |
19:10 | <@froztbyte> | this *might* interest the algorihmically inclined among you: https://www.youtube.com/watch?v=iE_AbM8ZykI |
20:23 | | Turaiel[Offline] is now known as Turaiel |
20:31 | <@froztbyte> | well. huh. |
20:31 | <@froztbyte> | http://libcello.org/ |
20:33 | | Turaiel is now known as Turaiel[Offline] |
20:36 | <&ToxicFrog|W`rkn> | o.O |
20:38 | <&ToxicFrog|W`rkn> | That's...certainly a thing |
21:06 | | Maze is now known as EvilDarkLord |
21:08 | < RichyB> | Let's not. |
21:12 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
21:15 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
21:22 | | Turaiel[Offline] is now known as Turaiel |
21:30 | | Kindamoody|out is now known as Kindamoody |
21:47 | < RichyB> | Aahahahha |
21:47 | < RichyB> | This year's April 1st RFC was a good one. |
21:47 | < RichyB> | https://tools.ietf.org/html/rfc6919 |
21:48 | < RichyB> | For example: "For authentication only, servers and clients MUST support the SASL Salted Challenge Response Authentication Mechanism [SCRAM] -- in particular, the SCRAM-SHA-1 and SCRAM-SHA-1-PLUS variants [(BUT WE KNOW YOU WON'T, because your TLS library doesn't support extracting channel binding information)]." [RFC6120] |
21:49 | <@Tamber> | *snrk* |
22:09 | | Kindamoody is now known as Kindamoody[zZz] |
22:53 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
22:54 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:54 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:00 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
23:00 | | mode/#code [+o Reiv] by ChanServ |
23:18 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
--- Log closed Wed May 08 00:00:16 2013 |