jdev - 2019-11-11


  1. Daniel has left

  2. Daniel has joined

  3. UsL has left

  4. aj has joined

  5. Daniel has left

  6. lksjdflksjdf has left

  7. Daniel has joined

  8. Daniel has left

  9. debacle has left

  10. Daniel has joined

  11. Daniel has left

  12. Daniel has joined

  13. Daniel has left

  14. Daniel has joined

  15. Daniel has left

  16. aj has left

  17. Daniel has joined

  18. Daniel has left

  19. Daniel has joined

  20. Daniel has left

  21. Daniel has joined

  22. Daniel has left

  23. Daniel has joined

  24. Daniel has left

  25. Daniel has joined

  26. rion has left

  27. rion has joined

  28. Daniel has left

  29. wurstsalat has joined

  30. Daniel has joined

  31. skyfar has joined

  32. Daniel has left

  33. Daniel has joined

  34. skyfar has left

  35. aj has joined

  36. marc0s has left

  37. marc0s has joined

  38. debacle has joined

  39. asterix has joined

  40. goffi has joined

  41. goffi has left

  42. goffi has joined

  43. asterix has left

  44. asterix has joined

  45. Alex has left

  46. Alex has joined

  47. Daniel has left

  48. Daniel has joined

  49. asterix has left

  50. asterix has joined

  51. debacle has left

  52. skyfar has joined

  53. lksjdflksjdf has joined

  54. debacle has joined

  55. sonny has left

  56. boss has joined

  57. boss has left

  58. debacle

    Which is the best XMPP library for golang? No abandonware, please. (cross-question with xmpp:golang@conference.samwhited.com?join)

  59. jonas’

    I use mellium.im/xmpp

  60. debacle

    jonas’ anything good or bad to say about it? :-)

  61. debacle

    is it like aioxmpp, but in golang?

  62. debacle

    I also found Jackal, the XMPP server written in Go, which does not seem to use an external XMPP library. Interesting.

  63. jonas’

    debacle, it was the least bad I could find

  64. jonas’

    but they’re all incomplete and rather low-level

  65. Zash

    debacle: Got some project or looking for XMPP things to package?

  66. debacle

    Zash I start to get interested in golang. It looks like a pretty boring and not so well-designed language, but I need something to kill Python on a low-RAM system. Development must be easy and cheap, like Python, not difficult and expensive like Rust or Erlang. Maybe I should consider Lua :-)

  67. debacle

    jonas’ thnx!

  68. jonas’

    I don’t think you’ll achieve a low memory footprint with golang

  69. debacle

    jonas’ compared to Python?

  70. jonas’

    not sure

  71. Zash

    Go uses GC right?

  72. jonas’

    but depending on what you’re doing you won’t be happy with the golang libraries I’ve found so far because of lack of features

  73. jonas’

    it does

  74. jonas’

    but also scoping magic to avoid the GC if possible

  75. jonas’

    main concern would be static linking here, footprint-wise

  76. Ge0rG

    just use node.js instead? :D

  77. debacle

    jonas’ we would probably use gccgo with dynamic linking. Anyway, as long as libraries are used only once in the system, it doesn't matter, right?

  78. debacle

    static linking is such a bad idea, that's probably the worst aspect of Go

  79. jonas’

    debacle, yeah, but remember that vanilla go brings the go equivalent of libc and stuff

  80. jonas’

    that’s stuff you’d normally save

  81. Ge0rG

    dynamic linking is the benefit of the established frameworks

  82. debacle

    jonas’ the Python ecosystem is very advanced and I feel like a spoiled child when I look at other ecosystems Ge0rG only that node.js is a chemical waste dump, not an ecosystem

  83. Ge0rG

    debacle: you'd be surprised about who lives in chemical waste dumps.

  84. debacle

    jonas’ sure, the standard libary itself might be huge

  85. jonas’

    debacle, I agree

  86. jonas’

    (although I do like myself some C++)

  87. debacle

    golang has been invented out of hate towards C++ :-)

  88. debacle

    Ge0rG JS developers maybe? (jc isn't around, is he?)

  89. jonas’

    and I recently ported a golang thing I wrote to C++ out of annoyance with golang, because as you said: "pretty boring and not so well-designed language"

  90. debacle

    jonas’ it's an outsider view of course. I did not even compile my helloworld yet :-)

  91. Zash

    Go seems like Java levels of Meh to me.

  92. jonas’

    debacle, I did write some golang code: https://github.com/horazont/dragonstash-golang https://github.com/horazont/prometheus-xmpp-blackbox-exporter

  93. debacle

    ah, yes, prometheus, one of the golang poster children

  94. AlexP has joined

  95. zinid

    > not difficult and expensive like Rust or Erlang This is called education - you learn new and sometimes difficult things in order to be more productive later

  96. Kev

    It's not wrong, though. Both of those are more expensive to learn than most languages.

  97. Kev

    (Because they try to do something that most languages don't, of course)

  98. Zash

    Java and Go must be the cheapest then?

  99. Kev

    Java's probably about the pinacle of cheap to learn, yeah.

  100. zinid

    I don't find Java simple at all

  101. zinid

    Erlang is much more simpler, back then I tried to learn both and ended up with Erlang, at least for my task

  102. Zash

    Who said anything about simple?

  103. zinid

    cheap to learn, okay

  104. pep.

    What does that mean

  105. lksjdflksjdf has left

  106. zinid

    pep.: less time spent learning?

  107. zinid

    at least as I understand it

  108. pep.

    Also, that all depends with what you started anyway. I started with OCaml, it took me quite some time to get into python

  109. Zash

    Probably something something time from being hired to being productive

  110. Martin has joined

  111. zinid

    pep.: I agree, after 5 years of math in the university functional languages are closer to me

  112. sonny has joined

  113. AlexP has left

  114. Alex has left

  115. Alex has joined

  116. debacle

    zinid What I meant: I assume, that Erlang and Rust are better™ than Go, but companies care about $/h and time to market. Go has cheaper, faster devs and is still good enough for many projects.

  117. zinid

    debacle: I disagree, but whatever

  118. Zash

    As in, you can grab kids from school and have them typing Go or Java in no time

  119. pep.

    Zash, because they've already gone through the process of learning Java, and that took them all their school years?

  120. sam has joined

  121. sam has left

  122. guus.der.kinderen

    Is OOP even the go-to paradigm in schools these days?

  123. guus.der.kinderen

    (small pun intended)

  124. Zash

    Who knows?

  125. guus.der.kinderen

    People that are either still in school or are familiar with courses?

  126. MattJ

    Multi-paradigm languages are where it's at

  127. Zash

    Lua?!

  128. pep.

    OCaml :-° (even though object is meh in it, and even if imperative is possible it's definitely not for that)

  129. jonas’

    I got punched in the face with waterfall-model-OOP development as late as 2013 in university, soooo...

  130. guus.der.kinderen

    (that's almost 7 years ago)

  131. jonas’

    guus.der.kinderen, thanks for reminding me

  132. jonas’

    also, I’m pretty sure that they still do the same thing t here

  133. jonas’

    they are very resistant to change

  134. jonas’

    and allegedly have some ties to the proprietary UML stack we were forced to use for every step of the implementation.

  135. guus.der.kinderen

    hah!

  136. guus.der.kinderen

    That, I recognize

  137. guus.der.kinderen

    we had to follow design paradigm that was developed by one of the professors.

  138. jonas’

    ... when they wanted our group (there were groups to implement various software projects) to give a presentation about the thing we did the following year, we politely declined via email with a picture of Tux attached.

  139. jonas’

    fun times.

  140. moparisthebest

    a Norwegian I know that's still in University is learning primarily Java

  141. jonas’

    oh, yeah, of course that was all java

  142. jonas’

    the language of waterfall-oop

  143. jonas’

    the professor was also very proud of being at companies for $reasons aaaaall the time. so good.

  144. Zash

    Should I be glad I don't know what waterfall is?

  145. pep.

    You probably know what waterfall is

  146. jonas’

    what pep. says, and if you don’t, yes

  147. jonas’

    waterfall is when you strictly separate phases like "design", "implementation", "testing" in your ... product ... development ... lifecycle.

  148. jonas’

    don’t pin me on the terms

  149. jonas’

    I tried to flush this out of my brain like a waterfall.

  150. Zash

    Opposite of agile? Or scrum? Whatever those are?

  151. jonas’

    yeah, pretty much that

  152. pep.

    Zash, yeah that

  153. jonas’

    I only survived that course with mpv --loop=inf The\ Big\ Lebowski.medium

  154. pep.

    Basically something without a feedback loop

  155. pep.

    (or too late)

  156. skyfar has left

  157. larma has left

  158. larma has joined

  159. Daniel has left

  160. Daniel has joined

  161. Alex has left

  162. skyfar has joined

  163. Alex has joined

  164. aj has left

  165. UsL has joined

  166. debacle

    jonas’ you are probably right: golang is not a solution to safe RAM. libgo.so has 37 MiB on our systems. libc.so is 1.3 for comparison. OTOH, a statically linked hello.go executable has "only" 5 MiB. Write in C, write in C, golang's not the answer, write in C.

  167. debacle has left

  168. rion

    C++? =)

  169. moparisthebest

    as far as I'm concerned C++ is like Cobol now, only reason to write it is maintenence of ancient bad systems, no reason to prefer it over Rust if there is an option

  170. lovetox has joined

  171. jonas’

    moparisthebest, library support is a good reason to use C++

  172. moparisthebest

    that implies using C++ libraries is good :P

  173. jonas’

    if there are no rust implementations, sure

  174. jonas’

    there’s still no proper fuse thing for rust for example

  175. jonas’

    (and then there’s of course still the extremely toxic rust community.)

  176. allie has left

  177. zinid

    jonas’, why toxic? they are funny, Rust Strike Force

  178. zinid

    there is only Rust exists, resistance is futile

  179. moparisthebest

    toxic? I had the opposite impression, that they are too hand-holdy

  180. jonas’

    moparisthebest, they’re just like the matrix folks, whenever there’s even a slight mention of a non-rust thing you have the rust brigade up and running and yelling "RIIR RIIR!!!"

  181. jonas’

    without reason

  182. jonas’

    this makes it seem as if the language coudln’t surive without the RIIR brigade...

  183. moparisthebest

    ah ok you mean the rust advocates, yea that's fair, I meant more the "mission statement" or whatever https://www.rust-lang.org/ "A language empowering everyone to build reliable and efficient software." SO EMPOWERING

  184. jonas’

    I don’t care about extra fluff or plush

  185. jonas’

    seems like they need it.

  186. moparisthebest

    I just mean, personally, I've been through my "hope this runs correctly" (python/js) phase, been through the "hope this doesn't segfault" (C++) phase, and Rust is far far better, again personally :)

  187. moparisthebest

    I find it actually ends up being faster from "start coding" to "runs and works" than other langs

  188. zinid

    what languages did you try?

  189. zinid

    you can try any type-safe language with GC, this will be much more productive than fighting with borrowing or weak refs in cyclic structures

  190. moparisthebest

    it actually isn't though, my day-job language is Java

  191. zinid

    hell, yeah, java is safe as fuck, with NPE 😉

  192. moparisthebest

    that's another point for Rust :) all the other mentioned langs also have NPE right?

  193. zinid

    I don't remember what I mentioned 😉

  194. zinid

    but ocaml or haskell don't have NPEs 😉

  195. zinid

    Rust was initially written in OCaml by the way

  196. jonas’

    relevant: https://www.youtube.com/watch?v=ENqiuLWZNQg&t=1m11s

  197. zinid

    jonas’, LOL

  198. allie has joined

  199. pep.

    :D

  200. pep.

    I'm glad NPE exists, otherwise I would have never listened to this

  201. moparisthebest

    > fuzzing UTF-8 strings pro-tip: Ⱥ (U+023A) and Ⱦ (U+023E) are the *only* code points to increase in length (2 to 3 bytes) when lowercased.

  202. moparisthebest

    totally not a dumpster fire

  203. Zash

    Eh, so?

  204. Zash

    a > A

  205. Zash

    deal with it

  206. moparisthebest

    like if some code naively allocated the same number of bytes to write a lowercase version of a string into, or even tried to do it in-place

  207. moparisthebest

    there is bound to be C or C++ out there that does this

  208. Zash

    bad code gonna be bad

  209. Alex has left

  210. lovetox has left

  211. debacle has joined

  212. Alex has joined

  213. sonny has left

  214. wurstsalat has left

  215. Zash has left

  216. skyfar has left

  217. goffi has left

  218. asterix has left

  219. guus.der.kinderen has left

  220. guus.der.kinderen has joined