« Back to channel list

#ruby - 24 April 2016

« Back 1 day Forward 1 day »
[00:00:01] Arahael: *profilers
[00:00:17] Arahael: droptone: be sure that you are optimising the correct spot.
[00:00:18] droptone: arahael: Checking them out now, thank you.
[00:00:19] Ox0dea: droptone: Can it be processed incrementally, or do you absolutely need all of it all at once?
[00:00:56] droptone: Well, I'm here with pen and paper attempting to reduce the amount of data queried from the API, but that doesn't seem to matter regarding the CPU spikes
[00:01:16] Qommand0r: has joined #ruby
[00:01:17] droptone: be it little data or lots of data, while the app is executing it seems to hog the CPU at times.
[00:01:25] freerobby: has joined #ruby
[00:01:31] nando293921: has joined #ruby
[00:01:35] Ox0dea: You've got us flying blind here, mate. :/
[00:01:53] droptone: Right, sure, well I don't need to get that in-depth with the code, I'll start with this profiler.
[00:01:59] droptone: Thank you though.
[00:02:00] Ox0dea: Seems a good bet.
[00:02:04] droptone: What do you mean by "massive reads"?
[00:02:04] Ox0dea: No worries.
[00:02:13] Arahael: droptone: it'd be very interesting to know which functions are hogging the cpu ;) a profiler can help identify if you need to jmprove your algorithm or if microoptimisation will work.
[00:02:18] droptone: Just reading massive amounts of data?
[00:02:29] droptone: From disk? From the network?
[00:02:59] Arahael: Ox0dea: why would readin data in itself be a problem? you're trading cpu time for responsiveness.
[00:03:08] Dry_Lips: has joined #ruby
[00:03:08] Dry_Lips: has joined #ruby
[00:03:10] droptone: Ox0: Do you have a recommendation on a specific profiler you prefer to use?
[00:03:29] Ox0dea: droptone: ruby-prof is decent.
[00:03:54] Ox0dea: arahael: It's just that I suspect droptone is doing blocking reads, which are notorious bottlenecks.
[00:04:19] bronson: has joined #ruby
[00:05:00] binaryplease1: has joined #ruby
[00:05:07] Arahael: Ox0dea: compared to non-blocking, sure. but not compared to reading little bits of it at a time, in a blockig way, surely?
[00:06:27] droptone: Well, I can say this. The way the app executes is, in a simplified way, it loads the user profile from the database, it then calls API provider 1 and receives a lot of data (depending on the customer)
[00:06:48] droptone: The API provider basically sends back pages of data, and during the page load the CPU is actually pretty low.
[00:06:54] droptone: 1-3.7% based on top output.
[00:07:47] droptone: The spikes are occurring at 2 points - 1) when writing to disk, and 2) when reviewing the data provided from the API, which is stored in a big hash and compared against a DB entry for that data.
[00:07:54] droptone: The DB runs on a non-local RDS instance
[00:08:16] droptone: I know you're flying blind here, but just in case anything about this description sticks out.
[00:08:45] Arahael: droptone: sampling can be very misleading (especially if it's just top), but those two points could be candidates for pusshing into a queue for saving and reviewing by a saving thread and reviewing thread. still, i'd first check a profiler.
[00:08:57] Ebok: has joined #ruby
[00:09:03] droptone: For example, say there's a category called "cats" returned form the API, potentially thousands of cats are stored in a hash and then a loop where each cat is analyzed and the "last_updated" value is compared against the one stored on file in the DB for that entry
[00:09:09] Dry_Lips: has joined #ruby
[00:09:09] Dry_Lips: has joined #ruby
[00:09:15] droptone: ok, I'll just go to the profile and report back.
[00:09:46] Rodya_: has joined #ruby
[00:10:39] cdg: has joined #ruby
[00:10:52] Arahael: droptone: keep in mind, Ox0dea seems to be far more experienced in ruby than i am. i'm giving language-neutral advice.
[00:11:31] droptone: Yes, Ox0dea is kind of socrates of #ruby
[00:11:42] Arahael: awesome :)
[00:12:57] A124: has joined #ruby
[00:13:51] mjuszczak: has joined #ruby
[00:15:32] wilbert: has joined #ruby
[00:16:26] Fernando-Basso: ACTION bows before Ox0dea's might
[00:17:03] droptone: ACTION brings frankincense and mur in tribute 
[00:18:27] bob434: has joined #ruby
[00:21:07] fedexo: has joined #ruby
[00:21:14] mlakewood: has joined #ruby
[00:21:15] tao_: has joined #ruby
[00:21:41] moeabdol: has joined #ruby
[00:22:09] erict: has joined #ruby
[00:22:14] SilverKey: has joined #ruby
[00:22:15] wjb: has joined #ruby
[00:26:13] chouhoulis: has joined #ruby
[00:27:40] droptone: Apparently mur is spelled "myrrh." Learn something every day.
[00:28:08] Arahael: i was wondering what what was.
[00:28:18] jpcody: has joined #ruby
[00:32:21] imperator: has joined #ruby
[00:32:37] droptone: You couldn't tell by the "frankincense" ahead of it?
[00:33:04] kareeoleez: has joined #ruby
[00:34:09] Maletor: has joined #ruby
[00:34:34] neha-: he prob isnt christian
[00:36:52] Rodya_: has joined #ruby
[00:37:42] Dry_Lips: has joined #ruby
[00:37:42] Dry_Lips: has joined #ruby
[00:38:49] Rodya__: has joined #ruby
[00:39:42] baweaver: has joined #ruby
[00:42:52] dnewkerk_: has joined #ruby
[00:43:12] tristanp: has joined #ruby
[00:44:23] RegulationD: has joined #ruby
[00:44:44] mesamoo: has joined #ruby
[00:48:37] Durin_: has joined #ruby
[00:50:09] weemsledeux: has joined #ruby
[00:50:59] Durin_: has joined #ruby
[00:51:45] A124: has joined #ruby
[00:52:19] yfeldblum: has joined #ruby
[00:54:21] A124: has joined #ruby
[00:54:21] northrup: has joined #ruby
[00:57:11] kareeoleez: has joined #ruby
[00:57:15] Aviio: has joined #ruby
[01:00:53] william3: has joined #ruby
[01:01:33] zast: has joined #ruby
[01:01:35] davedev24: has joined #ruby
[01:01:53] kareeoleez: has joined #ruby
[01:02:36] w1lson: has joined #ruby
[01:02:39] charliesome: has joined #ruby
[01:02:44] Emmanuel_Chanel: has joined #ruby
[01:03:07] w1lson: Hey guys I tried following the instructions here to setup rbenv https://gorails.com/setup/osx/10.11-el-capitan everything worked but ruby -v still gives me 2.0.0
[01:03:15] Emmanuel_Chanel: has joined #ruby
[01:03:20] valetudo: has joined #ruby
[01:04:26] Arahael: well, i'm christian but "mur" is totally different to "myrrh", besides, frankincense has a number of uses and many references.
[01:04:35] Aces1up: has joined #ruby
[01:04:45] Arahael: plus, i'm deaf.
[01:05:03] rkazak: has joined #ruby
[01:05:16] droptone: ahh, there you go
[01:05:23] Arahael: "mur" looks like it could be similar to "muir", but "myrrh" looks similar to "moorrah"
[01:05:40] droptone: Well in my entire life I've never heard anyone say frankincense without saying myrrh after.
[01:05:43] impermanence: has joined #ruby
[01:05:48] droptone: And where I'm from myrrh is pronounced "mur"
[01:06:04] droptone: Rolling phonetic
[01:06:24] droptone: Damn, why isn't this EC2 dashboard accurately reflecting disk IO
[01:07:10] vdamewood: has joined #ruby
[01:09:08] aces2up: has joined #ruby
[01:09:33] Emmanuel_Chanel: has joined #ruby
[01:09:34] aces2up: hello was wondering if someone could help me with class_eval, not to used to using it with me code here : http://codepad.org/taXbp6Ag
[01:09:36] noService: has joined #ruby
[01:12:19] Ven: has joined #ruby
[01:13:03] Ven: has left #ruby: ()
[01:13:55] terminalrecluse: has joined #ruby
[01:15:30] Moosashi: has joined #ruby
[01:19:09] william3: has joined #ruby
[01:19:15] diegoaguilar: has joined #ruby
[01:21:19] A124: has joined #ruby
[01:25:18] tao_: has joined #ruby
[01:25:59] kareeoleez: has joined #ruby
[01:26:03] yfeldblum: has joined #ruby
[01:28:18] chouhoulis: has joined #ruby
[01:29:48] noobsu: has joined #ruby
[01:31:26] Moosashi: has joined #ruby
[01:31:36] weemsledeux: has joined #ruby
[01:33:42] droptone: has anyone seen a scenario where they declare their logger with "daily" set, and you have an app that's say, cron'd every hour, and yet despite the daily specification it never generates a new file?
[01:33:43] william3: has joined #ruby
[01:33:55] droptone: and you have your host set to sync to an NTP server so you know your time is good
[01:34:31] droptone: It literally just writes to the same file every single time, for weeks at a time.
[01:34:44] droptone: even though every time it executes the logger.new decleration includes the same filename but "daily" set
[01:40:21] LoneHerm_: has joined #ruby
[01:42:05] al2o3-cr1: has joined #ruby
[01:47:24] jaguarmagenta: has joined #ruby
[01:48:40] ur5us: has joined #ruby
[01:51:23] cdg: has joined #ruby
[01:52:46] impermanence: has joined #ruby
[01:56:40] LoneHerm_: has joined #ruby
[01:57:27] Arahael: droptone: figures. 'rh' must be silent, then.
[02:00:11] Rodya_: has joined #ruby
[02:02:38] bkxd: has joined #ruby
[02:04:50] Dry_Lips: has joined #ruby
[02:04:50] Dry_Lips: has joined #ruby
[02:06:07] bronson: has joined #ruby
[02:06:11] william3: has joined #ruby
[02:09:42] _blizzy_: has joined #ruby
[02:10:10] s2013: has joined #ruby
[02:12:39] agent_white: has joined #ruby
[02:14:16] A124: has joined #ruby
[02:14:22] arescorpio: has joined #ruby
[02:15:27] jpcody: has joined #ruby
[02:19:11] rkazak: has joined #ruby
[02:19:21] chouhoulis: has joined #ruby
[02:19:50] benlieb: has joined #ruby
[02:20:16] FailBit: has joined #ruby
[02:20:35] kareeoleez: has joined #ruby
[02:20:39] william3: has joined #ruby
[02:24:12] rkazak_: has joined #ruby
[02:24:37] coyo: has joined #ruby
[02:24:48] karapetyan: has joined #ruby
[02:25:00] Polysics: has joined #ruby
[02:25:38] tristanp: has joined #ruby
[02:27:23] tao_: has joined #ruby
[02:31:11] blandflakes: has joined #ruby
[02:31:56] w1lson: has joined #ruby
[02:32:09] The_Phoenix: has joined #ruby
[02:32:46] wald0: has joined #ruby
[02:33:46] tubuliferous: has joined #ruby
[02:34:14] Aviio: has joined #ruby
[02:39:04] wald0: has joined #ruby
[02:40:28] benlieb: has joined #ruby
[02:41:55] benlieb_: has joined #ruby
[02:45:19] RegulationD: has joined #ruby
[02:48:06] kareeoleez: has joined #ruby
[02:51:29] chipotle: has joined #ruby
[02:52:38] hxegon: has joined #ruby
[02:54:01] william3: has joined #ruby
[02:55:01] rbennacer: has joined #ruby
[02:56:49] chipotle: has joined #ruby
[02:57:41] jordanm: has joined #ruby
[02:59:03] Dimik1: has joined #ruby
[02:59:10] iaglium: has joined #ruby
[03:01:11] hxegon: has joined #ruby
[03:01:58] mlakewood: has joined #ruby
[03:03:28] stannard: has joined #ruby
[03:04:14] flashpoint9: has joined #ruby
[03:04:57] davee_: has joined #ruby
[03:05:08] zacstewart: has joined #ruby
[03:05:39] tubuliferous: has joined #ruby
[03:06:15] kareeoleez: has joined #ruby
[03:09:09] stardiviner: has joined #ruby
[03:09:46] noService: has joined #ruby
[03:09:49] Tempesta: has joined #ruby
[03:11:25] jroggeman: has joined #ruby
[03:16:34] braincrash: has joined #ruby
[03:17:14] bob434: has joined #ruby
[03:18:27] bkxd: has joined #ruby
[03:19:35] agentmeerkat: has joined #ruby
[03:20:03] ledestin: has joined #ruby
[03:23:37] Moosashi: has joined #ruby
[03:24:13] kareeoleez: has joined #ruby
[03:26:30] Polysics: has joined #ruby
[03:28:57] agentmeerkat: has joined #ruby
[03:31:17] tao_: has joined #ruby
[03:33:45] kareeoleez: has joined #ruby
[03:34:29] Rixius: has joined #ruby
[03:36:05] rkazak: has joined #ruby
[03:39:33] gix: has joined #ruby
[03:42:43] nanoz: has joined #ruby
[03:42:59] zacstewart: has joined #ruby
[03:46:01] R3DH4: has joined #ruby
[03:47:08] duncannz: has joined #ruby
[03:48:10] jaguarmagenta: has joined #ruby
[03:50:08] tristanp: has joined #ruby
[03:50:43] FailBit: has left #ruby: ("WeeChat 0.4.2")
[03:51:25] lkba: has joined #ruby
[03:51:59] kareeoleez: has joined #ruby
[03:53:59] diego1: has joined #ruby
[03:54:15] diego1: has joined #ruby
[03:55:35] william3: has joined #ruby
[03:55:50] w1lson: has joined #ruby
[03:57:57] moeabdol: has joined #ruby
[03:59:05] darkxploit: has joined #ruby
[03:59:09] baweaver: has joined #ruby
[04:01:05] kareeoleez: has joined #ruby
[04:01:33] lxsameer: has joined #ruby
[04:08:11] bronson: has joined #ruby
[04:08:51] Alina-ma-: has joined #ruby
[04:08:53] Amnez777-: has joined #ruby
[04:09:35] Cohedrin_: has joined #ruby
[04:12:59] Dimik1: has joined #ruby
[04:13:30] Alina-malina: has joined #ruby
[04:13:36] stardiviner: has joined #ruby
[04:18:01] Amnez777: has joined #ruby
[04:19:10] kareeoleez: has joined #ruby
[04:19:12] bkxd: has joined #ruby
[04:19:15] pragmatism: If I want to kick off another process (a system command to execute a bash script), how would I do that so it doesn't block the main thread in the MRI?
[04:19:23] pragmatism: System and `` both block.
[04:19:45] pragmatism: I know the reactor pattern is one option here, but I don't want to have to refactor my small application.
[04:20:31] pragmatism: Kernal::fork?
[04:20:47] droptone: arahael, Ox0dea: I finished executing an instance of my application with ruby-prof monitoring it.
[04:21:13] droptone: This output though, I'm not sure how useful this is.
[04:22:05] droptone: I'm going to gist this output.
[04:23:37] hxegon: has joined #ruby
[04:24:35] yfeldblum: has joined #ruby
[04:25:15] moeabdol: has joined #ruby
[04:27:07] droptone: https://gist.github.com/anonymous/68a1e07a2ccfdddff6eb75666a6c58bd
[04:27:15] droptone: Theree's the ruby-prof output.
[04:28:05] droptone: How can I see from this output why my app hogs the CPU while executing?
[04:28:16] Polysics: has joined #ruby
[04:29:10] elifoster: has joined #ruby
[04:29:28] tildes_: has joined #ruby
[04:32:37] tAn: has joined #ruby
[04:33:22] w1lson: has joined #ruby
[04:35:43] ruby-lang015: has joined #ruby
[04:37:10] kareeoleez: has joined #ruby
[04:40:38] The_Phoenix: has joined #ruby
[04:43:49] Fezzler: has joined #ruby
[04:44:45] hk238: has joined #ruby
[04:46:01] RegulationD: has joined #ruby
[04:46:32] naftilos76: has joined #ruby
[04:46:53] kareeoleez: has joined #ruby
[04:48:13] Cohedrin: has joined #ruby
[04:48:45] CloCkWeRX: has joined #ruby
[04:49:32] ruby-lang210: has joined #ruby
[04:49:42] SilverKey: has joined #ruby
[04:50:20] ruby-lang210: Novice ruby programmwrote here
[04:50:52] ruby-lang210: Anyone want to collab?
[04:55:26] crameth: has joined #ruby
[04:55:40] kareeoleez: has joined #ruby
[04:56:11] crameth: has joined #ruby
[04:57:11] william3: has joined #ruby
[04:58:40] tristanp: has joined #ruby
[05:01:45] fedexo: has joined #ruby
[05:04:57] kareeoleez: has joined #ruby
[05:06:48] PedramT: has joined #ruby
[05:09:17] solocshaw: has joined #ruby
[05:09:34] rbennacer: has joined #ruby
[05:10:51] djbkd: has joined #ruby
[05:11:35] _blizzy_: has joined #ruby
[05:13:26] ruby-lang015: I’m currently getting more experience with Ruby threads, but something doesn’t make sense
[05:13:43] ruby-lang015: When Jim run this script, https://www.youtube.com/watch?v=fK-N_VxdW7g&t=12m3s, he gets a race condition, and the output is usually about half of the 1_000_000 ‘expected' outcome. When I run it, it works fine
[05:14:58] _blizzy_: has joined #ruby
[05:15:16] _blizzy_: has left #ruby: ()
[05:16:54] ruby999: has joined #ruby
[05:17:59] moeabdol: has joined #ruby
[05:18:40] ruby999: anyone want to talk about Ruby threads? Confused about something. Halp
[05:19:39] `tim`: has joined #ruby
[05:19:47] tax: has joined #ruby
[05:23:13] kareeoleez: has joined #ruby
[05:27:46] Musashi007: has joined #ruby
[05:28:27] tristanp: has joined #ruby
[05:29:46] Polysics: has joined #ruby
[05:29:56] Moosashi: has joined #ruby
[05:30:31] nhhc: has joined #ruby
[05:34:54] bkxd: has joined #ruby
[05:35:18] greister: has joined #ruby
[05:35:59] tristanp: has joined #ruby
[05:36:18] tAn: has joined #ruby
[05:38:39] Aviio_: has joined #ruby
[05:41:02] PedramT: has joined #ruby
[05:41:10] kareeoleez: has joined #ruby
[05:42:14] PedramT: has joined #ruby
[05:44:05] nanoz: has joined #ruby
[05:47:19] terminalrecluse: has joined #ruby
[05:48:13] Arahael: droptone: can't help now, but notice that you have a crazy number of calls to activerecord things.
[05:48:50] Arahael: droptone: so that's where i would focus.
[05:48:58] jaguarmagenta: has joined #ruby
[05:49:57] ramfjord: has joined #ruby
[05:50:48] terminalrecluse: has joined #ruby
[05:52:37] droptone: arahael: thank you. Yes, the active record calls are necessary to compare the objects returned form the API to the objects stored on file.
[05:52:49] Arahael: droptone: the REXML could be expensive too. so focus on the architecture surrounding the activerecord and REXML stuff. sorry can't help further but you now know exactly what code is taking a while.
[05:53:08] droptone: Would it improve exeuction time to make one big query to load all DB records instead of querying them one at a time as needed?
[05:53:13] tildes: has joined #ruby
[05:54:01] Arahael: droptone: maybe consider hashing the activerecord objects or convert them to a chea[er object esrlier? also consider optimising activerecord as well.
[05:54:41] droptone: what od you mean hasing the activerecord objects?
[05:54:44] Moosashi: has joined #ruby
[05:54:47] droptone: So here's the basic gist of how my application works.
[05:55:00] droptone: A) It begins by loading thousands of objects from a remote API
[05:55:36] droptone: B) It then compares the last_updated value of these objects to the last_updated value of the object on file, which is stored in an RDS MySQL DB
[05:56:01] Arahael: droptone: as some ORM layers will only load each property on demand. consider loading the whole object at once in the same sql.
[05:56:05] rippa: has joined #ruby
[05:56:11] droptone: C) if the last_updated doesn't match, it assumes an update has occurred and it pushes the object to another API provider, thus pushing the updated information
[05:56:46] droptone: So you think it would be less expensive to simply make one large query to load all objects on file and stick them in a hash
[05:57:26] `tim`: has joined #ruby
[05:57:27] droptone: ok, now what do you mean regarding the REXML piece?
[05:57:29] Arahael: droptone: maybe. i dont know active record but i would definitely investigate that area.
[05:57:50] william3: has joined #ruby
[05:58:26] Arahael: droptone: REXML stood out a little in the profile output. probably a distraction.
[05:58:48] moeabdol: has joined #ruby
[05:59:32] pragmatism: Anyone looking for the answer to my question: exec() or fork would have worked.
[05:59:33] kareeoleez: has joined #ruby
[05:59:37] Arahael: droptone: activerecord is the mian thing to investigate. also consider what stafes you can pipeline for concurrent processing.
[05:59:44] LoneHerm_: has joined #ruby
[06:00:21] baweaver: has joined #ruby
[06:00:27] Arahael: droptone: anyway, i'm out. good luck ;)
[06:00:52] Es0teric: has joined #ruby
[06:00:55] Arahael: *stages (not stafes...)
[06:01:01] moeabdol: has joined #ruby
[06:01:01] droptone: arahael: thanks for the help
[06:02:40] Arahael: droptone: last thing: whenn you do make changes, run the profiler again so you can be certain of the improvement.
[06:03:18] The_Phoenix: has joined #ruby
[06:04:26] yfeldblum: has joined #ruby
[06:06:08] droptone: arahael: One last question if your'e still here or when you get back, 15% of my %self is .to_i, I do liberally use .to_i to ensure values are integers for comparison purposes
[06:06:37] droptone: should I comb througha nd eliminate those unless absolutely needed, or is to_i ignored when Ruby detects an integer
[06:08:16] Arahael: droptone: that i don't know. i usually ignore built'ins unless i'm optimising a specific method.
[06:08:42] rkazak: has joined #ruby
[06:09:16] kareeoleez: has joined #ruby
[06:09:54] bronson: has joined #ruby
[06:15:25] shevy: droptone I think we can find out from the C source
[06:16:39] sandelius: has joined #ruby
[06:16:48] The_Phoenix: has joined #ruby
[06:17:26] rkazak: has joined #ruby
[06:17:38] The_Phoenix: has joined #ruby
[06:17:47] kareeoleez: has joined #ruby
[06:18:33] The_Phoenix: has joined #ruby
[06:18:38] The_Phoenix: has joined #ruby
[06:19:35] shevy: ok so the various .to_* methods seem to be specific to the class at hand... e. g. Float#to_i is different than String#to_i including the implementation
[06:20:07] tristanp: has joined #ruby
[06:20:09] shevy: String#to_i delegates towards b_str_to_inum
[06:20:18] shevy: http://rxr.whitequark.org/mri/source/bignum.c#3059
[06:20:40] baweaver: has joined #ruby
[06:21:00] skade: has joined #ruby
[06:21:07] shevy: I guess it always tries to convert without further check
[06:21:20] nofxx: shevy, clever
[06:21:31] shevy: let me see for Integer#to_i actually
[06:22:01] nofxx: problably returns self?
[06:22:10] shevy: lol yeah sorta
[06:22:11] shevy: static VALUE int_to_i(VALUE num) { return num; }
[06:22:31] shevy: ok so that is by far the simplest implementation :)
[06:23:03] shevy: String#to_i seems to be the biggest
[06:23:38] mitt3ns: has joined #ruby
[06:23:47] Arahael: droptone: in that case, i might suggest checking the callers of to_i, some profilers can do this, not sure about ruby though.
[06:25:56] dc2: has joined #ruby
[06:26:13] vdamewood: has joined #ruby
[06:29:08] Amnez777: has joined #ruby
[06:30:28] Alina-malina: has joined #ruby
[06:31:20] Polysics: has joined #ruby
[06:31:27] pawnbox_: has joined #ruby
[06:32:31] CloCkWeRX: has left #ruby: ()
[06:32:56] duncannz: has joined #ruby
[06:35:47] kareeoleez: has joined #ruby
[06:36:33] w1lson: has joined #ruby
[06:36:54] navneet: has joined #ruby
[06:38:24] tAn: has joined #ruby
[06:47:37] PedramT: has joined #ruby
[06:49:47] ur5us: has joined #ruby
[06:49:57] shevy: is anyone familiar with python decorators? would they fit into ruby?
[06:51:36] Xeago: has joined #ruby
[06:51:59] PedramT: has joined #ruby
[06:52:04] kareeoleez: has joined #ruby
[06:55:18] pawnbox: has joined #ruby
[06:57:33] Emmanuel_Chanel: has joined #ruby
[06:59:18] william3: has joined #ruby
[07:01:11] toretore: has joined #ruby
[07:10:04] noService: has joined #ruby
[07:11:23] opentux: has joined #ruby
[07:11:55] rbennacer: has joined #ruby
[07:12:49] Spami: has joined #ruby
[07:17:47] jaguarmagenta: has joined #ruby
[07:19:23] foobartest: has joined #ruby
[07:21:09] Moosashi: has joined #ruby
[07:22:23] The_Phoenix: has joined #ruby
[07:23:10] foobartest: has joined #ruby
[07:23:40] Arahael: shevy: I'm not sure. I doubt it.
[07:24:23] Arahael: shevy: What are you wanting them for?
[07:26:55] foobartest: has joined #ruby
[07:27:11] Zarthus: with `extend`/`include` and 'static' methods (for lack of knowing the proper term) I'm pretty sure you've already got decorators in ruby
[07:28:50] Arahael: Zarthus: It depends on what he wants them for. Decorators in python are quite differnet to a mixin.
[07:29:36] Arahael: Zarthus: Essentially, a decorator is a function that takes a function and returns a function. If applied to a method on the class, it does the same thing *before* the method is bound to the class.
[07:31:07] Arahael: That said, ruby has other approaches - and for the user, they do sometimes look 'python decorator like'. Eg, Rake's desc methods.
[07:31:10] Zarthus: I'm not sure how that differs from ruby mixins, it seems totally possible to program something similar to that (albeit a little bit more difficult, but there's the possibility of gemming that)
[07:31:26] shevy: arahael not sure, I don't really know how they work but I read that python users praise them
[07:31:44] Arahael: shevy: They're sometimes elegant for certain python patterns.
[07:32:03] Zarthus: the problem I've often found with decorators/annotations is that people start making them for everything, and you end up having 1-5 decorators per methos
[07:32:14] Arahael: Zarthus: Indeed.
[07:32:29] Arahael: Zarthus: Except, in python, they're not an annotation, though they can be used as such.
[07:32:38] Polysics: has joined #ruby
[07:32:43] Arahael: My favorite python decorator is probably mock.patch.
[07:32:58] Arahael: Which patches the runtime for the duration of the call. Used heavily in unit tests.
[07:34:22] Zarthus: they definitely do have their uses
[07:35:46] bkxd: has joined #ruby
[07:36:30] TheHodge: has joined #ruby
[07:37:16] Arahael: shevy: In python, before we had decorator syntax, the old way was to do it manually.
[07:37:31] Arahael: shevy: ie, def foo(): ...; followed by foo = thedecorator(foo)
[07:37:43] jaguarma_: has joined #ruby
[07:39:52] BTRE: has joined #ruby
[07:41:39] tAn: has joined #ruby
[07:42:07] arup_r: has joined #ruby
[07:42:16] arup_r: Ox0dea: Hi..
[07:45:10] arup_r: actually splitting the line on 1 space .. is breaking :( because there is some rows which are separated on single space also.. https://gist.github.com/aruprakshit/2fff4f0643f5a6fc4b524084ba5e32b3#file-input-txt-L110
[07:46:09] arup_r: as I can't split the line on space, what should be the other ways to get those data from each row..
[07:46:29] baweaver: what's the context there?
[07:47:55] Arahael: arup_r: Is line 110 supposed to be significant there?
[07:48:18] baweaver: it's the one space line that breaks something in there
[07:48:49] arup_r: baweaver: I am trying to fetch username, IP and login time from each row
[07:48:51] Arahael: baweaver: Where's that one-space?
[07:48:57] baweaver: on line 110
[07:49:11] baweaver: he has a regex below that matches 2+ spaces
[07:49:20] baweaver: but that's below a ways
[07:49:31] Arahael: Well, line 110 ends with _four_ spaces.
[07:49:33] pawnbox: has joined #ruby
[07:49:51] baweaver: one of the columns doesn't though
[07:50:13] Arahael: Well, there's indeed only one space between "Mon" and "Apr", and a few other columns in it.
[07:50:23] Arahael: But I'm at loss to see how it differs from say, line 109.
[07:51:34] arup_r: arahael: I thought each column is 2 space, and splited the lines. But line# 110 is not because IP and login timehas 1 space between them
[07:51:52] Arahael: arup_r: Weird, for me it shows as two spaces there.
[07:52:23] arup_r: and gist also screwed my code indentation.. but that's ok for now.
[07:52:33] baweaver: mixing tabs and spaces does that
[07:53:11] arup_r: point is I can't split it one space, then all data will be broken.. so what is the next idea.. if any..
[07:53:48] Arahael: arup_r: Perhaps a more flexible regexp, then. Perhaps split on any space?
[07:54:33] terminalrecluse: has joined #ruby
[07:56:25] Devalo: has joined #ruby
[07:58:07] p0p0pr37_: has joined #ruby
[07:58:33] toretore: arup_r: what is the information you want to get at in this output?
[07:59:47] arup_r: toretore: added the expected output from the code https://gist.github.com/aruprakshit/2fff4f0643f5a6fc4b524084ba5e32b3
[07:59:52] Alina-malina: has joined #ruby
[08:01:02] william3: has joined #ruby
[08:01:31] ledestin: has joined #ruby
[08:02:22] Emmanuel_Chanel_: has joined #ruby
[08:04:42] Ox0dea: arup_r: I don't know why Apple hates users, but here's the problem: https://github.com/unofficial-opensource-apple/adv_cmds/blob/master/last/last.c#L172
[08:05:13] arup_r: I am running code in EC2 server. Not in appple. Apple don't support many options with `last`
[08:05:14] Ox0dea: They used two spaces as the initial delimiter just as some sort of tease, apparently.
[08:05:46] Ox0dea: Oh, right.
[08:05:58] Jackneill: has joined #ruby
[08:05:59] arup_r: I am testing code in EC2 ,, I have no other chioce
[08:06:44] Tempesta_: has joined #ruby
[08:06:44] arup_r: I can see controlled output by running, `last -i | column -c 5` ... but no idea if it can break the code still in future
[08:07:17] antgel: has joined #ruby
[08:08:14] toretore: Ox0dea: it's as impossible to parse on my arch
[08:08:30] Ox0dea: toretore: Yeah, doesn't look promising. :/
[08:09:01] Ox0dea: Clever people do really stupid shit sometimes.
[08:09:02] toretore: it's meant for human consumption, not for machines
[08:09:13] toretore: like most unix commands, unfortunately :(
[08:09:27] Ox0dea: ¿Por que no las dos?
[08:09:47] firstdayonthejob: has joined #ruby
[08:09:51] toretore: "yeah just pipe things together, that's the beauty of unix!"
[08:09:52] Arahael: Arguably. On the plus side, the source data is pretty well documented.
[08:10:04] dgncn: has joined #ruby
[08:10:13] toretore: but even that has many variants
[08:10:37] Ox0dea: I suspect arup_r doesn't feel like writing a utmp parser.
[08:10:57] intro_coder: has joined #ruby
[08:11:21] arup_r: Ox0dea: what is that? :)
[08:11:27] Arahael: Ox0dea: I'd do it in C, really. But I just noticed that /var/log/wtmp doesn't exist on mac os x.
[08:11:31] toretore: there's a perl version here that might help: http://www.hcidata.info/wtmp.htm
[08:11:32] Arahael: Not since 10.5
[08:11:51] bronson: has joined #ruby
[08:11:55] Ox0dea: arup_r: The system that feeds `last`, give or take.
[08:13:36] Arahael: See 'man utmpx'
[08:14:51] jaguarmagenta: has joined #ruby
[08:15:01] duderonomy: has joined #ruby
[08:15:30] the_drow: has joined #ruby
[08:16:17] baweaver: arup_r: Ox0dea: I made something fun
[08:16:29] baweaver: (?<name>.+) +(?<term>[\w\/\d]+) +(?<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) +(?<login_date_time>(?<login_day>[A-Z][a-z]{2}) (?<login_month>[A-Z][a-z]{2}) +\d+ +(?<login_time>\d{2}:\d{2})( +- +(?<login_end_time>\d{2}:\d{2}) +\((?<login_duration>\d{2}:\d{2})\))?)
[08:16:43] Ox0dea: Saints preserve us.
[08:17:01] baweaver: put that in rubular with the data above
[08:17:04] Arahael: I hope that is only used in english locales.
[08:17:28] baweaver: If it's not you'd need to rewrite it anyways.
[08:17:45] Moosashi: has joined #ruby
[08:17:50] Pupeno: has joined #ruby
[08:17:54] toretore: baweaver: <term> is sometimes "system boot" on my machine :)
[08:18:07] baweaver: ssssshhhhhh
[08:18:11] baweaver: don't ruin the magic
[08:18:44] baweaver: anyways, could be fixed to compensate for that
[08:18:51] toretore: and the last part is sometimes replaced with "down" or "still logged in" or other random things, sometimes separated with a - and other times not :P
[08:18:53] baweaver: main point is that extracts the data
[08:19:17] baweaver: more comprehensive input equals more confounded and complicated regex to match
[08:19:22] chagel: has joined #ruby
[08:19:32] Arahael: baweaver: On my system, this is one of my lines:
[08:19:33] Arahael: arahael pts/0 ip-30-71-192-203 Fri Apr 8 15:08 - 17:58 (1+02:50)
[08:19:40] toretore: sometimes login_duration is (1+14:48)
[08:19:52] Arahael: toretore: That. :)
[08:19:52] toretore: right, that ^
[08:20:00] baweaver: you're missing the point
[08:20:09] Arahael: reboot system boot 3.16.0-4-amd64 Mon Apr 4 11:50 - 17:46 (20+05:56)
[08:20:10] baweaver: you can find edge cases anywhere on it
[08:20:25] Ox0dea: arahael: Here's a silly implementation of decorators in Ruby from a while back: https://eval.in/558675
[08:20:28] Arahael: baweaver: As they say: "You now have two problems"
[08:20:31] baweaver: the point is even at that you'd end up rewriting the program for other architectures
[08:20:33] toretore: baweaver: i'm just taking the opportunity to rant about shitty unix tools
[08:20:53] baweaver: arahael: you'd have two problems either way
[08:21:12] Arahael: baweaver: No, because I'd be using the documented source data file.
[08:21:16] baweaver: even if you completely forego regex you'd have to append your tokenizer logic to compensate for the same issues
[08:21:40] Arahael: baweaver: Nope. import <utmpx.h>, and deal with it. Yeah, I'd do it in C (or C++), not Ruby.
[08:21:56] baweaver: now if last were sane and did a \t delim...
[08:22:48] baweaver: I don't think in C/C++/Sys Libs
[08:23:02] lomex: has joined #ruby
[08:23:44] baweaver: primarily because I don't have a need to know them.
[08:23:59] Arahael: It's helpful to know them.
[08:24:14] baweaver: It's helpful to know a lot of things
[08:24:35] Arahael: True, that.
[08:24:37] tomphp: has joined #ruby
[08:24:38] baweaver: but time is not a forgiving thing, and some helpful things are more immediately relevant
[08:24:52] baweaver: in my case I'm typically doing Javascript/Ruby/Scala/Spark
[08:24:52] p0p0pr37: has joined #ruby
[08:25:20] intro_coder: hello everyone...is anyone able to help me to identify errors in my code? it's about sinatra and active record..
[08:25:28] baweaver: So learning syscalls and libs isn't high on my practicality wishlist. Not disregarding potential usefulness, just saying that they're not quite my thing.
[08:25:45] ruby[bot]: https://gist.github.com - Multiple files, syntax highlighting, even automatically with matching filenames, can be edited
[08:25:55] baweaver: post your code up there
[08:26:32] baweaver: naturally though if I end up that low level and find these things I'll learn it, but that's not in the immediate future.
[08:26:49] baweaver: hence the regex/tokenization.
[08:27:06] opentux: Can you help me ? https://gist.github.com/anonymous/23f277beea40792716f2366f592c6298
[08:27:39] Arahael: baweaver: In thiat case, I'd probably split it on arbitrary sapce.
[08:27:53] Arahael: baweaver: And join the second and third columns together until you have the expected number of columns.
[08:28:15] baweaver: opentux: rubular.com
[08:28:21] baweaver: lets you see it as you build it
[08:28:22] opentux: It returns me a true value only when the params or payload as one or more space
[08:28:36] baweaver: arahael: fair.
[08:28:41] opentux: baweaver, i've already tried. & It worked on rubular
[08:30:08] Aviio: has joined #ruby
[08:30:25] opentux: but it doesn't work on my laptop...
[08:30:50] opentux: I solved the problem thanks
[08:31:45] marr: has joined #ruby
[08:32:22] Arahael: toretore: How would you do something like that for non-unix machines?
[08:32:26] Ox0dea: >> 'is it weird how saying sentences backwards creates backwards sentences saying how weird it is'.split.reverse * ' '
[08:32:28] ruby[bot]: Ox0dea: # => "is it weird how saying sentences backwards creates backwards sentences saying how weird it is" (https://eval.in/558676)
[08:32:29] Arahael: And by which, we mean: Windows, presumably.
[08:33:14] baweaver: ACTION tries to think of other non-unix machines that aren't windows
[08:33:30] Mia: has joined #ruby
[08:33:38] Arahael: baweaver: Well, there's Android. And iOS (I think)
[08:33:38] Mia: has joined #ruby
[08:33:46] baweaver: well, unless you want the fun differences between GNU, POSIX, and other implementations.
[08:33:54] tomphp: has joined #ruby
[08:33:54] Ox0dea: Android isn't Unix?
[08:33:59] baweaver: Pretty sure it is
[08:34:00] Arahael: Ox0dea: Indeed.
[08:34:05] Ox0dea: arahael: Are you sure?
[08:34:07] Polysics: has joined #ruby
[08:34:07] torandu: has joined #ruby
[08:34:09] baweaver: What's it running on?
[08:34:10] Arahael: No, Android runs Linux, which is a kernel, and is not Unix.
[08:34:18] Zarthus: >> 'some stuff'.split * ' '
[08:34:25] baweaver: point is they're derivatives.
[08:34:32] Zarthus: is that just a lazy syntax for #join?
[08:34:38] baweaver: Zarthus: have to be authenticated.
[08:34:45] baweaver: also, don't do that in actual code
[08:35:02] Axy: has joined #ruby
[08:35:02] Axy: has joined #ruby
[08:35:24] baweaver: I'd guess iOS is based on BSD in some form
[08:35:28] baweaver: but not sure.
[08:35:41] Arahael: baweaver: It's probably based on Darwin in some way.
[08:35:49] baweaver: let's preface that with non-unix-like
[08:35:53] toretore: arahael: no idea, i'm just saying that the output is shitty, which is also true for most othe unix commands. yet people go on about the "unix philosophy" and how you can pipe things together
[08:36:08] Zarthus: baweaver: don't do that in case your type is not what you expect, i presume?
[08:36:19] toretore: most unix systems are held together with the programming equivalent of duct tape
[08:36:21] baweaver: it's obscure
[08:36:22] mikecmpbll: has joined #ruby
[08:36:33] Arahael: baweaver: However, unless they've changed it in recent years, you couldn't even fork() or do true concurrency.
[08:36:38] Zarthus: yeah I imagined that was the reason
[08:36:46] Ox0dea: Zarthus: Except you caught on almost immediately.
[08:36:54] Arahael: toretore: True enough, on both points.
[08:36:54] baweaver: best not to have to explain things to some people
[08:37:01] baweaver: and ignore Ox0dea being evil :P
[08:37:10] Ox0dea: I'm being earnest just now.
[08:37:14] Ox0dea: I think String#* is fine. :<
[08:37:24] Ox0dea: I like the part where I meant Array#*.
[08:37:26] Ox0dea: Zarthus: Ignore me.
[08:37:35] baweaver: joking in any case
[08:37:52] A124: has joined #ruby
[08:37:56] Zarthus: I like using Ox0dea's examples as a method to avoid bad code
[08:38:22] Zarthus: the problem is the moment he drops a piece of useful code I will identify it as trickery of some sort!
[08:39:24] baweaver: Just remember, he's been known to drop gems like this:
[08:39:35] baweaver: >> $_=$$/$$;@_=->_{_==''?_:[*?`..?{]['. !#% & , :;<= >@_ `'=~/#{_[$.]}/]+@_[_[$_..-$_]]};_=->&_{_}[&:"#{@_['@%<#']}"];_[_[_[_['',@_['!: @@']],@_[' <!%@_=>@']][-$_-$_],@_['!=<@_']+?_+@_['&%_'],(''<<(_=$_+$_)**_**(_+$_)/(_+$_)-$_)+@_[',;%']],@_['<%`']]
[08:39:37] ruby[bot]: baweaver: # => 2016-04-24 08:39:36 +0000 (https://eval.in/558678)
[08:40:18] Zarthus: i hope you got that from your internet history and not your memort
[08:40:44] baweaver: wasn't from history
[08:42:17] Zarthus: so long as it is not implying the latter, I am okay with that.
[08:42:51] baweaver: try figuring out how that works
[08:43:04] baweaver: plenty of little tricks in there
[08:43:06] yfeldblum: has joined #ruby
[08:43:10] Zarthus: it's called voodoo
[08:43:16] baweaver: https://gist.github.com/baweaver/ecc68d8588f906b4df54 - here's the cheat sheet.
[08:43:26] Zarthus: the thing that frightens me the most is that I'm seeing backticks in there
[08:43:31] tAn: has joined #ruby
[08:43:32] Zarthus: making me assume it's also using shell for some part
[08:43:36] Ox0dea: Not at all.
[08:43:55] tomphp: has joined #ruby
[08:43:55] baweaver: that part is a non-alphanumeric to character translation set iirc
[08:44:13] Zarthus: feels like reading assembly
[08:44:18] Ox0dea: Not at all.
[08:44:21] ruby[bot]: baweaver: # => "a" (https://eval.in/558680)
[08:44:31] Chunlea: has joined #ruby
[08:44:34] Ox0dea: It's more like reading the lambda calculus.
[08:44:39] Ox0dea: But... harder?
[08:44:43] Ox0dea: Noisier, certainly.
[08:45:11] arup_r: I did fix like a kid :) https://gist.github.com/aruprakshit/2fff4f0643f5a6fc4b524084ba5e32b3#file-program-rb..
[08:45:15] baweaver: like lambda but nastier with horns
[08:45:21] Ox0dea: I love it.
[08:46:11] baweaver: Ox0dea: wanna know my new team name?
[08:46:39] Ox0dea: baweaver: Is it another fantastic acronym?
[08:46:51] Zarthus: baweaver: Did you write that gist yourself?
[08:46:54] baweaver: Logging and Monitoring Based Data Analytics
[08:47:00] Zarthus: Do you have the time spent on deciphering that?
[08:47:07] Ox0dea: baweaver: I like.
[08:47:08] baweaver: Zarthus: as opposed to wishing it translated
[08:47:24] baweaver: Zarthus: or hitting Ox0dea with a wet noodle until he does it for me?
[08:47:28] RegulationD: has joined #ruby
[08:47:38] Ox0dea: Zarthus: It took him, like, five minutes, as I recall.
[08:47:49] Zarthus: I'm just gauging how crazy the people in #ruby are
[08:47:54] Ox0dea: He got rather good at it and seems to have maintained most of his sanity.
[08:48:07] baweaver: Ox0dea: you assume I had any to start with
[08:48:14] Ox0dea: baweaver: My mistake.
[08:48:47] Zarthus: anyways, thanks guys. My food just got cold because this conversation was interesting and I didn't eat it fast enough
[08:49:03] Ox0dea: Zarthus: It's just an esoteric form of puzzle, really; since when are games the exclusive domain of crazies?
[08:49:34] baweaver: My magic missile begs to differ.
[08:49:44] tomphp: has joined #ruby
[08:50:20] Nahra: has joined #ruby
[08:50:24] Ox0dea: ACTION refrains from misinterpreting.
[08:52:03] baweaver: roll for initiative
[08:52:17] baweaver: >> random(20)
[08:52:18] ruby[bot]: baweaver: # => undefined method `random' for main:Object ...check link for more (https://eval.in/558681)
[08:52:32] baweaver: >> rand(20)
[08:52:33] ruby[bot]: baweaver: # => 17 (https://eval.in/558682)
[08:56:18] Trynemjoel: has joined #ruby
[08:58:35] tessi: has joined #ruby
[08:59:10] bkxd: has joined #ruby
[09:00:29] Pupeno: has joined #ruby
[09:02:45] william3: has joined #ruby
[09:03:43] Tempesta: has joined #ruby
[09:03:44] william3: has joined #ruby
[09:04:40] yeticry: has joined #ruby
[09:04:54] moeabdol: has joined #ruby
[09:05:18] noService: has joined #ruby
[09:07:01] lxsameer: has joined #ruby
[09:07:01] lxsameer: has joined #ruby
[09:09:04] dgncn: has joined #ruby
[09:09:58] isxek: has joined #ruby
[09:10:32] siaW: has joined #ruby
[09:10:46] bkxd: has joined #ruby
[09:12:38] zacstewart: has joined #ruby
[09:12:55] bronson: has joined #ruby
[09:15:43] cpup: has joined #ruby
[09:16:56] crameth: has joined #ruby
[09:17:40] karapetyan: has joined #ruby
[09:18:28] LoneHerm_: has joined #ruby
[09:25:13] doublemalt__: has joined #ruby
[09:28:59] william3: has joined #ruby
[09:30:58] symm-: has joined #ruby
[09:32:12] lomex: has joined #ruby
[09:34:12] PedramT: has joined #ruby
[09:35:58] Polysics: has joined #ruby
[09:36:21] Emmanuel_Chanel: has joined #ruby
[09:37:17] lkba: has joined #ruby
[09:37:50] mdw: has joined #ruby
[09:43:19] shevy: Zarthus pizza!
[09:45:32] Zarthus: shevy: as in the toppings?
[09:45:43] charliesome: has joined #ruby
[09:45:56] bkxd: has joined #ruby
[09:46:34] tAn: has joined #ruby
[09:47:08] tomphp: has joined #ruby
[09:47:15] blt: has joined #ruby
[09:50:43] shevy: food that gets cold!
[09:51:11] Emmanuel_Chanel: has joined #ruby
[09:51:46] Ox0dea: http://i.imgur.com/KbYIR3l.jpg
[09:53:11] lkba: has joined #ruby
[09:54:17] hk238: has joined #ruby
[09:54:22] shevy: cool... one slice of that is as big as a regular pizza here
[09:55:01] Weavel: has joined #ruby
[09:55:13] anisha_: has joined #ruby
[09:56:10] apeiros: dat facial expression
[09:57:14] shevy: like looking at old code
[09:57:40] apeiros: almost. like looking at old code you have to modify for some reason
[09:59:13] Ox0dea: She's performing the doctor-recommended procedure for keeping one's head from asploding.
[10:04:26] karapetyan: has joined #ruby
[10:05:46] mitt3ns: has joined #ruby
[10:17:59] SCHAAP137: has joined #ruby
[10:20:47] slackbotgz: has joined #ruby
[10:21:13] moeabdol: has joined #ruby
[10:22:33] rgtk: has joined #ruby
[10:22:47] cpup: has joined #ruby
[10:26:23] sandelius: has joined #ruby
[10:28:07] Spami: has joined #ruby
[10:28:11] PedramT: has joined #ruby
[10:29:15] blackgoat: has joined #ruby
[10:31:41] lomex: has joined #ruby
[10:32:08] ur5us: has joined #ruby
[10:33:55] william3: has joined #ruby
[10:34:35] tAn: has joined #ruby
[10:38:09] noway_: has joined #ruby
[10:38:43] kareeoleez: has anyone been working with puma and capistrano ?
[10:39:07] kareeoleez: I just deployed my project and I can't start puma or rails server
[10:39:47] kareeoleez: rails server returns help and puma says a log path does not exist
[10:41:01] blaxter: has joined #ruby
[10:45:34] yfeldblum: has joined #ruby
[10:46:10] chagel: has joined #ruby
[10:48:12] RegulationD: has joined #ruby
[10:48:26] Devalo: has joined #ruby
[10:50:55] CloCkWeRX: has joined #ruby
[10:52:03] moeabdol: has joined #ruby
[10:52:17] mikecmpbll: has joined #ruby
[10:55:48] kam270: has joined #ruby
[10:55:49] karapetyan: has joined #ruby
[10:59:47] mdw: has joined #ruby
[11:04:24] mikecmpbll: has joined #ruby
[11:06:44] tomphp: has joined #ruby
[11:06:46] Emmanuel_Chanel: has joined #ruby
[11:11:42] PedramT: has joined #ruby
[11:15:19] PedramT_: has joined #ruby
[11:18:49] tessi: has joined #ruby
[11:19:10] SCHAAP137: has joined #ruby
[11:21:40] harry111: has joined #ruby
[11:22:11] PedramT: has joined #ruby
[11:23:58] pawnbox: has joined #ruby
[11:30:45] william3: has joined #ruby
[11:31:48] moeabdol: has joined #ruby
[11:36:29] mikecmpbll: has joined #ruby
[11:38:40] Polysics: has joined #ruby
[11:41:48] william3: has joined #ruby
[11:44:07] zacstewart: has joined #ruby
[11:47:23] karapetyan: has joined #ruby
[11:49:23] baweaver: has joined #ruby
[11:51:03] ren: has joined #ruby
[11:54:21] tlaxkit: has joined #ruby
[11:58:14] berserk_ren: has joined #ruby
[11:58:45] pawnbox: has joined #ruby
[12:01:06] yeticry: has joined #ruby
[12:02:09] crameth: has joined #ruby
[12:02:12] RahulT: has joined #ruby
[12:03:30] crime: has joined #ruby
[12:05:04] berserk_ren: has joined #ruby
[12:06:34] sandelius: has joined #ruby
[12:07:12] tomphp: has joined #ruby
[12:07:31] diegoaguilar: has joined #ruby
[12:09:32] spider-mario: has joined #ruby
[12:19:04] charliesome: has joined #ruby
[12:20:32] tknz: has joined #ruby
[12:22:42] GodFather: has joined #ruby
[12:22:51] tildes: has joined #ruby
[12:23:27] bob434: has joined #ruby
[12:23:37] Polysics: has joined #ruby
[12:23:57] berserk_ren: has joined #ruby
[12:24:44] berserk_ren: has joined #ruby
[12:25:55] berserk_ren: has joined #ruby
[12:27:37] berserk_ren: has joined #ruby
[12:28:58] william3: has joined #ruby
[12:32:38] charliesome_: has joined #ruby
[12:32:48] codecop: has joined #ruby
[12:35:09] stannard: has joined #ruby
[12:35:25] berserk_ren: has joined #ruby
[12:36:42] berserk_ren: has joined #ruby
[12:37:06] IrishGringo: has joined #ruby
[12:37:22] charliesome: has joined #ruby
[12:37:23] crameth: has joined #ruby
[12:39:00] karapetyan: has joined #ruby
[12:41:03] solocshaw: has joined #ruby
[12:41:20] diegoaguilar: has joined #ruby
[12:42:08] charliesome_: has joined #ruby
[12:43:31] snowy: has joined #ruby
[12:45:09] zacstewart: has joined #ruby
[12:49:02] RegulationD: has joined #ruby
[12:50:05] Devalo: has joined #ruby
[12:50:48] weemsledeux: has joined #ruby
[12:51:13] Kilo`byte: has joined #ruby
[12:51:26] valetudo: has joined #ruby
[12:51:38] freerobby: has joined #ruby
[12:51:46] berserk_ren: has joined #ruby
[12:52:48] galuszkak: has joined #ruby
[12:53:01] galuszkak: hi! I have a question about accessing variables in templates in Jekyll. how to have something like site[en].myvariable ?
[12:53:53] dretnx: has joined #ruby
[12:54:57] jhack: has joined #ruby
[12:55:24] berserk_ren: has joined #ruby
[12:55:36] Kilo`byte: has joined #ruby
[12:57:04] kith: has joined #ruby
[12:58:45] Ebok: has joined #ruby
[13:00:18] Fernando-Basso: galuszkak: Is site[en] already resolving to something?
[13:01:06] tessi: has joined #ruby
[13:02:30] antgel: has joined #ruby
[13:04:16] bob434: has joined #ruby
[13:04:19] Fernando-Basso: I set variables the front mater simply doing myvar: 'my val'.
[13:04:43] skade: has joined #ruby
[13:05:00] Fernando-Basso: and then I do something like {% if post.myvar == 'some val' %} ... {% endif %}
[13:05:03] Tempesta: has joined #ruby
[13:05:41] charliesome: has joined #ruby
[13:05:52] GodFather: has joined #ruby
[13:08:29] shazaum_: has joined #ruby
[13:08:43] edwinvdgraaf: has joined #ruby
[13:09:06] galuszkak: Fernando-Basso: I probably make mistake. I meant site[site.lang].myvariable
[13:09:12] galuszkak: where site.lang is for example en
[13:10:10] galuszkak: it doesn't work for me and I'm not sure why (probably because my poor knowledge of jekyll and ruby
[13:10:17] Gasher: has joined #ruby
[13:10:50] moeabdol: has joined #ruby
[13:14:50] Polysics_: has joined #ruby
[13:16:24] bronson: has joined #ruby
[13:17:45] Pupeno: has joined #ruby
[13:18:51] nanoz: has joined #ruby
[13:19:10] sandelius: has joined #ruby
[13:20:01] galuszkak: Fernando-Basso: sorry for bothering I solved it. I just overwrite this key with something else. Didn't pay attention. Apologise for wasting your time :)
[13:20:33] Fernando-Basso: I'm glad it worked.
[13:20:59] mikecmpbll: has joined #ruby
[13:21:23] Aviio: has joined #ruby
[13:26:23] Fernando-Basso: The initialize method does not show up in MyClass.methods(false) nor in MyClass.instance_methods(false). Why?
[13:28:17] chipotle: has joined #ruby
[13:29:42] cpup: has joined #ruby
[13:30:17] cajone: has joined #ruby
[13:32:37] Devalo: has joined #ruby
[13:34:34] DEA7TH: has joined #ruby
[13:34:59] charliesome: has joined #ruby
[13:36:08] Abhijit: has joined #ruby
[13:36:34] spider-mario: has joined #ruby
[13:36:56] Abhijit: i am trying to convert input text file array into variable array here https://gist.github.com/abhijitnavale/35b8c466d0bc562de15ae682c699bb97 but i get error syntax error, unexpected end-of-input, expecting keyword_end for line 12 and 15
[13:38:41] Fernando-Basso: You closed the `do` block and not the if block.
[13:39:26] Abhijit: if block is closed after "i++"
[13:39:40] Fernando-Basso: You forgot to close the `do` block then.
[13:39:48] dc3: has joined #ruby
[13:40:02] Abhijit: there are two "end" one before i++ and one after. first ends do second ends if
[13:40:15] Fernando-Basso: That is one of the few things I dislike about ruby.
[13:40:41] Fernando-Basso: I strongly believe that endif; enddo; endfor would be more readable and less error prone.
[13:41:13] spider-mario: has joined #ruby
[13:41:34] Fernando-Basso: Anyway, I do believe you need another `end`.
[13:42:50] william3: has joined #ruby
[13:45:21] ferr: has joined #ruby
[13:46:35] Fernando-Basso: Also, i++ is wrong.
[13:46:40] Fernando-Basso: You'll have to do i += 1
[13:48:24] Fernando-Basso: There are some other problems as well, but you'll fix them as you get those `end` working.
[13:48:33] Abhijit: Fernando-Basso, why its wrong and not just another way?
[13:48:57] Fernando-Basso: Ruby doesn't support the ++ or -- syntax.
[13:49:31] Fernando-Basso: for incremeting and decrementing. Not for postfix operations neither for prefix operations.
[13:49:43] Fernando-Basso: ++i or i-- is invalid in ruby.
[13:50:10] apeiros: well, you can do ++i, it just won't increment.
[13:50:16] apeiros: >> i = ++5
[13:50:17] ruby[bot]: apeiros: # => 5 (https://eval.in/558718)
[13:50:38] apeiros: it's unary +/- in that case.
[13:51:08] Abhijit: word = Array.new is it right for "Dynamic" multideminsional array?
[13:51:38] charliesome: has joined #ruby
[13:51:49] baweaver: has joined #ruby
[13:53:54] apeiros: Array.new will just create an empty array.
[13:54:55] triangles: has joined #ruby
[13:55:08] crdpink: has joined #ruby
[13:55:23] apeiros: if you don't pass any argument to Array.new, you should just use [] instead
[13:57:00] bradleyprice: has joined #ruby
[13:57:25] hackeron: hi there, I'm trying to talk to a serial controller, the instructions say that byte 6 is the high byte checksum - s=(byte)SUM(2;5) CRC_H=0b1000_s7_s6_s5_s4 -- any ideas how to calculate this?
[13:59:24] rbennacer: has joined #ruby
[14:02:29] apeiros: hackeron: whats SUM(2;5) supposed to do?
[14:04:32] freerobby: has joined #ruby
[14:05:45] hackeron: apeiros: I'm not sure, it is what the instructions say: https://www.dropbox.com/s/3212f6s3dw0vvvl/Screen%20Shot%202016-04-24%20at%2019.33.05.png?dl=0
[14:05:56] idle_task: has joined #ruby
[14:06:09] hackeron: apeiros: but I am guessing maybe adding the values of bytes 2 to 5?
[14:06:15] hackeron: (binary values)
[14:07:13] rbennacer: has joined #ruby
[14:07:39] apeiros: then 6. and 7. would be identical. that doesn't seem to make sense.
[14:07:54] zast: has joined #ruby
[14:08:31] hackeron: apeiros: yeh, that's what I'm thinking, hmmm - but you have CRC_H=0b1000_s7_s6_s5_s4 and CRC_L=0b1000_s3_s2_s1_s0 - not quite sure what that means
[14:08:36] apeiros: you can get the numerical value of a byte in ruby using either .ord, or .unpack("C*"). the latter is useful to get multiple byte's values at once.
[14:08:55] symm-_: has joined #ruby
[14:10:17] bruce_lee: has joined #ruby
[14:10:54] Azure|dc: has joined #ruby
[14:12:29] MauBot77: has joined #ruby
[14:12:43] BlaDe^: has joined #ruby
[14:13:08] BlaDe^: hi all, trying to debug a build script which is ruby.... i'm getting: in `join': no implicit conversion of nil into String (TypeError)
[14:13:16] BlaDe^: from: File.join(cache_base, *group_id.split('.'), artifact_id, version)
[14:13:41] rbennacer: has joined #ruby
[14:14:12] BlaDe^: can I get a stacktrace or similar, easily?
[14:14:19] hackeron: apeiros: thank you, something like this? < '10E0'.unpack("C*").inject(:+) -- let me try that for both checksum values and see what happens, heh
[14:14:52] shinnya: has joined #ruby
[14:15:49] apeiros: hackeron: yes
[14:16:15] hackeron: apeiros: I think the chechsum might be duplicated because they need 8 bytes
[14:16:35] apeiros: they'd better leave on as null then IMO
[14:16:53] nemoNoboru: has joined #ruby
[14:16:54] apeiros: BlaDe^: by default, ruby gives you a backtrace on unrescued exceptions. if you don't get one, you did something to prevent it.
[14:17:10] apeiros: BlaDe^: but since you already know the expression - check which of the values is nil
[14:17:33] hackeron: apeiros: heh, I will send them some feedback if I get this working :)
[14:17:33] sdothum: has joined #ruby
[14:19:45] BlaDe^: apeiros: yeah, i'm just using puts to debug it but going backwards will take me a while, was wondering if there was a "set -x" or equivalent like bash has
[14:20:08] BlaDe^: version is nil, dunno why yet ;) passes for 40 other dependencies
[14:20:23] iaglium: has joined #ruby
[14:23:37] CausaMortis: has joined #ruby
[14:23:53] BlaDe^: scratch that... found it. Thanks apeiros :)
[14:24:08] Fernando-Basso: ruby -w may help some times.
[14:24:25] BlaDe^: good to know, next time i'll test that
[14:24:47] emilford: has joined #ruby
[14:25:17] flashpoint9: has joined #ruby
[14:25:57] flashpoint9: has joined #ruby
[14:27:40] Guest38: has joined #ruby
[14:28:26] n008f4g_: has joined #ruby
[14:28:55] flashpoint9: has joined #ruby
[14:30:39] symm-: has joined #ruby
[14:31:02] siaW: has joined #ruby
[14:34:49] RegulationD: has joined #ruby
[14:36:45] hiyosi: has joined #ruby
[14:37:29] hackeron: apeiros: doesn't seem to respond to that :( - but it says the checksum needs to be 1 byte, the sum is 3 bytes, hmmm - any ideas?
[14:39:38] spider-mario: has joined #ruby
[14:43:35] hxegon: has joined #ruby
[14:44:27] william3: has joined #ruby
[14:46:06] jrafanie: has joined #ruby
[14:48:22] xlegoman: has joined #ruby
[14:49:23] crdpink2: has joined #ruby
[14:50:26] crdpink2: has joined #ruby
[14:51:24] hackeron: apeiros: oh wait, I get it, I need to get the "high byte" of the integer - any ideas how to do that?
[14:51:33] Fernando-Basso: if initialize is an instance method, why doesn't MyClass.instance_methods list it?
[14:51:57] flashpoint9: has joined #ruby
[14:52:56] stannard: has joined #ruby
[14:53:36] tildes: has joined #ruby
[14:53:41] eam: hackeron: 32 or 64bit integer?
[14:54:29] rbennacer: has joined #ruby
[14:54:46] hackeron: eam: 32bit, so I have 214 - 3 bytes - I need to get the high and low byte of this integer
[14:55:19] nando293921: has joined #ruby
[14:56:37] shum: has joined #ruby
[14:56:46] freerobby: has joined #ruby
[14:57:22] eam: >> x = 2**25; [x >> 8, x >> 24]
[14:57:23] ruby[bot]: eam: # => [131072, 2] (https://eval.in/558779)
[14:57:31] tubuliferous: has joined #ruby
[14:59:12] hackeron: eam: no wait, I think it's 8bit, hmm
[14:59:37] eam: hackeron: if it's 8 bit it's only one byte
[14:59:49] eam: you can use & to mask parts, and >> to shift off the right side
[15:00:03] hackeron: eam: hmm, when I do serial.write(214) - it returns 3
[15:00:10] nanoz: has joined #ruby
[15:00:22] eam: that means you wrote three bytes
[15:00:27] sandelius: has joined #ruby
[15:00:32] mdw: has joined #ruby
[15:00:38] eam: you're passing a Fixnum to write() ?
[15:00:42] hackeron: eam: yeh, the documentation say to write 2 bytes - the high and low hbyte, hmm
[15:01:05] hackeron: eam: it's not super clear: https://www.dropbox.com/s/3212f6s3dw0vvvl/Screen%20Shot%202016-04-24%20at%2019.33.05.png?dl=0
[15:01:22] noService: has joined #ruby
[15:01:27] banister: has joined #ruby
[15:01:54] william3: has joined #ruby
[15:02:09] eam: hackeron: write() is converting the fixnum 1 into a string, this is probably not what you want
[15:02:24] eam: you're essentially doing write("1")
[15:04:14] eam: hackeron: you'll want to modify your number 214 according to your rules (take high and low byte) and then write that resulting string
[15:04:50] eam: the high byte of 214 is zero, the low byte of 214 is 214
[15:05:21] eam: so if you want to write the high byte, then low byte, it sounds like you want: write 0.chr + 214.chr
[15:06:20] hackeron: eam: ah, I see - that's where I am confused - how would I get that and do I write like serial.write(0x214)?
[15:06:38] eam: how do you get which part?
[15:07:06] hackeron: eam: how did you get 0 and 214?
[15:07:43] eam: how big can an 8 bit integer be?
[15:07:52] eam: what's 2**8?
[15:08:23] beatdown: has joined #ruby
[15:08:30] eam: 214 is smaller than this, which means the entire value rests within the first 8 bits of the integer
[15:08:45] eam: which means the low byte is 214, and all others are zero
[15:09:10] eam: >> 214 & 0xff
[15:09:11] ruby[bot]: eam: # => 214 (https://eval.in/558794)
[15:09:27] eam: & 0xff sets all bites in the number to zero, except the lowest 8
[15:09:52] eam: >> (1024 + 214) & 0xff
[15:09:53] ruby[bot]: eam: # => 214 (https://eval.in/558795)
[15:09:56] jaguarmagenta: has joined #ruby
[15:10:22] eam: if I set a higher bit (power of two, 2**10) the & 0xff will mask it off
[15:12:00] hackeron: eam: ah, ok, I need to read up a bit more eabout it like 0xff - but that makes sense thank you :) - but for some reason still not getting any response :(
[15:12:08] smoose: has joined #ruby
[15:12:10] eam: well, that's just to obtain the low bit
[15:12:16] eam: er, the low byte
[15:12:25] eam: you have to do something different to get the high byte
[15:12:46] eam: what kind of device are you talking to?
[15:13:22] hackeron: eam: it's a solar controller - I'm trying to do this: https://gist.github.com/xanview/432b9a1bce58de78d18ffc86185707f3 - the instructions are this: https://www.dropbox.com/s/3212f6s3dw0vvvl/Screen%20Shot%202016-04-24%20at%2019.33.05.png?dl=0
[15:13:58] eam: ok so, the first line -- you're not writing a "start byte" of 0x02
[15:14:02] eam: you need to write 0x02.chr
[15:15:16] eam: write(0x02) writes out a byte with a value of 50
[15:15:30] eam: write(0x02.chr) writes out a byte with a value of 2
[15:15:46] hackeron: eam: added .chr - still no response from the controller, hmm and thank you didn't know that :)
[15:15:57] hackeron: added .chr for start and end byte
[15:16:15] chouhoulis: has joined #ruby
[15:16:16] hackeron: probably doing the checksum wrong, hmm
[15:16:33] hackeron: not quite sure what s=(byte)SUM(2;5) CRC_H=0b1000_s7_s6_s5_s4 means
[15:16:36] eam: hackeron: the reason is, "2" is a character with a value of 50 (ascii)
[15:17:06] x77686d: has joined #ruby
[15:17:28] hackeron: eam: I see, so does it need to be 2.chr or 0x02.chr?
[15:17:34] eam: they're the same
[15:17:40] eam: >> 2 == 0x02
[15:17:41] ruby[bot]: eam: # => true (https://eval.in/558802)
[15:17:51] eam: 0x is just a way to write hexadecimal
[15:18:01] eam: which only matters once you have more than one digit
[15:18:20] bronson: has joined #ruby
[15:18:22] hackeron: ah :) - I thought 0x02 ould do the convertion, so good to know I need .chr :)
[15:18:50] eam: yeah, .chr takes any integer in ruby and converts it to the string representing the ordinal value
[15:19:04] eam: the thing to remember is that write() only takes strings (byte buffers)
[15:19:10] hackeron: makes sense - any ideas what I'm doing wrong in the checksum though?
[15:19:19] edwinvdgraaf: has joined #ruby
[15:19:20] eam: so if you give it a non-string it'll try to stringify it and that won't be what you want
[15:20:08] victortyau: has joined #ruby
[15:20:21] eam: ok looking at this doc - it doesn't just want the high or low bytes
[15:20:26] eam: it wants you to perform a checksum on them
[15:20:43] flashpoint9: has joined #ruby
[15:21:02] hackeron: eam: hmm? - it says checksum high byte and checksum low byte - for byte 6 and 7
[15:21:21] Tharbakim: has joined #ruby
[15:21:24] hxegon: has joined #ruby
[15:21:33] hackeron: eam: and it's saying to sum, so I just did '10E0'.unpack("C*").inject(:+).ord which I guess is wrong, heh
[15:22:02] eam: ah ok good, you're familiar with pack/unpack
[15:22:40] eam: it says CRC, are you familiar with CRC?
[15:22:45] hackeron: eam: to some extent, heh - but I'm guessing that's wrong :P
[15:22:57] eam: https://en.wikipedia.org/wiki/Cyclic_redundancy_check
[15:23:16] eam: do they perhaps give a concrete example of a formatted message?
[15:23:41] rbennacer: has joined #ruby
[15:23:45] hackeron: eam: nope, just those instructions and nothing else :( - I will ask them for one
[15:23:54] flashpoint9: has joined #ruby
[15:24:03] flashpoi_: has joined #ruby
[15:24:20] william3: has joined #ruby
[15:24:45] w1lson: has joined #ruby
[15:24:52] rkazak: has joined #ruby
[15:25:05] beawesomeinstead: has joined #ruby
[15:26:11] hackeron: eam: I'm guessing the instructions are not really enough to go by?
[15:26:35] eam: they might be, I'm just not familiar with that notation
[15:27:14] hackeron: eam: yeh -- s=(byte)SUM(2;5) CRC_H=0b1000_s7_s6_s5_s4 -- what the hell, lol?
[15:27:28] william3: has joined #ruby
[15:28:53] edwinvdgraaf: has joined #ruby
[15:29:21] eam: you'll need to know what kind of function that's describing
[15:29:56] eam: '10E0'.unpack("C*").inject(:+).ord
[15:30:03] spectra: has joined #ruby
[15:30:07] eam: this isn't going to give you the integer value of '10E0'
[15:30:37] eam: '10E0' would be 809840689
[15:30:44] naftilos76: has joined #ruby
[15:30:54] moeabdol: has joined #ruby
[15:31:12] hackeron: eam: since they asked to sum ascii, I figured I will sum the binary representation of the ascii characters?
[15:32:25] gizmore: has joined #ruby
[15:32:25] eam: yes, but it sounds like you'll be doing a checksum on them not just adding them together
[15:32:46] eam: your original value to extract the high byte from is '10E0', aka 809840689
[15:33:21] eam: the high byte is '1', aka ordinal value 49
[15:33:30] roelof: has joined #ruby
[15:34:05] zacstewart: has joined #ruby
[15:34:06] eam: (probably, we're getting into endianness -- I'm assuming this is just left to right)
[15:34:28] roelof: hello, I have a problem. I have to find the number closest to zero where if the distance is the same the positive number must be outputted
[15:34:30] hackeron: lol, fun times :) - and what would the low byte be?
[15:35:05] eam: >> '10E0'.unpack("C*") == [809840689 & 0xff, (809840689 >> 8 & 0xff), (809840689 >> 16 & 0xff), (809840689 >> 24 & 0xff)]
[15:35:06] ruby[bot]: eam: # => true (https://eval.in/558810)
[15:35:34] roelof: the first is not a problem. I can do this with : temp = temp.inject(temp.shift) { |number, solution| if solution.to_i.abs > number.to_i.abs then number else solution end }
[15:35:35] eam: '1' is 49, '0' is 48
[15:35:37] RegulationD: has joined #ruby
[15:36:28] roelof: how can I change this so the postive number is outputted when the input is ["5", "-5", 10] as a example
[15:37:50] hackeron: eam: so I should try p serial.write('1'.chr + '0'.chr)?
[15:38:10] rbennacer: has joined #ruby
[15:39:39] eam: well, you should figure out what the checksum function is
[15:40:14] hackeron: e argh, no resopnse to that either, hmm
[15:40:19] jonr22: has joined #ruby
[15:40:37] moeabdol: has joined #ruby
[15:45:34] Yiota: has joined #ruby
[15:46:18] cdg: has joined #ruby
[15:47:00] cdg: has joined #ruby
[15:48:22] banister: has joined #ruby
[15:49:58] zacstewart: has joined #ruby
[15:51:25] bahar: has joined #ruby
[15:51:25] bahar: has joined #ruby
[15:51:30] Cyrus: has joined #ruby
[15:52:34] spider-mario: has joined #ruby
[15:52:46] baweaver: has joined #ruby
[15:56:21] Guest38: has joined #ruby
[15:56:57] aswen: has joined #ruby
[15:57:11] Zarthus: roelof: loop over the stay, store the highest number in a variable?
[15:58:24] roelof: Zarthus: I do not have to find the higest one , I have to find the number which is closets to zero. That is what the inject is doing.
[15:59:04] roelof: but when there are 2 numbers which are equal distance to zero. I have to store the positive number
[15:59:13] roelof: or do I misunderstood you /
[15:59:27] Zarthus: the same approach applies, but instead you check the difference?
[16:00:00] benzrf: list.min_by(&:abs) perhaps?
[16:01:15] Zarthus: >> a = 6; [7,8,9,2,3,4,5].each { |i| a = i.abs > a ? a : i.abs }; a
[16:01:20] Zarthus: if I understand your issue correctly
[16:02:14] Zarthus: there's ways to optimize that, but if the result is wrong (2 in this case; ruby[bot] has problems seeing me being logged in :<) maybe I misunderstood
[16:02:56] roelof: Zarthus: moment, I will fire up a repl
[16:04:29] roelof: it seems to work : when I do a = 6; [7,8,9,2,3,4,-2].each { |i| a = i.abs > a ? a : i.abs }; a . it still gives 2 instead of -2 :)
[16:05:13] Zarthus: roelof: store just i, not i.abs then
[16:05:23] n008f4g_: has joined #ruby
[16:05:58] al2o3-cr: roelof: what's up with benzrf solution?
[16:06:00] Zarthus: problem is you'll also need to call a.abs then
[16:06:58] roelof: the solution seems to work except when all numbers are negative : a = 6; [-7,-8,-9,-4,-3,-4,-2].each { |i| a = i.abs > a ? a : i }; a
[16:07:12] roelof: then it gives -4 as answer where -2 is the right one
[16:07:33] PedramT: has joined #ruby
[16:07:34] al2o3-cr: >> [-7,-8,-9,-4,-3,-4,-2].min_by(&:abs) roelof ????
[16:07:35] ruby[bot]: al2o3-cr: # => /tmp/execpad-c8b80aec3167/source-c8b80aec3167:2: syntax error, unexpected tIDENTIFIER, expecting key ...check link for more (https://eval.in/558818)
[16:07:38] al2o3-cr: >> [-7,-8,-9,-4,-3,-4,-2].min_by(&:abs) #roelof ????
[16:07:39] ruby[bot]: al2o3-cr: # => -2 (https://eval.in/558819)
[16:08:57] al2o3-cr: >> [7,8,9,2,3,4,-2].min_by(&:abs)
[16:08:59] ruby[bot]: al2o3-cr: # => 2 (https://eval.in/558820)
[16:09:46] roelof: al2o3-cr: that seems to work on all cases
[16:10:18] al2o3-cr: roelof: yeah, benzrf told you this 10 line back :P
[16:11:22] mjuszczak: has joined #ruby
[16:13:05] PedramT: has joined #ruby
[16:13:16] bob434: has joined #ruby
[16:13:24] w1lson: has joined #ruby
[16:14:35] roelof: benzrf: I apolize then
[16:15:49] Xeago: has joined #ruby
[16:19:11] benlieb: has joined #ruby
[16:19:17] bronson: has joined #ruby
[16:19:36] sandelius: has joined #ruby
[16:19:54] Yiota: has joined #ruby
[16:25:14] Polysics: has joined #ruby
[16:26:55] matthew0: has left #ruby: ()
[16:29:55] KensoDev: has joined #ruby
[16:30:23] Spami: has joined #ruby
[16:30:25] lxsameer: has joined #ruby
[16:30:25] lxsameer: has joined #ruby
[16:32:52] solocshaw: has joined #ruby
[16:32:52] kareeoleez: has joined #ruby
[16:33:15] edwinvdgraaf: has joined #ruby
[16:34:01] shayan_: has joined #ruby
[16:35:11] Ishido: has joined #ruby
[16:37:57] jaguarmagenta: has joined #ruby
[16:44:18] chipotle: has joined #ruby
[16:48:54] shevy: let's all apolize
[16:50:08] victortyau: has joined #ruby
[16:51:52] tribals: has joined #ruby
[16:51:58] tribals: how to clear `*.o` files for built native extensions for all bundled gems?
[16:52:00] fedexo: has joined #ruby
[16:52:08] kirun: has joined #ruby
[16:53:39] kareeoleez: has joined #ruby
[16:54:03] tribals: in project i currently worked on gems directory gorges about half a GB, i thin it is too much
[16:54:33] skade: has joined #ruby
[16:55:27] dekonix: has joined #ruby
[17:00:07] R\w\C: has joined #ruby
[17:01:49] shevy: half a gig
[17:04:28] tribals: shevy: yep
[17:04:49] apeiros: hackeron: ah, I get it. I guess you solved it by now?
[17:04:55] shevy: a trivial way would be via Dir['**/**/*.o'] or something like that (probably test in irb first), then just File.delete() on the results there
[17:12:02] Cohedrin: has joined #ruby
[17:13:29] w1lson: has joined #ruby
[17:15:40] adaedra: tribals: a simple `find` in the folder should do it, I guess
[17:15:51] Cohedrin_: has joined #ruby
[17:16:52] adaedra: something like `find ~/.gem -name '*.o' -delete`
[17:18:10] adaedra: (or any other directory in place of ~/.gem)
[17:18:55] rbennacer: has joined #ruby
[17:22:24] w1lson: has joined #ruby
[17:22:56] smathy: has joined #ruby
[17:23:07] PedramT: has joined #ruby
[17:23:23] Dimik: has joined #ruby
[17:24:21] tribals: thank you all
[17:24:42] ixti: has joined #ruby
[17:25:34] douglass1: has left #ruby: ()
[17:26:48] Polysics: has joined #ruby
[17:27:15] al2o3-cr: has joined #ruby
[17:27:48] Devalo: has joined #ruby
[17:28:17] rbennacer: has joined #ruby
[17:29:12] cdg_: has joined #ruby
[17:29:29] skweek: has joined #ruby
[17:29:55] lxsameer: has joined #ruby
[17:30:19] elifoster: has joined #ruby
[17:30:33] flashpoint9: has joined #ruby
[17:31:43] freerobby: has joined #ruby
[17:32:17] hxegon: has joined #ruby
[17:32:32] Underdogg: has joined #ruby
[17:34:25] mhib: has joined #ruby
[17:35:48] rht: has joined #ruby
[17:36:28] RegulationD: has joined #ruby
[17:36:36] anisha_: has joined #ruby
[17:37:26] rbennacer: has joined #ruby
[17:38:06] rbennacer: has joined #ruby
[17:38:18] baweaver: has joined #ruby
[17:39:52] jrafanie: has joined #ruby
[17:41:24] rbennacer: has joined #ruby
[17:43:17] kareeoleez: has joined #ruby
[17:43:26] sandelius: has joined #ruby
[17:47:33] weemsledeux: has joined #ruby
[17:47:35] bradleyprice: has joined #ruby
[17:50:54] PedramT: has joined #ruby
[17:51:20] jaguarma_: has joined #ruby
[17:51:39] shevy: does anyone happen to know if we have a survey specifically only for ruby people e. g. who write ruby code, what editor is the most prevalent one?
[17:52:00] dmr8: has joined #ruby
[17:54:39] siaw_: has joined #ruby
[17:57:47] flashpoint9: has joined #ruby
[17:58:18] al2o3-cr: has joined #ruby
[17:58:27] mdw: has joined #ruby
[18:03:50] Redfoxmoon: has joined #ruby
[18:04:36] Redfoxmoon: ... how do I solve 'ld: -f may not be used without -shared'? appending -shared to the makefile makes it crash with a whole heap of undefined references
[18:05:32] ule: has joined #ruby
[18:06:27] ule: I'm studying ruby here and finally got to Procs and Lambdas
[18:06:42] ule: trying to figure out these idea
[18:08:12] n008f4g_: has joined #ruby
[18:08:55] jaguarmagenta: has joined #ruby
[18:09:11] edwinvdgraaf: has joined #ruby
[18:09:26] arashb: has joined #ruby
[18:11:26] jrafanie: has joined #ruby
[18:13:30] shevy: ule yeah it is not the easiest; but Proc.new and lambda {} is fairly similar, so understand one and you have the other covered too in one strike
[18:14:10] xlegoman_: has joined #ruby
[18:14:30] rht: has joined #ruby
[18:15:37] Cohedrin: has joined #ruby
[18:16:33] davedev24: has joined #ruby
[18:17:33] tvon: has joined #ruby
[18:17:50] tvon: Does anyone have an opinion on a great example of a json api client in ruby?
[18:17:59] tvon: e.g., the github api gem or something along those lines.
[18:18:22] navneet: has joined #ruby
[18:18:54] dh64: has joined #ruby
[18:18:56] deadnull: has joined #ruby
[18:19:02] flashpoint9: has joined #ruby
[18:19:41] charliesome: has joined #ruby
[18:20:56] bronson: has joined #ruby
[18:21:49] nofxx: has joined #ruby
[18:21:49] nofxx: has joined #ruby
[18:24:07] berserk_ren: has joined #ruby
[18:28:01] GodFather: has joined #ruby
[18:28:23] Polysics: has joined #ruby
[18:29:05] lxsameer: has joined #ruby
[18:32:09] solars: has joined #ruby
[18:33:34] ruby-lang227: has joined #ruby
[18:34:35] bob434: has joined #ruby
[18:35:36] Polysics: has joined #ruby
[18:36:55] william3: has joined #ruby
[18:37:26] LoneHermit: has joined #ruby
[18:39:09] baweaver: has joined #ruby
[18:39:54] moeabdol: has joined #ruby
[18:43:58] baweaver: has joined #ruby
[18:45:29] jaguarma_: has joined #ruby
[18:47:38] mdw: has joined #ruby
[18:49:37] wilbert: has joined #ruby
[18:50:05] william3: has joined #ruby
[18:50:44] charliesome: has joined #ruby
[18:50:46] perturbation: has joined #ruby
[18:50:56] bradleyprice: has joined #ruby
[18:52:05] tessi: has joined #ruby
[18:53:00] chouhoulis: has joined #ruby
[18:53:33] mexis: has joined #ruby
[18:53:44] w1lson: has joined #ruby
[18:54:04] Don_John: has joined #ruby
[18:54:56] brianpWins: has joined #ruby
[18:55:38] tildes: has joined #ruby
[18:59:10] flashpoint9: has joined #ruby
[18:59:41] perturbation: has joined #ruby
[19:02:59] Rubie: has joined #ruby
[19:03:01] shevy: hmm do we still have $SAFE ?
[19:03:29] tax: has joined #ruby
[19:04:36] Rubie: hi all: im wondering if there is a more elegant way to parse a JSON api. The problem is if I dont get back a field I'm querying for, I dont want to error out. So i have some extra ogic to make sure its there first, just trying to find something simpler. Here is what I mean https://gist.github.com/anonymous/e25683e35199336250617c10bb65d112
[19:07:05] victortyau: has joined #ruby
[19:07:40] tomphp: has joined #ruby
[19:08:35] smathy: rubie, are you using ruby 2.3 yet?
[19:08:50] djbkd: has joined #ruby
[19:08:55] spider-mario: has joined #ruby
[19:09:51] Ebok: has joined #ruby
[19:11:32] skade: has joined #ruby
[19:11:35] SilverKey: has joined #ruby
[19:13:24] Rubie: smathy: no not on this particular project
[19:16:52] smathy: rubie, ok I've commented in your gist with how I do these sorts of things.
[19:17:02] Rubie: smathy: thanks!
[19:17:35] smathy: rubie, you should feel free to use parens and && if you prefer not to rely on operator precedence (which I'll admit the majority of people prefer not to).
[19:19:08] smathy: rubie, note also that I assign even if givenName and familyName are falsey (ie. nil), so it's slightly different to your code because both `firstname` and `lastname` will be `defined?` (although falsey still) in my example whereas in yours they won't be `defined?`
[19:19:35] smathy: rubie, I avoid using `defined?` tests, but if you're using those then be warned.
[19:19:41] sdothum: has joined #ruby
[19:20:03] nerium: has joined #ruby
[19:22:54] karapetyan: has joined #ruby
[19:24:00] johnny56: has joined #ruby
[19:27:25] sdothum: has joined #ruby
[19:31:14] Rodya_: has joined #ruby
[19:32:46] spider-mario: has joined #ruby
[19:32:59] flashpoint9: has joined #ruby
[19:33:09] gigetoo: has joined #ruby
[19:33:44] IrishGringo: has joined #ruby
[19:33:44] skade: has joined #ruby
[19:33:44] S1kx: has joined #ruby
[19:35:23] pawnbox: has joined #ruby
[19:35:29] bobbycvi: has joined #ruby
[19:37:01] JagaJaga: has joined #ruby
[19:37:17] RegulationD: has joined #ruby
[19:41:29] sdothum: has joined #ruby
[19:42:37] flashpoint9: has joined #ruby
[19:44:54] w1lson: has joined #ruby
[19:45:37] AustinMatherne: has joined #ruby
[19:45:40] jokke: is it possible to pass a scope or `self` to block.call?
[19:46:17] banister: has joined #ruby
[19:46:45] w1lson: has joined #ruby
[19:46:54] Gasher: has joined #ruby
[19:47:16] adaedra: &ri instance_exec
[19:47:16] `derpy: http://ruby-doc.org/core-2.3.0/BasicObject.html#method-i-instance_exec
[19:47:26] Rodya_: has joined #ruby
[19:51:23] jokke: thank you
[19:51:27] jokke: work's like a charnm
[19:53:24] chipotle: has joined #ruby
[19:54:29] cdg: has joined #ruby
[19:55:42] spider-mario: has joined #ruby
[19:55:43] Rodya_: has joined #ruby
[19:56:11] pawnbox: has joined #ruby
[19:56:16] sneakerhax: has joined #ruby
[19:56:34] n008f4g_: has joined #ruby
[19:57:56] freerobby: has joined #ruby
[19:58:15] cpup: has joined #ruby
[19:58:41] bradleyprice: has joined #ruby
[20:00:20] tomphp: has joined #ruby
[20:00:30] sdothum: has joined #ruby
[20:01:14] karapetyan: has joined #ruby
[20:01:37] Pupeno: has joined #ruby
[20:01:44] duderonomy: has joined #ruby
[20:02:26] william3: has joined #ruby
[20:04:23] w1lson: has joined #ruby
[20:05:16] aef: has joined #ruby
[20:05:21] AustinMatherne: has joined #ruby
[20:05:53] w1lson: has joined #ruby
[20:06:27] jaguarmagenta: has joined #ruby
[20:07:37] william3: has joined #ruby
[20:08:20] Devalo: has joined #ruby
[20:09:18] nerium: has joined #ruby
[20:09:54] tomphp: has joined #ruby
[20:11:18] cpup: has joined #ruby
[20:12:16] sdothum: has joined #ruby
[20:13:11] Cohedrin_: has joined #ruby
[20:14:30] Gasher: has joined #ruby
[20:16:41] pawnbox: has joined #ruby
[20:17:57] IrishGringo: has joined #ruby
[20:22:39] freerobby: has joined #ruby
[20:22:44] bronson: has joined #ruby
[20:22:59] sdothum: has joined #ruby
[20:25:59] braincrash: has joined #ruby
[20:26:08] ur5us: has joined #ruby
[20:27:05] Moosashi: has joined #ruby
[20:28:50] tomphp: has joined #ruby
[20:28:51] w1lson: has joined #ruby
[20:31:45] w1lson: has joined #ruby
[20:32:28] yfeldblum: has joined #ruby
[20:32:30] hxegon: has joined #ruby
[20:35:24] sdothum: has joined #ruby
[20:36:31] Yiota: has joined #ruby
[20:37:15] pawnbox: has joined #ruby
[20:40:30] w1lson: has joined #ruby
[20:40:31] erict: has joined #ruby
[20:41:00] Cohedrin: has joined #ruby
[20:41:19] bob434: has joined #ruby
[20:41:25] sdothum: has joined #ruby
[20:43:18] bob434: has joined #ruby
[20:44:26] s00pcan_: has joined #ruby
[20:45:16] bob434: has joined #ruby
[20:45:51] diego1: has joined #ruby
[20:46:47] bkxd: has joined #ruby
[20:47:48] sphex: has joined #ruby
[20:49:02] djbkd: has joined #ruby
[20:50:21] Yiota: has joined #ruby
[20:51:56] IrishGringo: has joined #ruby
[20:52:58] RegulationD: has joined #ruby
[20:57:14] w1lson: has joined #ruby
[20:57:46] bkxd_: has joined #ruby
[20:57:48] pawnbox: has joined #ruby
[20:57:50] arashb: has joined #ruby
[20:58:14] Moosashi: has joined #ruby
[20:58:42] Cohedrin_: has joined #ruby
[20:58:51] cpup: has joined #ruby
[20:59:05] baweaver: has joined #ruby
[21:02:36] arashb: has joined #ruby
[21:03:01] benlieb: has joined #ruby
[21:04:47] victortyau: has joined #ruby
[21:05:06] tribals: has joined #ruby
[21:05:30] sdothum: has joined #ruby
[21:06:09] xingped: has joined #ruby
[21:06:35] tribals: why if specify path like `--path vendor/bundle` sometimes bundler installs gems into `vendor/bundle/ruby/<version>/gems` but sometimes directly into `vendor/bundle/gems`?
[21:07:47] Dry_Lips: has joined #ruby
[21:07:47] Dry_Lips: has joined #ruby
[21:09:02] sdothum: has joined #ruby
[21:09:22] cpup: has joined #ruby
[21:14:00] LoneHermit: has joined #ruby
[21:15:23] tessi: has joined #ruby
[21:18:02] Es0teric: has joined #ruby
[21:18:51] Fernando-Basso: https://eval.in/558960 What is the proper way to change case of strings like in the example? "CORAÇÃO".downcase produces "coraÇÃo".
[21:20:26] benzrf: welcome to improper unicode support~
[21:20:39] benzrf: you'd think it'd be better what with ruby originating in japan
[21:21:10] stannard: has joined #ruby
[21:22:24] apeiros: Fernando-Basso: use activesupport or one of the unicode gems
[21:23:10] gregf: has joined #ruby
[21:23:34] toretore: unicode_utils is pretty good
[21:23:57] gregf: has joined #ruby
[21:27:25] Fernando-Basso: My god. I have to use a gem to lowercase a string!
[21:28:39] charliesome: has joined #ruby
[21:29:40] slackbotgz: has joined #ruby
[21:30:52] A124: has joined #ruby
[21:31:14] william3: has joined #ruby
[21:31:37] IrishGringo: has joined #ruby
[21:31:43] Fernando-Basso: Thank you for activesupport and unicode_utils tips.
[21:31:48] Fernando-Basso: benzrf: Yes, I would.
[21:32:10] Fernando-Basso: It must be impossible to create a perfect programming language.
[21:32:18] Fernando-Basso: No one did so far.
[21:32:51] Fernando-Basso: I don't mean perfect in the sense that I like the way it works. I just mean perfect in the sense that it works.
[21:33:28] Fernando-Basso: In 2016 I would expect langs like php and ruby to really have perfect unicode support.
[21:33:28] charliesome: has joined #ruby
[21:34:13] apeiros: Fernando-Basso: same. it's a rather sad part in ruby.
[21:37:34] skade: has joined #ruby
[21:38:30] spider-mario: has joined #ruby
[21:38:50] LoganG: has joined #ruby
[21:39:12] ddv: has joined #ruby
[21:40:59] weaksauce: unicode is hard to do right.
[21:41:09] Fernando-Basso: In racket, (string-downcse "CORAÇÃO") just works.
[21:41:25] Fernando-Basso: weaksauce: I don't doubt or deny that.
[21:41:35] skweek: has joined #ruby
[21:41:44] Fernando-Basso: Just that ruby, being the all might lang it is...
[21:42:00] Devalo: has joined #ruby
[21:42:16] weaksauce: different language but highlights some of the issues you have to consider https://www.mikeash.com/pyblog/friday-qa-2015-11-06-why-is-swifts-string-api-so-hard.html
[21:42:24] Channel6: has joined #ruby
[21:42:36] sdothum: has joined #ruby
[21:42:48] darix: related as well: https://unspecified.wordpress.com/2012/04/19/the-importance-of-language-level-abstract-unicode-strings/
[21:43:34] nerium: has joined #ruby
[21:43:43] swills: has joined #ruby
[21:44:09] Fernando-Basso: Two interesting pieces of text to read, it seems!
[21:44:09] gregf: has joined #ruby
[21:44:53] Fernando-Basso: I never studied about how to design or create a programming language. All I know is that it is certainly not easy or simple.
[21:47:25] smathy: Such a shame that charsets didn't just always have the same offset from upper to lower.
[21:48:13] smathy: ...another one for the "when I'm dictator" list.
[21:49:16] alexherbo2: has joined #ruby
[21:49:40] djbkd: has joined #ruby
[21:49:45] rht: has joined #ruby
[21:49:49] _blizzy_: has joined #ruby
[21:49:54] existensil: has joined #ruby
[21:50:31] apeiros: smathy: not all languages have upper and lower chars in pairs
[21:50:41] apeiros: s/languages/scripts/
[21:50:47] pawnbox: has joined #ruby
[21:51:03] darix: Fernando-Basso: JFYI: the unicode gem does what you want: Unicode::downcase("CORAÇÃO")
[21:51:06] darix: => "coração"
[21:52:39] swills: has joined #ruby
[21:53:40] spider-mario: has joined #ruby
[21:57:30] KnownSyntax: has joined #ruby
[22:00:27] Rasi: has joined #ruby
[22:02:16] Rasi: has joined #ruby
[22:05:37] Rasi: has joined #ruby
[22:05:57] Rodya_: has joined #ruby
[22:06:41] Rodya_: has joined #ruby
[22:09:05] smathy: apeiros, yeah, so those scripts/chars wouldn't have an upper/lower-able flag set or something.
[22:09:39] smathy: ...I suppose it's just as easy to define the offset to the corresponding upper/lower as make the flag.
[22:11:14] mlakewood: has joined #ruby
[22:12:38] Cohedrin: has joined #ruby
[22:14:07] elifoster: has joined #ruby
[22:15:38] sdothum: has joined #ruby
[22:17:00] brianpWins: has joined #ruby
[22:19:45] skade: has joined #ruby
[22:23:50] alexherbo2: has joined #ruby
[22:24:41] bronson: has joined #ruby
[22:26:39] solocshaw1: has joined #ruby
[22:31:25] nando293921: has joined #ruby
[22:31:42] Guest59517: has joined #ruby
[22:32:52] moeabdol: has joined #ruby
[22:33:44] william3: has joined #ruby
[22:33:54] matp: has joined #ruby
[22:34:59] jbd70: has joined #ruby
[22:35:51] janebootydoe: has joined #ruby
[22:37:09] SpeedyPolecat: has joined #ruby
[22:37:15] _wwwbukolaycom: has joined #ruby
[22:37:19] benlieb: has joined #ruby
[22:38:03] diego1: has joined #ruby
[22:38:15] diego1: has joined #ruby
[22:38:41] rbr: has joined #ruby
[22:38:43] bronson: has joined #ruby
[22:39:24] Polysics: has joined #ruby
[22:39:34] SpeedyPolecat: has left #ruby: ()
[22:39:41] zenlot: has joined #ruby
[22:41:12] JoshGlzBrk: has joined #ruby
[22:47:56] Fernando-Basso: For me it is even stranger that 'ção.length is 3 but then 'ção'.upcase returns 'çãO'.
[22:49:56] firstdayonthejob: has joined #ruby
[22:50:25] rkazak: has joined #ruby
[22:50:28] djbkd: has joined #ruby
[22:52:49] Pupeno: has joined #ruby
[22:53:44] RegulationD: has joined #ruby
[22:54:39] brianpWins: has joined #ruby
[22:55:33] Spami: has joined #ruby
[22:57:13] Pupeno: has joined #ruby
[22:57:14] Pupeno: has joined #ruby
[22:57:19] Cohedrin_: has joined #ruby
[22:57:43] blackgoat: has joined #ruby
[23:00:13] baweaver: has joined #ruby
[23:02:56] diegoviola: has joined #ruby
[23:03:01] s00pcan_: has joined #ruby
[23:04:53] nando293921: has joined #ruby
[23:06:43] LoneHerm_: has joined #ruby
[23:07:11] bklane: has joined #ruby
[23:08:22] nando293921: has joined #ruby
[23:08:41] tAn: has joined #ruby
[23:12:59] IrishGringo: has joined #ruby
[23:13:18] pawnbox: has joined #ruby
[23:14:19] Emmanuel_Chanel: has joined #ruby
[23:14:51] Emmanuel_Chanel: has joined #ruby
[23:15:02] ramfjord: has joined #ruby
[23:16:16] ledestin: has joined #ruby
[23:16:38] diegoviola: has joined #ruby
[23:16:57] jaguarma_: has joined #ruby
[23:17:00] jdawgaz: has joined #ruby
[23:17:03] KnownSyntax: has joined #ruby
[23:18:36] n008f4g_: has joined #ruby
[23:18:45] s00pcan_: has joined #ruby
[23:18:58] Nanuq: has joined #ruby
[23:20:40] Rodya_: has joined #ruby
[23:21:56] flashpoint9: has joined #ruby
[23:22:24] ensyde: has joined #ruby
[23:22:44] w1lson: has joined #ruby
[23:23:21] Robtop__: has joined #ruby
[23:23:21] brianpWins_: has joined #ruby
[23:28:03] LoneHerm_: has joined #ruby
[23:28:04] weemsledeux: has joined #ruby
[23:29:17] Rodya_: has joined #ruby
[23:30:45] mnrmnaugh: has joined #ruby
[23:31:10] bradleyprice: has joined #ruby
[23:32:41] darkf: has joined #ruby
[23:33:12] baweaver: has joined #ruby
[23:35:20] william3: has joined #ruby
[23:36:47] thesheff17: has joined #ruby
[23:37:08] stannard: has joined #ruby
[23:38:22] Cohedrin: has joined #ruby
[23:40:32] bronson: has joined #ruby
[23:40:59] Polysics: has joined #ruby
[23:43:37] Devalo: has joined #ruby
[23:46:29] Arahael: Fernando-Basso: looks like they did it the easy way.
[23:46:40] Ox0dea: They're fixing it.
[23:46:54] Arahael: Fernando-Basso: but that's understandable: the correct way is reaaly, really hadd.
[23:46:58] Arahael: Ox0dea: impressive.
[23:47:26] Arahael: Fernando-Basso: consider, that the correct capitalisation depends on locale.
[23:49:26] Ox0dea: $ ruby -ve "p 'ção'.upcase :lithuanian"
[23:49:28] Ox0dea: ruby 2.4.0dev (2016-04-25 trunk 54753) [x86_64-linux]
[23:49:40] Ox0dea: They're just using `:lithuanian` for testing purposes at the moment, I think.
[23:49:54] Arahael: Ox0dea: impressive :) i like it.
[23:50:23] Ox0dea: arahael: So many corner cases!
[23:50:38] Ox0dea: But they got Greek sorted out, so I'm happy. :)
[23:50:56] Arahael: Ox0dea: and they won't all be covered! the corner cases will doubtless chage, too!
[23:51:17] Ox0dea: Thanks, Tower of Babel.
[23:51:47] bkxd: has joined #ruby
[23:51:48] Arahael: but, stil., humans are flexible. getting 90% or even 95% there could be good. but these days i pretend that unicode strings are fully opaque.
[23:52:32] djbkd: has joined #ruby
[23:52:34] Arahael: i try to avoid doing anything except bytewise equality.
[23:53:00] Arahael: ... and maybe collation.
[23:53:23] hxegon: has joined #ruby
[23:57:34] RahulT: has joined #ruby
[23:59:44] benzrf: >>> 'ção'.upper()
[23:59:51] benzrf: cmon ruby, python is kickin your ass
[23:59:54] postmodern: has joined #ruby