Page 1 of 119 | Next »
[09:03:03] dminuoso: Im trying to effectively build a phoenix app inside Docker and Im getting some bizarre problems about the phoenix digester not finding Jason: https://gist.github.com/dminuoso/6a855cfa153f2b2a422317f98fcf0c3d
[09:13:39] dminuoso: Wow! Okay I figured it out. The difference between copying from `foo/` and `foo`. :)
[11:07:22] dminuoso: Specifically I see some mention of `gem install ... -- --build-flags [options]` but the behavior of those build flags is not clearly documented.
[13:33:03] dminuoso: adam12: Gotcha, I was already on that track patching a rather silly written library ruby-oci8 which simply fails to build on nix because the author thought it would be nice to deprecate and remove any dir_config controllable --with-oracle-instantclient flags..
[13:37:36] dminuoso: At least LD_LIBRARY_PATH is patchable with no effort. On nix I dont even have /sbin and some packages have hardcoded paths for that..
[14:14:16] dminuoso: ariedler_: redux is the easiest part of those, redux-thunk is a completely useless library that is not needed at all (people using or advertising is are just 100% proof they did not understand redux at all)
[14:18:22] dminuoso: ariedler_: All it does for you is reinject dispatch. Guess what, connect already does that for you.
[14:18:50] dminuoso: ariedler_: It's a 14 LoC library that is used because Web developers seem to have this invisible barrier preventing them from understanding what they use.
[14:22:07] dminuoso: ariedler_: Essentially it boils down to: I have a store. How do I dispatch a message to it?
[08:24:47] dminuoso: I mean yeah I guess I can just pattern match on the conn and extract the body and params manually, it'd been much nicer if phoenix didn't pretend that throwing both into one argument was "the right thing to do"
[11:22:05] dminuoso: Ecto queryables are constructed using `from u in "blah"`... what is that `in` inside there? Is that just a fragment of macro-based DSL?
[07:26:57] dminuoso: duoi: Just use a database driver directly? Ecto is not necessary in any way you know.
[07:35:25] dminuoso: I never understood why all the hipster web boys are so afraid of a domain specific language that is actually not so bad.
[07:35:48] dminuoso: Sure, the syntax is a bit verbose, but it directly translates to relational algebra.
[07:37:24] dminuoso: And in larger companies you may have database teams that know SQL but not this weird ecto macro magic.
[10:13:39] dminuoso: cmk_zzz: I have come to my senses years ago and stopped relying on ORMs. They just get in the way, lead to terrible query generation, force you to figure out how to solve problems using badly-to-no documented languages..
[12:50:07] dminuoso: https://gist.github.com/dminuoso/ee59f93a72fee619d74d194b168310a5 <- can someone point out to me what is happening here? The erlang in my environment is Erlang/OTP 21.
[12:52:12] dminuoso: dysfun: Yes. I was under the impression that the nix package for hex2nix was not broken that it wouldn't do exactly this.
[12:54:58] dminuoso: dysfun: When I asked about "You mean the hex2nis application itself" I meant: "So you are saying that hex2nix is compiled using a different erlang than the ssl module in my nix store"?
[13:00:21] dminuoso: dysfun: Okay I originally assumed as much, dismissed this because I was under wrong assumptioned.
[16:33:32] dminuoso: Or do I really have to implement the Ecto.Type behavior in some shallow module that... doesnt do anything?
[23:01:02] dminuoso: danieli: Im trying to compensate for the lack of specificity in their question.
[07:25:43] dminuoso: Mmm. Given a phoenix app with migrations, is there an elegant approach to triggering rollbacks through say gitlab-ci?
[07:27:12] dminuoso: I feel that I should be tracking the ecto version in a file in my repo, and then have the deploy script detect whether a migrate or rollback is needed.
[08:22:10] dminuoso: OliverMT: I have the advantage that downtime is acceptable in migration time (this is kind of crucial, since it avoids all kinds of consistency issues that would arise)
[08:22:31] dminuoso: OliverMT: Where do you propose these actions are carried out? Directly inside ecto migrations?
[11:50:58] dminuoso: OliverMT: How do you do rollback/migrate detection? (It would be wonderful to have a singular migrateTowards command that works in both directions)
[11:04:56] dminuoso: dysfun: "Where is *the* code that..." suggests that there is some canonical code that provokes that error message. Surely kapil____'s code is not the canonical code here.
[14:33:48] dminuoso: dch: It's not about "QT is too hard". Having to install a Qt application just to use some service is complicated.
[14:34:27] dminuoso: dch: What about dependencies? Suddenly you are looking at shipping an entire C++ runtime and half a dozen other libraries. How will that conflict with existing libraries?
[14:38:05] dminuoso: dch: Unless you are on nix the linux concept of shared library is downright horrible.
[14:44:06] dminuoso: dysfun: virtual memory includes shared libraries and memory that is not paged in.
[14:45:49] dminuoso: And the residential memory includes shared memory too. So the actual footprint of some random process is much smaller.
[06:31:41] dminuoso: NameError: undefined local variable or method `getXTime' for main:Object; Did you mean? getXTime
[09:49:19] dminuoso: dionysus69: while some classical http might do something like: Request -> Result, ajax just turns it into: Request -> Promise Result
[14:04:48] dminuoso: amperry: The one line entry will just start a script, the script probably wont be a one-liner.
[14:08:33] dminuoso: amperry: Consider that you want at minimum: Detect running state. Cleanup if necessary. Pushing into prometheus/syslog the state that you had to kill and respawn. Do the respawn action.
[14:21:40] dminuoso: amperry: Do you use upstart? systemd? Or perhaps do you have a docker based setup?
[14:23:23] dminuoso: amperry: the idea of "it died" can be resolved with "throw the container away and make a new one"
[07:47:24] dminuoso: za1b1tsu: When your app cant load its dependencies, do you think it's problematic?
[09:40:49] dminuoso: dionysus69: https://ruby-doc.org/stdlib-2.5.1/libdoc/objspace/rdoc/ObjectSpace.html#method-c-trace_object_allocations
[05:31:05] dminuoso: havenwood: So that bug yesterday happened when I closed the lid of my macbook *while* running `bundle install` in a docker container.
[06:08:49] dminuoso: LiftLeft: Without knowing what you consider "good", "useful" or actually need, it's hard to say really.
[06:09:43] dminuoso: The airplane easiest to fly with might not be the best to transport 10 cars with.
[06:09:53] dminuoso: The airplane easiest to fly with might not be the best to transport 600 people with.
[08:12:57] dminuoso: za1b1tsu: Seeing as I was instrumental to you getting the job, it would only be fair if I get say 20% of your salary.
[08:15:51] dminuoso: za1b1tsu: I can write you a bill for wedding consulting services. Would that do the job?
[08:16:53] dminuoso: 09:29 havenwood | za1b1tsu: You might suggest to them that using therubyracer to embed a V8 into Ruby isn't necessary when Node.js is available. Just using Node.js is preferable and should *just work*.
[08:17:05] dminuoso: havenwood: What if you wanted therubyracer to run RuScript to execute your ruby program?
[08:26:53] dminuoso: za1b1tsu: There better be a cake. And a thick envelope under the nametag "dminuoso"
[08:35:01] dminuoso: drale2k_: PUT differs from POST in that `PUT` can replace an existing resource.
[08:35:48] dminuoso: drale2k_: PUT is kind of like some "create or replace". That replace notion is also important, as you dont specify a diffset, but you rather specify the full representation of the new resource.
[13:08:02] dminuoso: tbuehlmann: Oh man I actually wanted to write that, but then decided that they are not worthy of my humor.
[15:24:55] dminuoso: jeromelanteri: There are some people that frequently use this channel to avoid learning Ruby or programming in general themselves.
[15:25:42] dminuoso: jeromelanteri: That person is such an example, and I strongly refuse to assist their behavior.
[09:05:35] dminuoso: Is there some defacto prometheus instrumentation library for rack/rails? Or do I really have to roll my own?
[10:07:57] dminuoso: But I guess any security good enough to protect my administrative endpoints should be good enough to protect some /metrics endpoint
[11:36:45] dminuoso: tbuehlmann: I decided to expose the metrics inside a custom made controller, its a bit annoying still because..
[11:37:20] dminuoso: Authors must have taken https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition seriously
[15:01:24] dminuoso: bijan_: bootstrap is fine if you want to develop quickly and dont care about the app looking generic.
[15:11:00] dminuoso: But then again my hate for webdev runs so deep that I enjoy every minute I can do other things nowadays.
[15:12:29] dminuoso: bijan_: Im kicking so much web tech atm.. we have 2 rails apps remaining, one will be ported to haskell, possibly with some purescript for frontend things.
[15:12:41] dminuoso: the remaining rails app will probably stick around because its just too big to port.
[15:13:10] dminuoso: And I started moving things into server side as much as possible so I dont have to deal with the frustrating bit of client side development.
[15:56:54] dminuoso: Is there a way to have bundler only build a specific dependency from a Gemfile?
[15:57:36] dminuoso: In particular I want to use build the dependencies in multiple docker layers as to not screw myself too much when I decide to add a dependency.
[16:24:53] dminuoso: havenwood: I suppose I could at least toss the native extensions into a group..
[17:00:42] dminuoso: invalid gem: package is corrupt, exception while verifying: undefined method `size' for nil:NilClass (NoMethodError) in /usr/local/bundle/cache/ruby-oci8-22.214.171.124.gem
[13:49:14] dminuoso: gray_-_wolf: Regardless of what you do, there's enough backdooring to undo what you do.
[13:49:52] dminuoso: gray_-_wolf: If you just want some basic "I dont want to shoot myself" protection, what you wrote is the best you can get.