--- Log opened Thu Jun 09 00:00:25 2016 |
--- Day changed Thu Jun 09 2016 |
00:00 | | Derakon_ is now known as Derakon |
00:00 | | mode/#code [+ao Derakon Derakon] by ChanServ |
00:09 | | Reiver [quassel@Nightstar-ksqup0.co.uk] has quit [Connection closed] |
00:09 | | Orthia [quassel@Nightstar-ksqup0.co.uk] has quit [Connection closed] |
00:09 | | Orthia [quassel@Nightstar-ksqup0.co.uk] has joined #code |
00:09 | | mode/#code [+o Orthia] by ChanServ |
00:09 | | Reiver [quassel@Nightstar-ksqup0.co.uk] has joined #code |
00:09 | | mode/#code [+ao Reiver Reiver] by ChanServ |
00:23 | <@iospace> | http://cpptcl.sourceforge.net/ *GAGS* |
00:23 | <&[R]> | http://incolumitas.com/2016/06/08/typosquatting-package-managers/ |
00:23 | <&[R]> | Oh right, TCL's a language too |
00:24 | <&[R]> | I'm guessing there's a reason it's not popular anymore |
00:40 | | catadroid` [catadroid@Nightstar-6cjrts.dab.02.net] has joined #code |
00:43 | | catadroid [catadroid@Nightstar-co9dqb.dab.02.net] has quit [Ping timeout: 121 seconds] |
02:00 | | macdjord [macdjord@Nightstar-pk7ki5.cable.rogers.com] has quit [Ping timeout: 121 seconds] |
02:02 | | macdjord [macdjord@Nightstar-pk7ki5.cable.rogers.com] has joined #code |
02:02 | | mode/#code [+o macdjord] by ChanServ |
03:14 | | Shady|afk is now known as Shady |
04:24 | | crystalclaw|AFK is now known as crystalclaw |
05:08 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
05:17 | | Derakon is now known as Derakon[AFK] |
05:24 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code |
05:24 | | mode/#code [+o Reiv] by ChanServ |
05:55 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
06:09 | | celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:52 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
07:10 | | catadroid [catadroid@Nightstar-gpfc61.dab.02.net] has joined #code |
07:13 | | catadroid` [catadroid@Nightstar-6cjrts.dab.02.net] has quit [Ping timeout: 121 seconds] |
07:19 | | catadroid [catadroid@Nightstar-gpfc61.dab.02.net] has quit [[NS] Quit: Bye] |
07:19 | | catadroid [catadroid@Nightstar-gpfc61.dab.02.net] has joined #code |
08:26 | <@simon_> | answering ocaml questions on StackOverflow is kind of like answering Standard ML questions, only where people actually give you points for the answers! |
08:29 | <&McMartin> | Ha haw |
08:30 | <&McMartin> | I "like" how OCaml seems to be more mainstream than Standard ML. |
08:30 | <&McMartin> | That isn't how standards are supposed to work! |
08:31 | <&McMartin> | I do find it interesting how OCaml seems to have been quietly but steadily making inroads into industry for, like, a decade now |
08:32 | < jeroud> | Yes. |
08:32 | < jeroud> | In the past couple of years it's grown enough ecosystem to be a serious option for a lot of things. |
08:34 | <&McMartin> | Is the batteries-included stuff triplatform yet? |
08:34 | <&McMartin> | The libraries everyone boosted OCaml with were Linux-only the last time I had checked |
08:35 | < jeroud> | I don't know about Windows. |
08:35 | < jeroud> | The stuff I've used has all been quite happy on OSX and Linux. |
08:36 | < jeroud> | I've mostly cared about networkery, though. |
08:37 | < jeroud> | But lwt (async library, mostly I/O) and Core (giant library of ALL THE THINGS from Jane Street) both worked fine. |
08:39 | <&McMartin> | Yeah, Core in particular did not run on Windows the last time I had looked in on it |
08:41 | < jeroud> | I think lwt does. |
08:41 | < jeroud> | But it might have reduced functionality. |
08:41 | < jeroud> | Of you want OCaml for Windows, F# is almost that. |
08:42 | <&McMartin> | Yeah, though less so as time goes on |
08:42 | <&McMartin> | I haven't checked in on F# in ages |
08:43 | <&McMartin> | I'm just too rarely working at that level. |
08:44 | < jeroud> | It depends on how much you want to use other .NET stuff. |
08:44 | | Shady [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has quit [Ping timeout: 121 seconds] |
08:45 | <&McMartin> | That is indeed the level at which I am too rarely working. |
08:45 | < jeroud> | I think it you're careful, it's actually possible to write some kinds of code that will compile and work in both F# and OCaml. |
08:46 | <&McMartin> | That sounds hideously painful |
08:46 | < jeroud> | I imagine it really would be. |
08:48 | < jeroud> | Idiomatic F# uses indentation block delimiting for the most part, but the usual ML constructs are still there. |
09:13 | <@simon_> | F# is growing into a language that I don't like. |
09:15 | <@simon_> | whereas with OCaml's modular implicits, you get something equivalent to Haskell's type classes, but compatible with the module system. |
09:16 | <@simon_> | F#'s interoperability with .NET is just a sad, inevitable step away from purity. |
09:16 | <@simon_> | it probably means that it's a lot easier to adopt into an existing codebase. those I know that advocate FP strongly endorse F# as the thing they believe they can convince executives to consider... but meh. |
09:51 | <&jerith> | If you want to interact with imperative-OO, you need to do that stuff. |
09:52 | <&jerith> | Also, F#'s approach is a whole lot better than Scala's. |
09:52 | <@simon_> | yes. |
09:52 | <@simon_> | it's just... F# seems just half a note off!~~ |
09:53 | | * TheWatcher facepalm |
09:54 | <&jerith> | Also, the community seems to lean pretty strongly toward using the class/method stuff only when absolutely necessary. |
09:54 | <&jerith> | Which means that most of your F# code is much more ML than .NET. |
10:01 | | M-E [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
10:01 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
10:01 | | mode/#code [+o Emmy] by ChanServ |
10:01 | | Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [NickServ (RECOVER command used by M-E)] |
10:01 | | M-E is now known as emmy |
10:01 | | mode/#code [+o emmy] by ChanServ |
10:02 | | emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [NickServ (RECOVER command used by M-E)] |
10:02 | | emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
10:02 | | mode/#code [+o emmy] by ChanServ |
10:02 | | emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Connection closed] |
10:02 | | emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
10:02 | | mode/#code [+o emmy] by ChanServ |
10:25 | | * catadroid is still twiddling her bits |
10:25 | < catadroid> | And enjoying it |
10:27 | <&jerith> | Bit-twiddling can be fun. |
10:28 | | * jerith has fond memories of bit-banging SPI on an 8-bit micro because the hardware implementation used pins that were needed for other things. |
10:33 | < catadroid> | In this case the bits represent free locations in a hash map |
10:47 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
10:47 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
10:59 | <@simon_> | catadroid, wow, you've been working with hashmaps for a while now? |
10:59 | <@simon_> | catadroid, do you get paid to optimize hashmaps? |
11:09 | <@abudhabi> | How do I set nano to have it choose a better combo than blue on black when highlighting HTML? |
11:17 | <&jerith> | In most cases I'd consider "use a better editor" to be bad form, but *nano*? |
11:22 | <@abudhabi> | If my choice is between "crude but usable", "designed for aliens" and "beeps incessantly"... |
11:24 | <@Tamber> | Go for the path of the one true ?. |
11:31 | <~Vornicus> | abudhabi: nanorc |
11:34 | <@abudhabi> | Vornicus: OK, I'm in the file. What do I look fdor? |
11:34 | <@abudhabi> | -d |
11:34 | <~Vornicus> | that I don't know. I've never used nano long enough to need to look at this file, I just know it should be in there somewhere |
11:36 | <~Vornicus> | http://www.nano-editor.org/dist/v2.0/nanorc.5.html looks like there's a "syntax" thing that matches filenames to determine what to do for a particular file, and then the colors accept regexes to determine what to color |
11:55 | | emmy is now known as Emmy-Werk |
12:00 | < catadroid> | simon_: yes, yes I do |
12:37 | | Netsplit Kakrafoon.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @ToxicFrog, @Syloq, @PinkFreud |
12:45 | | Netsplit over, joins: Syloq |
12:54 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
12:55 | | Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has joined #code |
13:35 | <@ErikMesoy> | I don't understand Python pickle scoping. When I say "with open(blah) as filehandle: Thing=pickle.load(filehandle)" this does not override the main Thing created earlier in the program; instead it creates a local Thing with different id and content. |
13:36 | <@ErikMesoy> | I know main Thing is in scope, being outdented relative to the pickle-loading. So why is this happening? Is it pickle? is it with? is it magic scoping rules about assigning to variable names under obscure conditions? |
13:40 | <@abudhabi> | Probably magic scoping rules. Try nonlocal? |
13:40 | <@abudhabi> | The keyword, I mean. |
13:40 | | catadroid` [catadroid@Nightstar-7bt47c.dab.02.net] has joined #code |
13:41 | | gnolam [quassel@Nightstar-lhk.n94.131.88.IP] has joined #code |
13:41 | <@pjdelport> | ErikMesoy: There's no magic. Unpickling always deserializes to new objects. |
13:41 | <@pjdelport> | Python's scoping rules are pretty simple, and there are no exceptions. |
13:41 | <@ErikMesoy> | pjdelport: But I am purportedly assigning the unpickling to an old object! |
13:42 | < Emmy> | why is there no magic, when there are wizards? |
13:42 | <@pjdelport> | Well, there's no such thing as assigning to objects. Names / bindings are just references to objects: when you rebind / reassign a name, you just point it at a new object. |
13:42 | | catadroid [catadroid@Nightstar-gpfc61.dab.02.net] has quit [Ping timeout: 121 seconds] |
13:42 | <@ErikMesoy> | Thing = create_empty_thing(), id(Thing) returns 38965345. |
13:43 | <~Vornicus> | is the unpickling happening within an object |
13:43 | <@pjdelport> | Right. "Thing" is a variable name: every time you assign to it, you point it at some object. |
13:43 | <@ErikMesoy> | with (pickling): Thing = pickle.load(file) |
13:43 | <@ErikMesoy> | id(Thing) returns 89254789 |
13:43 | <@ErikMesoy> | end with |
13:43 | <@ErikMesoy> | id(Thing) returns 38965345. |
13:43 | <~Vornicus> | er, within a function |
13:43 | <@pjdelport> | So if you "Thing = foo", thing now points at the same object that foo pointed to. |
13:43 | | * Vornicus tries this out anyway |
13:43 | <@ErikMesoy> | I can understand that second id should rightfully be different from first. |
13:44 | <@pjdelport> | If you say "Thing = foo; Thing = bar", then Thing first gets pointed to foo, then to bar. |
13:44 | <@ErikMesoy> | What I don't understand is it *reverting* at third step |
13:44 | <@ErikMesoy> | abudhabi: nonlocal keyword does not exist in 2.7 :( |
13:45 | <&jerith> | ErikMesoy: "global" is the relevant keyword. |
13:45 | <&jerith> | Also, "with" doesn't introduce a new scope. |
13:45 | <&jerith> | Only function/class/method definitions do that. |
13:46 | | * Vornicus pickles something and tries erikmesoy's thing in the first place |
13:46 | <@abudhabi> | ErikMesoy: You probably should be using 3e instead of fumbling about with THAC0. :V |
13:46 | <@TheWatcher> | Emmy: except there is, after a fashion; most of what people in here do all the time is magic to the majority of people. |
13:46 | <@ErikMesoy> | abudhabi: but wxWidgets does not exist for Python 3 yet :( |
13:47 | < Emmy> | True. Any technology sufficiently advanced is indiscernible from magic. :) |
13:47 | <@ErikMesoy> | Vornicus: The unpickling is happening within a multiply indented scope relative to original declaration of Thing, at least. || jerith: with statement ends with colon and IDE provides new indent afterwards, looks hella lot like new scope to me! |
13:47 | <&jerith> | ErikMesoy: Also, I'd recommend against pickle. What are you using it for? |
13:48 | <&jerith> | ErikMesoy: Block != scope. |
13:48 | <~Vornicus> | Erik: is there a def in the way? |
13:48 | <~Vornicus> | Because it's def that matters |
13:48 | <@ErikMesoy> | jerith: Basic saving to and loading from file of simple userdata. |
13:48 | <@ErikMesoy> | Vornicus: yes |
13:48 | <~Vornicus> | There you go then |
13:48 | <~Vornicus> | Stuff is function scoped. |
13:49 | <&jerith> | I'd recommend explicit serialisation (JSON is pretty easy) for that, then. |
13:49 | < gnolam> | ErikMesoy: are you forced to use wx because existing codebase, or is this your own project? |
13:49 | <~Vornicus> | the moment enter a function you're in a new scope. You can examine and call methods on things from outer scopes without having to say that's what you're doing, but if you want to change what they are, you must declare them as global in the function before you manipulate them |
13:50 | <&jerith> | Pickle, aside from being an "execute arbitrary code" attack vector, deals quite poorly with object version differences. |
13:50 | <@ErikMesoy> | This is my own project. I figured I'd start with pickle because pickle is builtin and then work my way up to advanced stuff once I had to/from file working *at all*. |
13:50 | < gnolam> | Because having a decent amount of experience with both, PySide (Qt) is definitely less spiderful than wxPython. |
13:50 | < gnolam> | And lets you use Python 3. |
13:50 | <&jerith> | ErikMesoy: The json module is also builtin. :-) |
13:51 | <&jerith> | Are you pickling lists/dicts or your own classes? |
13:51 | <@ErikMesoy> | I remember looking into tk and Qt and deciding I wanted wx at the time, I do not remember why though. |
13:51 | <&jerith> | Qt is pretty terrible, but maybe PySide hides that. |
13:52 | <@ErikMesoy> | I am currently pickling my own classes, but it could be converted to lists/dicts if I tinker with data structure a bit |
13:52 | < gnolam> | jerith: Just like Every OS Sucks, every GUI Toolkit sucks. |
13:52 | <@TheWatcher> | ^-- that >.< |
13:53 | < Emmy> | You know the difference between a solut and an OS? |
13:53 | < gnolam> | A salyut? |
13:54 | < Emmy> | uh. *slut |
13:54 | <&jerith> | ErikMesoy: I'd recommend doing that and using json.load()/json.dump(). |
13:54 | < Emmy> | not sure how that o got in there |
13:54 | < Emmy> | oh wait, it's a slut. everything gets in there. :d |
13:54 | <&jerith> | As a side benefit, your files will be kind of human-readable. |
13:54 | < Emmy> | but that wasn't the joke. :/ |
13:55 | <@ErikMesoy> | jerith: My pickled objects are kind of human-readable! But OK, I will look into figuring out JSON instead of pickling, because I can certainly see how pickle is unsafe. |
13:56 | <&jerith> | (Also, json.loads()/json.dumps() will let you operate on strings instead of a files.) |
13:56 | < Emmy> | The point is: Both are ideally free, but only in one case you'll be glad to know they suck. |
13:56 | <@ErikMesoy> | pffft |
13:56 | < Emmy> | Also, in both cases, the bad ones get viruses. :d |
14:04 | | Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
15:15 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code |
15:15 | | ServerMode/#code [+o PinkFreud] by *.Nightstar.Net |
15:15 | | mode/#code [+o Syloq] by ChanServ |
15:15 | | mode/#code [+o Crossfire] by ChanServ |
15:15 | | mode/#code [+o Emmy] by ChanServ |
15:16 | | gnolam is now known as NSGuest9847 |
15:45 | | celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has joined #code |
15:45 | | mode/#code [+o celticminstrel] by ChanServ |
15:48 | | celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
15:48 | | celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has joined #code |
15:48 | | mode/#code [+o celticminstrel] by ChanServ |
15:52 | | * Vornicus considers. there's quite a bit of talk recently about how algorithms given biased data can lead to biased results. What's not mentioned so much is how pervasive the bias can be. |
15:53 | <~Vornicus> | Sort everyone in the US by name and you'll find areas, thousands of names long, where nearly everyone in that area is, say, from southeast asia |
15:54 | | Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has quit [[NS] Quit: go go gadget home. or something] |
15:54 | <~Vornicus> | (just look up "nguyen") |
16:48 | | * ErikMesoy looks at what he is doing, realizes that he is iterating over object properties and on the verge of going "this would be cleaner with exec", decides not to do this. |
16:49 | <@ErikMesoy> | OTOH, maybe I will do it in temp as a toy project just to see how terrible it gets. |
16:51 | | Emmy-Werk is now known as Emmy |
16:55 | <@ErikMesoy> | for attr in [attr for attr in dir(foo) if not attr.startswith('__')]: exec("bar."+str(attr)+"=foo."+str(attr)) |
16:56 | <@ErikMesoy> | What is the horribleness level of this line to copy one object's attributes onto another? Or: how badly would you beat me if you found this in a project you were asked to take over? |
16:58 | <&jerith> | Why do you want to copy attributes like that? |
16:59 | <@ErikMesoy> | Art for art's sake, at the moment. |
16:59 | <&jerith> | Also, `setattr(bar, attr, getattr(foo, attr))`. |
17:00 | <@ErikMesoy> | But that doesn't iterate? |
17:01 | <&jerith> | That just replaces the exec. |
17:01 | <&jerith> | You still need to iterate. |
17:02 | <@ErikMesoy> | I am accumulating semantic satiation on "attr" now. |
17:02 | <&jerith> | Call it "field", then. :-) |
17:03 | <@ErikMesoy> | heh |
17:07 | <&jerith> | I'm still curious about why you're copying attributes like that. |
17:08 | <&jerith> | I've had to do it a couple of times myself, but only in some fairly obscure circumstances. |
17:10 | <@ErikMesoy> | Side effect of wondering how to possibly import from file other ways after seeing the JSON import warning: `loads(dumps(x))` != x if x has non-string keys. |
17:10 | <&jerith> | If you need non-string keys, try using YAML instead. |
17:11 | <&jerith> | `pip install pyyaml`, the interface is pretty similar to the json module. |
17:15 | | NSGuest9847 [quassel@Nightstar-lhk.n94.131.88.IP] has quit [[NS] Quit: Gone] |
17:16 | <&jerith> | On the other hand, object attribute names need to be strings. :-) |
17:17 | <&jerith> | My standard pattern for object serialisation is to have the constructor take a bunch of keyword args (one for each field I want to store) and then `foo = Foo(**json.loads(data))`. |
17:18 | <@ErikMesoy> | Time for me to rewrite a pile of obj.attr into obj.dict["attr"] then I guess? |
17:18 | <&jerith> | The I write a .to_dict() method that returns a dict containing the values I want to store. |
17:18 | <&jerith> | *Then |
17:19 | <&jerith> | So persisting becomes `data = json.dumps(foo.to_dict())`. |
17:19 | <&jerith> | (I'm using strings here, but you can talk directly to files instead.) |
17:19 | <&jerith> | For certain kinds of state, it does make sense to use an internal dict. |
17:20 | <&jerith> | But if you're referring to my syntax above, `**` is the "dict deconstruction" operator. |
17:21 | <@ErikMesoy> | Oh god magic. |
17:21 | <&jerith> | `d = {'a': 1, 'b': 'c'}; foo(**d)` is semantically equivalent to `foo(a=1, b='c')`. |
17:22 | <&jerith> | Actually, a better explanation is that it's the opposite of the keyword param collection syntax. |
17:23 | <@ErikMesoy> | Iiinteresting. |
17:23 | <&jerith> | `def foo(a, *args, **kw): pass` is a function that takes one mandatory arg, zero or more positional args, and zero or more arbitrary keyword args. |
17:24 | <@ErikMesoy> | Okay, I'm seeing how this can work out nicely. |
17:24 | <@ErikMesoy> | Thank you, jerith! |
17:24 | <&jerith> | If you call it `foo(1, 2, 3, b=4, d=6)` you get a=1, args=(2, 3), kw={'b': 4, 'd': 6} in the function. |
17:28 | | Derakon[AFK] [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [Connection closed] |
17:30 | | Derakon [chriswei@Nightstar-2bf.47h.168.50.IP] has joined #code |
17:30 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:33 | | * catadroid` wonders if she should write an implementation of this type as a suggestion towards standardisation |
17:34 | <~Vornicus> | Be The Dot |
17:34 | | Shady [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has joined #code |
17:35 | < catadroid`> | It seems so |
17:35 | | catadroid` is now known as catadot |
17:59 | <@ErikMesoy> | All riiiiight, I have very correct-looking file handling with JSON! |
18:01 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code |
18:01 | | mode/#code [+o gnolam] by ChanServ |
18:02 | <@ErikMesoy> | Run program, do stuff, export internal values to file, quit program, run program, load from file, meddle with values some more, save, quit, restart, load, they still have the right values. :D |
18:22 | <@ion> | http://www.madeinprint.ca/printproduct/business-cards Does this load properly for anybody else? I've tried a short handful of different browers and get some overlay blocking all clickable elements in all of them so far |
18:23 | <&[R]> | I can click the slideshow and that's it. |
18:23 | <~Vornicus> | ion: the purple buttons on the top are clickable. |
18:23 | <&[R]> | Firefox on Linux (I'm a bit behind on updates) |
18:23 | <~Vornicus> | They then remove the overlay |
18:24 | <~Vornicus> | Presumably they're there to apply location-based customizations |
18:24 | <~Vornicus> | (crhome latest) |
18:27 | <@ion> | Aha, that works here |
18:28 | <@ion> | Apparently I'm dumb and old and no longer understand user interface paradigms |
18:29 | <@ion> | Feel like I would have noticed that if there was more of a delay on animating those widgets, and maybe if it slid down from the top of the page to the center; forcing me to focus on it |
18:30 | <&[R]> | Yeah |
18:31 | <~Vornicus> | that was poorly designed |
18:31 | <&[R]> | They're actually kind of misusing that UI paradim |
18:31 | <&[R]> | It was unclear for me as well. |
18:34 | <@ion> | I complained at them about it and if I buy from them at all it will be noted in person as well |
18:35 | <@ion> | They want double fee for a rush order and don't offer a cheaper B&W option though, so I might not :\ |
18:39 | <@ion> | Thanks for the sanity check on that |
18:42 | <&McMartin> | Unrelated |
18:42 | <&McMartin> | http://arstechnica.com/the-multiverse/2016/06/an-ai-wrote-this-movie-and-its-str angely-moving/ |
18:42 | <&McMartin> | I think "I have to go to the skull" is my favorite sentence I've encountered today |
18:42 | <@ion> | Yeah, dunno if I can do this presently :\ |
18:42 | <@ion> | ~$1.70 per business card seems like a kind of steep price to be handing out to strangers who might just crumple it and move on |
18:44 | <~Vornicus> | that's |
18:46 | <~Vornicus> | like 50x what it should cost to get business cards |
18:49 | <@gnolam> | Maybe it has subtle off-white coloring? Tasteful thickness? Maybe even a watermark? |
18:57 | <@ion> | They only offer color printing and shmanchy gloss cardstock |
18:58 | <@ion> | I found another place that'll do me a rush order of 150 cards for $35, as opposed to the $55 I was quoted by madeinprint |
18:58 | <@ion> | ~$0.25 per is a much easier cost to stomach |
18:59 | <@ion> | I'll design a better one and have more of them printed for cheaper at a later date |
19:00 | <@ion> | if I can manage to purge 150 business cards in 2 days then it'll have been more than worth it, if not at least I'm better equipped for the immediate future |
19:07 | <@abudhabi> | Buy Magic cards instead. ĂV |
19:07 | <@abudhabi> | *:V |
19:10 | <@ion> | I already do even though I rarely even play anymore <_< |
19:10 | <@ion> | I spent like, $60 on it last year and I can count the matches I had on one hand |
19:11 | <@ion> | Buying land cards and worthless commons to print my contact details on /would/ be mildly funny though |
19:12 | <&jerith> | ion: In my professional opinion, that is really terrible UX. |
19:13 | <@ion> | jerith: Pleasing to know that my user's intuition is in line with the professional |
19:13 | <&jerith> | Well, I'm not actually a professional UX person. |
19:13 | <@ion> | I have no formal training in anything computers |
19:13 | <@ion> | but I feel like I should at some point write a book on "don't"s in UI design |
19:14 | <&jerith> | But I've worked with several and acquired a feel for the difference between "I'm misusing this" and "this is terrible". |
19:14 | <@ion> | Sadly I also suspect that it'd just be more noise in a sea of noise |
19:14 | <&jerith> | ion: There are already several good books on the topic. |
19:14 | <&jerith> | The problem is that people don't read them. |
19:14 | <@ion> | Hence why I'm not adding to the pile <_< |
19:15 | <@ion> | I've glance through and acquired enough books on other topics that are well written and offer rich depths |
19:15 | <@ion> | that I figure there's probably good books covering most popular and unpopular topics of interest |
19:16 | <&McMartin> | I recently had http://wiki.apidesign.org/wiki/Main_Page recommended to me |
19:17 | <&jerith> | McMartin: Thanks, I'll take a look at that. |
19:25 | <~Vornicus> | ...this page needs an entirely different kind of design, holy shit that's unreadable |
19:26 | <@ion> | Looks like a useful resource to bookmark for the future, but I agree that the wiki interface seems kind of ironic |
19:27 | <~Vornicus> | Like, straight up no-formatting would work better than this |
19:29 | <&McMartin> | Actually, I think the book being recommended to me was actually 20 API Paradoxes |
19:29 | <&McMartin> | In the corner |
19:36 | <@ion> | Whoo, business cards confirmed. |
19:36 | <@ion> | -15 to my shady-business factor \o/ |
19:37 | <@ion> | or +10 to my business-legitimacy factor, whichever is the lesser of the two |
19:42 | <@ion> | amusingly, the manner in which they took my business and told me to put in an order completely violates the TOS on their website =p |
19:42 | <@ion> | "We will NOT accept files that are emailed. All orders MUST be placed through the website." |
19:43 | <&jerith> | ion: Do you think even the people whose website it is read the ToS? |
19:43 | <@ion> | "ALL orders must be prepaid due to the speed of our turnaround." |
19:43 | <@ion> | Haha, good point |
19:45 | <@ion> | I guess it technically falls under the final clause |
19:45 | <@ion> | "may change, modify, add or remove portions of this policy at any time" |
19:49 | <&jerith> | I'm sure the ToS is mostly there to set baseline expectations and as a thing to point to when someone tries to be unreasonable. |
19:52 | <@ion> | They're usually a cover-your-ass kind of thing more than a strict policy followed |
19:52 | <@ion> | *thankfully* |
20:03 | | crystalclaw is now known as crystalclaw|AFK |
20:09 | | Shady [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has quit [Ping timeout: 121 seconds] |
20:10 | | Shady [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has joined #code |
20:10 | | catadroid [catadroid@Nightstar-3jji9v.dab.02.net] has joined #code |
20:13 | | catadot [catadroid@Nightstar-7bt47c.dab.02.net] has quit [Ping timeout: 121 seconds] |
20:13 | | Shady is now known as Shady|afk |
20:28 | | catadroid [catadroid@Nightstar-3jji9v.dab.02.net] has quit [[NS] Quit: Bye] |
20:29 | | catadroid [catadroid@Nightstar-3jji9v.dab.02.net] has joined #code |
20:44 | | Shady|afk [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has quit [Ping timeout: 121 seconds] |
20:51 | | Shady|afk [ShadyGuru@Nightstar-ut3scg.t132.ptd.net] has joined #code |
20:52 | | Shady|afk is now known as Shady |
20:52 | | Shady is now known as Shady|afk |
21:03 | | crystalclaw|AFK is now known as crystalclaw |
21:26 | | Kindamoody|afk is now known as Kindamoody |
21:53 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code |
21:53 | | mode/#code [+o Reiv] by ChanServ |
22:22 | | Kindamoody is now known as Kindamoody[zZz] |
22:36 | <@celticminstrel> | I keep seeing big blank spaces in web pages now. |
22:36 | <@celticminstrel> | I feel like the Internet is starting to forget what cookies are really for. |
22:37 | | * celticminstrel isn't entirely sure that the blank spaces are related to cookies, mind you, but it seems plausible at least. |
22:46 | | crystalclaw is now known as crystalclaw|AFK |
--- Log closed Fri Jun 10 00:00:04 2016 |