#jogamp @ irc.freenode.net - 20161216 05:06:01 (UTC)


20161216 05:06:01 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20161215050601.html
20161216 05:06:01 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20161216050601.html
20161216 06:10:35 * monsieur_max (~maxime@anon) has joined #jogamp
20161216 06:53:58 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20161216 07:41:50 * elect (~elect@anon) has joined #jogamp
20161216 08:11:17 * monsieur_max (~maxime@anon) has joined #jogamp
20161216 08:12:54 <monsieur_max> hello hi
20161216 08:14:04 <zubzub> lo g'day
20161216 09:47:12 * Eclesia (~husky@anon) has joined #jogamp
20161216 11:44:56 <rmk0> ..oo..
20161216 13:02:36 * caelum19 (~Caelum@anon) has joined #jogamp
20161216 13:04:39 * caelum191 (~Caelum@anon) has joined #jogamp
20161216 13:07:14 * caelum19 (~Caelum@anon) Quit (Ping timeout: 264 seconds)
20161216 15:30:02 * caelum191 (~Caelum@anon) Quit (Ping timeout: 264 seconds)
20161216 15:33:32 * caelum19 (~Caelum@anon) has joined #jogamp
20161216 15:43:58 * caelum19 (~Caelum@anon) Quit (Ping timeout: 268 seconds)
20161216 15:49:02 * caelum19 (~Caelum@anon) has joined #jogamp
20161216 16:07:01 * caelum19 (~Caelum@anon) Quit (Ping timeout: 248 seconds)
20161216 16:25:42 <rmk0> fuck glsl, seriously
20161216 16:25:58 <rmk0> just wasted five hours because i failed to assign to gl_Position in a geometry shader
20161216 16:26:32 <rmk0> how about a compilation error if you fail to assign a value to the one output you're actually required to assign to
20161216 16:35:35 * caelum19 (~Caelum@anon) has joined #jogamp
20161216 16:47:54 * monsieur_max (~maxime@anon) Quit (Ping timeout: 256 seconds)
20161216 16:57:04 <elect> rmk0, gl debug didnt help?
20161216 16:57:20 <rmk0> elect: nah, happens in one step with no intermediate results (is a single draw call)
20161216 16:57:39 <rmk0> nothing onscreen because gl_Position was never assigned
20161216 16:57:55 <rmk0> a vertex shader will fail to compile if you do that, but a geometry shader won't
20161216 16:58:09 <elect> intel?
20161216 16:58:28 <rmk0> intel and amd, so i assume everywhere
20161216 16:59:29 <elect> rmk0, for curiosity, what were you doing in the geom shader?
20161216 16:59:56 <rmk0> billboarding
20161216 17:00:39 <rmk0> populate a vertex buffer object with world-space positions and draw them as GL_POINTS, extend them to pairs of triangles that always face the camera in the geometry shader... instant particles
20161216 17:01:11 * Eclesia (~husky@anon) has left #jogamp
20161216 17:01:35 <elect> I read that profiling about vr showed that duplicating rendering in the geometry shader was much slower
20161216 17:02:00 <elect> I don't know if that applies to your case
20161216 17:02:37 <rmk0> i think in that case, they're talking about duplicating the entire scene geometry so that they can render in a sort of stereoscopic style without having to make all of the draw calls twice
20161216 17:03:06 <rmk0> this thing i'm doing is just what GL_POINT_SPRITE used to do... there's actual physical hardware support for this case usually
20161216 17:03:19 <rmk0> turn one point into two triangles
20161216 17:03:52 <elect> yes, they were
20161216 17:07:28 <rmk0> i've heard of people using the geometry shader to transform geometry six times, to render each face of a cube map
20161216 17:07:41 <rmk0> in each case, it was slower than just manually rendering the geometry six times
20161216 17:08:43 <rmk0> https://cloud.githubusercontent.com/assets/612494/21271051/37f37af2-c3b1-11e6-81d9-cc199bd7fe22.png
20161216 17:08:54 <rmk0> particles rendered using the technique
20161216 17:09:22 <rmk0> obviously you'd normally supply a texture... i just rendered plain white squares there
20161216 17:21:54 * elect (~elect@anon) Quit (Ping timeout: 256 seconds)
20161216 17:41:20 * monsieur_max (~maxime@anon) has joined #jogamp
20161216 17:53:25 <zubzub> http://www.theregister.co.uk/AMP/2016/12/16/oracle_targets_java_users_non_compliance
20161216 17:53:29 <zubzub> RIP jav
20161216 17:53:31 <zubzub> a
20161216 19:46:10 * Eclesia (~eclesia@anon) has joined #jogamp
20161216 19:54:57 <Eclesia> zubzub: I knew something like thatit would happen one day
20161216 20:03:50 <zubzub> yup
20161216 20:04:13 <zubzub> luckly I'm already looking at (node)js
20161216 20:04:17 <zubzub> next golang
20161216 20:08:27 * rmk0 sniggers
20161216 20:10:54 <Eclesia> hm... Ruby or D maybe
20161216 20:11:34 <Eclesia> or just switching to AvianVM
20161216 20:12:32 <rmk0> or... you know, basing technological decisions on issues such as correctness of implementation, how well they facilitate the construction of software that's correct, etc
20161216 20:12:39 <rmk0> instead of on some clickbait trash
20161216 20:12:46 <rmk0> i guess that's way too advanced
20161216 20:15:13 <Eclesia> rmk0: what would be the next in line after java for you ?
20161216 20:15:36 <rmk0> no idea. one of the .net languages such as F#, perhaps
20161216 20:15:57 <rmk0> i don't see it becoming an issue within the next decade
20161216 20:17:37 <rmk0> it astounds me that in 2016, ruby or javascript is still considered a good answer for anything
20161216 20:17:58 <rmk0> i mean fuck... how bad does a design have to be before anyone notices?
20161216 20:18:10 <rmk0> i don't get it
20161216 20:18:52 <rmk0> it seems like developers look at a language and the entire thought process is something like: 1. look at the syntax for five seconds. 2. say "WOW THAT LOOKS COOL"
20161216 20:18:58 <rmk0> and that's the extent of the critical evaluation
20161216 20:19:34 <rmk0> they spend the next few years making trivial mistakes related to scoping and typing that even the most brain dead compiler would catch
20161216 20:19:51 <rmk0> but no, all bugs are random. they couldn't possibly be the result of poor language design. all languages are *exactly the same*
20161216 20:20:21 <rmk0> i've been dealing with python via blender for a couple of months. you may be able to tell.
20161216 20:21:20 <Eclesia> if you know any alternative similar to java 1.5 but not .net (which looks like a false solution). with static types, proper modules, a gc ...
20161216 20:22:03 <Eclesia> checked exceptions
20161216 20:22:21 <rmk0> there isn't anything outside of java that has checked exceptions, but many languages have things that replace them
20161216 20:23:51 <Eclesia> stuff like fallback functions ?
20161216 20:24:28 <rmk0> no, algebraic data types, typed effects, monads, etc
20161216 20:25:22 <Eclesia> that doesn't solve all error cases, like IO errors. it just reduces cases
20161216 20:26:28 <rmk0> not sure what that means
20161216 20:27:53 <rmk0> pretty much all languages i can think of that actually bothered to pay attention to advances made in language design have avoided checked exceptions. they use unchecked exceptions for errors that aren't supposed to be caught (programmer mistakes), and instead use any of the above language features to encode failure cases that are supposed to be caught and handled
20161216 20:28:19 <zubzub> cobol ftw
20161216 20:28:51 <zubzub> it's higly focused on correctness
20161216 20:28:55 <zubzub> and does an excellent job at it
20161216 20:29:00 <zubzub> it's easy to read
20161216 20:29:03 <zubzub> and understand
20161216 20:29:09 <zubzub> perfect for any drone to work with
20161216 20:30:11 <zubzub> and it's FAST
20161216 20:30:32 <Eclesia> let's say you write a few bytes to a file. how would you 'catch' possible disk errors ?
20161216 20:30:58 * Eclesia rebooting back in 2minutes
20161216 20:31:00 * Eclesia (~eclesia@anon) has left #jogamp
20161216 20:33:08 * Eclesia (~eclesia@anon) has joined #jogamp
20161216 20:33:40 * Eclesia survived an upgrade \o/
20161216 20:34:29 <zubzub> Eclesia: oh that's easy, you just call the mainframe operator
20161216 20:38:07 <rmk0> Eclesia: there isn't one single answer to that question. an obvious way in a language that has algebraic data types is to use monads
20161216 20:41:52 <rmk0> they can directly encode the concept of a computation that can fail, and the type system ensures that you can't accidentally fail to catch the error
20161216 20:43:56 <zubzub> you can just ignore the error though
20161216 20:44:15 <rmk0> you can ignore the error
20161216 20:44:15 <zubzub> or catch it and log it and then happily continue because what else should you do with an exception
20161216 20:44:27 * zubzub is playing devils advocate
20161216 20:45:13 <zubzub> or use a self created checked exception to signal a normal case
20161216 20:45:39 <rmk0> you can drive without a seatbelt on
20161216 20:45:50 <zubzub> you sure can
20161216 20:45:53 <rmk0> in fact you can saw right through your brake cables and drive your car into a wall
20161216 20:45:56 <zubzub> makes packet delivery faster
20161216 20:46:18 <zubzub> as long as the fines aren't higher than the cost of drivign with a seatbelt, the company is happy
20161216 20:46:25 <zubzub> *driving without
20161216 20:46:45 <zubzub> that's how business works, and in extension alot of it
20161216 20:46:48 <zubzub> *IT
20161216 20:46:55 <rmk0> is pointless to talk about arguments of the form "well you can deliberately do this really badly"
20161216 20:47:09 <zubzub> my point is that you can make the perfect language
20161216 20:47:18 <zubzub> you can still abuse it because people are dumb
20161216 20:47:18 <rmk0> yeah i've heard all of this before
20161216 20:47:21 <zubzub> an
20161216 20:47:22 <zubzub> d
20161216 20:47:29 <zubzub> corporate doesn't care
20161216 20:47:34 <zubzub> corporate wants fast output
20161216 20:47:43 <zubzub> who cares about correctnes
20161216 20:47:59 <zubzub> if the client is ok with it and pays, it's ok for us
20161216 20:48:04 <zubzub> that's the sad reality
20161216 20:48:16 <Eclesia> rmk0: I'll try to read more about monads, it's still a bit obscure for me
20161216 20:49:31 <rmk0> i'm interested in correctness, because making things correct makes my life easier. i have zero interest in cynicism and "let's do things really badly because nothing matters at all"
20161216 20:49:49 <rmk0> if you feel that way, yes, you should write all your software in javascript and perhaps take an early retirement and suicide
20161216 20:49:50 <zubzub> absolutely, rmk0 me too
20161216 20:49:55 <zubzub> but the world will not
20161216 20:50:28 <zubzub> because you can't run a business on only perfect software
20161216 20:50:44 <zubzub> only on better, faster & cheaper output
20161216 20:50:57 <zubzub> and if python or js achieves that, then that's what will earn you $$$
20161216 20:51:15 <rmk0> yeah, enjoy. i'd rather do good work
20161216 20:51:25 <rmk0> seems to be working well for me to date
20161216 20:51:41 <zubzub> you mean python in blender? ;)
20161216 20:51:53 <rmk0> heh, that's an anomaly. thankfully that was minimized
20161216 20:53:57 <rmk0> i hear the same endless list of strawman arguments, cynicism, pseudo-pragmatism, logical fallacies, etc, almost every time the subject comes up
20161216 20:54:14 <Eclesia> :)
20161216 20:54:15 <zubzub> no rmk0
20161216 20:54:18 <rmk0> if you're happy building bridges with a plastic bucket and spade for money, you should continue to do that.
20161216 20:54:26 <zubzub> I'm trying to explain to you how business operate
20161216 20:54:38 <zubzub> I'm not happy with that either
20161216 20:54:39 <rmk0> i know full well how businesses operate
20161216 20:54:53 <zubzub> than you should know a perfect language if it is ever created, will never take off
20161216 20:55:27 <rmk0> i don't think i ever once mentioned a hypothetical "perfect language"
20161216 20:55:36 <rmk0> i don't think it was even implied
20161216 20:55:47 <zubzub> no you mention (valid) points how other popular languages suck
20161216 20:56:13 <rmk0> and from that you infer that i think there must be some "perfect language" and that everyone should use it and that it would solve all problems?
20161216 20:56:45 <zubzub> why else would you rant?
20161216 20:57:04 <zubzub> if you do not imply that, why mention it at all?
20161216 20:57:29 <rmk0> i'm not ... even sure how to answer that. i don't understand how you've ended up at that conclusion from the starting point
20161216 20:57:43 <rmk0> i'm not sure we're speaking the same language
20161216 20:58:15 <rmk0> i'm an engineer. if i pick up a hammer and it explodes and takes my hand off, i don't use that type of hammer again. i encourage others not to use that type of hammer. it's still just a hammer.
20161216 20:58:40 <rmk0> if i see design flaws in types of hammers that result in explosions taking off hands, i look for other types of hammers that don't share those design flaws.
20161216 20:58:52 <rmk0> i don't by extension believe there's a mystical perfect hammer that will solve all of my problems.
20161216 20:59:13 <rmk0> i care that my nails get hammered with minimal loss of limbs
20161216 21:00:13 <zubzub> yet every hammer explodes if used incorrectly
20161216 21:00:30 <rmk0> right now, developers are still using languages designed in an era where people who had no background in programming language research were creating poorly designed languages to rebel against the crappy type system in C
20161216 21:00:39 <rmk0> python, ruby, javascript, etc
20161216 21:01:15 <zubzub> because people don't want a hammer that can only hit a single nail per minute
20161216 21:02:31 <rmk0> is that the "languages with static type systems are slow to develop for" fallacy?
20161216 21:02:43 <rmk0> i assumed it'd be showing up sooner or later
20161216 21:03:20 <rmk0> you know what... i don't care anymore. you should use node
20161216 21:03:28 <zubzub> I already am
20161216 21:03:32 <zubzub> and python
20161216 21:03:42 <rmk0> good for you. enjoy your runtime errors
20161216 21:04:01 <rmk0> enjoy your mountains of unit testing for errors that compilers catch
20161216 21:04:03 <zubzub> I do, just like I did with java :)
20161216 21:04:11 <rmk0> then you didn't have a clue how to use java
20161216 21:04:32 <zubzub> I do, 90% of my colleagues don't
20161216 21:05:42 <zubzub> and that makes us come full circle
20161216 21:06:58 <rmk0> not for me, i'm done
20161216 21:07:06 <rmk0> let's all be as shit at everything we do as possible
20161216 21:07:27 <rmk0> there's no reason to do better
20161216 21:07:40 <zubzub> yet I never mentioned or implied that
20161216 21:08:24 <zubzub> my statement is that the aim for perfection does not outweigh the reality of economics
20161216 21:08:54 <zubzub> I do my best to write the most 'perfect' code that is possible given the tools and timeframe
20161216 21:09:28 <zubzub> I can only expect the same from my colleagues
20161216 21:09:48 <zubzub> the sad truth is that 90% has no clue
20161216 21:10:01 <zubzub> I could reject al their code
20161216 21:10:04 <zubzub> and fire them (or not)
20161216 21:10:12 <zubzub> and then projects would run late
20161216 21:10:19 <zubzub> companies would go bankrupt
20161216 21:10:33 <zubzub> and the competition would get the $$$
20161216 21:10:37 <zubzub> with their crappy code
20161216 21:11:22 <zubzub> I would *love* to use any of the better languages I currently use
20161216 21:11:26 <zubzub> becaus yes
20161216 21:11:31 <zubzub> they all suck donkeyballs
20161216 21:12:13 <zubzub> but looking into obscure better languages does not make you a good living
20161216 21:13:01 <zubzub> this is really a discussion between pragmatism vs idealism
20161216 21:15:52 <Eclesia> back to OpenGL : does anyone have use the opengl XML API registry (https://www.opengl.org/registry/#specfiles) ? is it reliable, up to date ? I think yes since vulkan is available in this format too.
20161216 21:20:48 <zubzub> nope
20161216 22:18:54 <Eclesia> IllegalAnswerException
20161216 22:36:35 <Eclesia> rmk0: https://dzone.com/articles/whats-wrong-java-8-part-iv
20161216 22:38:41 <Eclesia> the way I see it : Monad == DotFlow writing
20161216 22:49:29 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20161216 23:08:10 * Eclesia (~eclesia@anon) has left #jogamp
20161217 01:41:02 * caelum19 (~Caelum@anon) Quit (Quit: Leaving.)
20161217 05:06:01 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20161217050601.html