#robotics Logs

Nov 25 2018

#robotics Calendar

09:37 AM gnom: hi all
12:28 PM rue_mohr: hi
12:29 PM rue_mohr: i'm making motif layout widgets!
12:47 PM Tom_L: you should look at the python they use for 'axis' in linuxcnc to draw the display image
01:14 PM rue_mohr: nope, C
01:23 PM Hamilton: ?
01:39 PM rue_mohr: C is a programming language that undermines most of the bloat (memory and cpu wise) of software
01:55 PM gartt: Even though I suck at it, it's my favorite language
01:56 PM polprog: same
01:57 PM Tom_L: :)
01:57 PM gartt: Funny, even one of the most hot shit modern languages right now, Golang, gives the finger to Java, C++, and others and uses OO principles while being extremely simple and compact
01:57 PM gartt: There's a lot to be said for a language that "fits in your head"
01:57 PM gartt: Aside from the fast compilation
01:59 PM Hamilton: what do u guys think about embedded-rust?
01:59 PM gartt: For example, something like Golang can do the same stuff as Ruby, Python or Java at a fraction of the language size and complexity, and runs faster too. I'm not even a huge Golang fan, but it shows that even one of the hottest, most modern languages is going back to simplicity
02:00 PM gartt: Hamilton: I don't know a lot about it, but I've seen some Rust examples that make even C++ look simple in comparison. My disclaimer is that I don't know what I'm talking about, but it seems overly complex to me
02:02 PM polprog: rust syntax is just atrocious
02:02 PM polprog: even conpared to doing voodoo in c, even that doesnt generate this sort of gibberish
02:02 PM Hamilton: I'm learning C from K&R (this time properly hopefully)...But I'm always distracted by these new stuff especially Rust (much less Go)
02:03 PM polprog: k&r is pretty good.. but as a reference..it has some examples
02:03 PM Hamilton: gartt, polprog They say we could reuse drivers and MCU codes regardless of vendor stuff
02:03 PM polprog: good to learn c but not programming
02:03 PM polprog: if i write right C i can do so as well
02:03 PM Hamilton: polprog, I already know Java, MATLAB and some python
02:03 PM polprog: vide libopencm3
02:03 PM polprog: Hamilton: great! :)
02:04 PM polprog: and definitely in C++
02:04 PM Hamilton: Out uni C course was horrible
02:04 PM polprog: even in C i can write a universal uart driver or something. its just a matter of abstraction
02:04 PM gartt: C with good libraries can do a lot
02:04 PM polprog: good abstraction*
02:06 PM Hamilton: gartt, polprog Have you guys check /r/rust or /r/embedded or youtube talks about rust? I may have issues but I always think I'm gonna miss out on the next great think
02:06 PM Hamilton: [23:32:20] <diverdude> rom1504: from what i can count it looks like 20 is correct still
02:06 PM Hamilton: [23:32:51] <rom1504> ok
02:06 PM Hamilton: What is this? sorry
02:06 PM Hamilton: https://www.youtube.com/watch?v=t99L3JHhLc0
02:06 PM polprog: i did write a small fizz buzz prog in rust
02:06 PM polprog: maybe one day
02:07 PM polprog: recently i was playing with perl
02:07 PM gartt: I only like perl because it's common
02:07 PM gartt: Too many ways to do the same thing
02:07 PM polprog: yeah indeed
02:07 PM * veverak puts on his troll hat
02:08 PM polprog: the syntax is so... loose?
02:08 PM gartt: I think the only time I was really interested in it was for CGI scripts and for IRSSI scripts
02:08 PM veverak: C should die for the sake of C++!!
02:08 PM veverak: :)
02:08 PM polprog: you should all be programming in assembly
02:08 PM * polprog can do avr and barely do x86 asm lol
02:09 PM gartt: I used assembly once in college and it wasn't so bad because it's so simple. At least it makes you learn how turing machines work
02:09 PM polprog: true. it gives a ton of insight into computers
02:12 PM gartt: I want to learn C better and use it on Arduinos and Raspberry PIs
02:12 PM polprog: hmm i never used C on raspi
02:12 PM polprog: my latest thought about pis was to use cgi
02:14 PM gartt: All I use is Java at work and that's what most of my college courses used and my distaste for it has grown. Used to be my favorite language and now is my least favorite. It would be great to be able to write C code for embedded stuff and use it for high-level personal projects too. One language
02:15 PM rue_shop3: yea, java sure sucks
02:15 PM polprog: i used to write java
02:15 PM rue_shop3: never seen a java program that didn't eat all the memory and then crash
02:15 PM polprog: it was pretty good for guis
02:15 PM rue_shop3: until it crashes, sure
02:15 PM polprog: its not that bad as you picture it
02:15 PM rue_shop3: oh and untill you want to write an editor with multiple cursors
02:16 PM rue_shop3: I gave up trying to use programs written in java
02:16 PM rue_shop3: after 20 or 30 that all did the same thing, i gave up
02:16 PM rue_shop3: java is good for little things on webages that do a small calculation or something
02:16 PM rue_shop3: thats it
02:19 PM rue_mohr: ok yes
02:19 PM rue_mohr: I thiknk I'll wrap the battle mech in christmas lights and hang a decoration from its main cannon
02:23 PM gartt: My complaints about Java are constantly added bloat over time, and the fact that the language is completely intertwined with your development environment. Try writing getters and setters for a Java bean in Vim without some fancy add-ons
02:24 PM gartt: Working with dates in Java is a mess too, since they screwed up from the beginning then put layers of bandaids over it, Microsoft-style
02:24 PM gartt: rue_shop3> java is good for little things on webages that do a small calculation or something <-- Yeah, but then if you're doing that, might as well use PHP, Python or C anyway
02:25 PM gartt: polprog> it was pretty good for guis <-- Yeah, but for GUIs, I think web apps have become the universal interface nowadays. They work on everything and don't require any extra layers of complexity
02:26 PM gartt: It's great to have the same look and feel regardless of language used
02:26 PM polprog: true
02:27 PM polprog: i wrote jva roughly 10 years ago when i first got into programming
02:42 PM varigatedvanilla: i haven't done any java programming, hear it's marginally better than c++
02:42 PM varigatedvanilla: and i think c++ is aweful
02:43 PM gartt: I agree. The only think I like about C++ is compatibility with C and its popularity
02:44 PM gartt: thing*
02:45 PM varigatedvanilla: i feel like it's a bunch of things bolted together
02:45 PM gartt: I like that it doesn't have garbage collection too. Seems like a simple thing, but after decades, they're still advancing GC technology. It's damn complex
02:46 PM varigatedvanilla: languages have gotten way to complicated :/
02:46 PM gartt: varigatedvanilla: It is. Like Java, but worse, they just kept adding bloat to it, and a little more, and a little more until now you can code daily in C++ for 20 years and still not be a pro
02:46 PM veverak: well, for some it's bloat, for some a usefull feature
02:46 PM veverak: also
02:47 PM gartt: varigatedvanilla: That's why I like seeing languages like Golang showing that very simple, compact languages can do the same as much more wordy complex languages. But I don't want to sound like a broken record
02:47 PM veverak: nobody said that because C++ has tons of features you _have_ to use all of them :P
02:47 PM varigatedvanilla: I'm really excited to learn go
02:47 PM varigatedvanilla: Yeah, but should a language have so many parts, veverak?
02:47 PM gartt: veverak: Sure, but same with perl; I don't have to use all of the features, but it still is messy
02:47 PM varigatedvanilla: It's not cohesive, and lots of things don't make sense
02:48 PM varigatedvanilla: C with classes wouldn't be bad, I'd like to learn objective C sometime if it were used more widely than just apple stuff
02:48 PM gartt: varigatedvanilla: I like as many things about Go as I don't like. I love and hate it. But it does turn a lot of established stuff on its head which is nice to see
02:48 PM veverak: classes is the last thing I like about C++...
02:48 PM gartt: Doing OO programming while thumbing its nose at class inheritance
02:48 PM varigatedvanilla: if you're gonna do classes you need to have them very simple
02:48 PM veverak: gartt: the good thing about having som many features/options is the thing that you can pick the one that fits best the goal you want
02:49 PM gartt: veverak: Even though I learned on and have always used OO, I still don't buy it
02:49 PM veverak: gartt: classes are fine feature
02:49 PM veverak: the way OOP is used this days is horrible
02:49 PM veverak: :)
02:49 PM * veverak got C++ without inheritance and without exceptions
02:49 PM veverak: made code much easier to reason about
02:49 PM gartt: veverak: True, but it's not completely costless, since it adds complexity to the compiler and introduces chances of issues
02:50 PM veverak: where it adds complexity?
02:50 PM gartt: Another nice thing about Go - yeah, dead-simple exception handling
02:50 PM veverak: you mean inheritance? (yeah, we can estabilish that that sucks)
02:50 PM gartt: veverak: Any language with tons of syntax and token complexity adds a lot of compiler complexity
02:50 PM Hamilton: But Go has GC..isn't that the worst thing ever?
02:51 PM Hamilton: Also Google may as well dump the project in the blink of an eye
02:51 PM veverak: gartt: oh that, I see, it depends on what the syntax does
02:51 PM gartt: Hamilton: The rest of the world likes it, and while I use Java every day at work, I don't like GC. It's one of the things I don't like about Golang
02:51 PM gartt: But if they didn't have it, people would probably think Golang was too extreme and not adopt it
02:52 PM veverak: gartt: I mean, a lot of syntax things disappears after 'code -> bytecode' conversion
02:52 PM Hamilton: gartt, The rest of the world are happyily using python
02:52 PM gartt: Hamilton: Not so happily :)
02:53 PM gartt: Since Python programmers are all recoding their Python 2 code for the non-backwards-compatible Python 3
02:53 PM varigatedvanilla: "extreme" lol
02:53 PM gartt: PHP 7 and up blows Python out of the water in speed, but of course it's not as clean
02:54 PM gartt: varigatedvanilla: Sadly
02:54 PM varigatedvanilla: i've used python every so often when i need to convert some sort of file
02:54 PM varigatedvanilla: scripting stuff
02:54 PM Hamilton: I don't know...there are talks of micro-python in embedded even
02:54 PM varigatedvanilla: i dunno if i'd make anything production level in python
02:54 PM veverak: GC and micro-python is horrible combination :)
02:54 PM gartt: I think with C and PHP, you can do just about anything
02:55 PM varigatedvanilla: I love C so much :)
02:55 PM * veverak hates C
02:55 PM veverak: too many pointless bugs to happen
02:55 PM varigatedvanilla: feels like just the right level of abstraction and closeness to the machine
02:55 PM gartt: Like I said, GC seems simple when you learn about the various approaches to it in school. But then the fact that they're still refining it after decades shows hows complex it is. And all of the GC bugs found in Java after a lot of very smart people have worked on it
02:56 PM gartt: veverak: Yeah, but with good string libraries and using well-organized code, you can write very high-level C apps
02:57 PM veverak: why would I do that if I have tools that does the same, in less time?
02:57 PM gartt: It's like a gun without a safety. Keep your finger off your trigger, never aim it where you shouldn't and follow other discipine and you can't have a problem
02:57 PM varigatedvanilla: mhmm
02:57 PM gartt: veverak: Well, that's why other languages exist :)
02:57 PM varigatedvanilla: that's what libraries are for, veverak
02:57 PM veverak: I mean, in C++ I can write code which is safer and faster than in C
02:58 PM veverak: :)
02:58 PM varigatedvanilla: ither languahes try to pull all that into the language itself
02:58 PM varigatedvanilla: which is just ridiculous and messy
02:58 PM rue_mohr: must be a bad C coder
02:58 PM veverak: varigatedvanilla: which library gives me RAII ?
02:58 PM gartt: Libraries aren't as easy to use as language built-in features, but they give a lot more flexibility at least
02:58 PM rue_mohr: and its wont be faster
02:58 PM rue_mohr: unless your REALLY bad at C
02:58 PM veverak: rue_mohr: why do you think? :)
02:58 PM rue_mohr: becasue C is faster than c++
02:59 PM veverak: that's part I don't agree about
02:59 PM rue_mohr: less memory footprint too
02:59 PM gartt: The cool thing about C is that you can run something huge on a massive cluster of supercomputers, or a tiny Arduino. No other language can really say that
02:59 PM veverak: rue_mohr: don't agree about the memory footprint either
02:59 PM rue_mohr: unless your writing C and calling it c++
02:59 PM rue_mohr: veverak, A DUEL!??!?
02:59 PM rue_mohr: OH MY
02:59 PM veverak: well, writing code that can't be written in 'C' because it lacks the necessary features for that
02:59 PM rue_mohr: what do you propose?
03:00 PM veverak: bad C++ coder writes slower code
03:00 PM rue_mohr: WHAT TICKLES YOUR FANCY
03:00 PM gartt: I think the challenger is supposed to slap the challenged with a leather glove or something
03:00 PM veverak: lol
03:00 PM * rue_mohr looks around for a glove
03:00 PM * rue_mohr throws a pen at veverak
03:00 PM rue_mohr: I'M OUT OF GLOVES
03:00 PM * veverak catches it, thanks for pen
03:00 PM gartt: If the Simpsons provided me with the right duel ettiquette education
03:00 PM veverak: lol
03:00 PM rue_mohr: oops visitor, brb
03:01 PM gartt: Well, while rue_mohr is busy with the police, ....
03:01 PM gartt: Who've taken interest in his christmas-decorated combat mech robot..
03:02 PM veverak: anyway, point is
03:02 PM veverak: while C++ has a lot of features
03:02 PM veverak: using the correct subset can easily result in code that is faster than C, just because it's faster to write same thing as in C
03:02 PM veverak: in the time one gains, he can spent more on optimizations
03:02 PM gartt: veverak: You mean faster to write or to run?
03:03 PM veverak: gartt: faster to run
03:03 PM veverak: C++ can be faster than C only because you it's faster to write code that does the same
03:03 PM veverak: hmm
03:04 PM gartt: I didn't think C++ could ever be as fast as C, just as it's either the same level or additional layers of abstraction added, depending on the code
03:04 PM veverak: yeah
03:04 PM veverak: C++ has longer compilation time
03:04 PM gartt: But as I'm a novice C++ programmer, don't put much stock into what I say
03:04 PM veverak: gartt: but, unless you use stupid OOP designs
03:04 PM veverak: it does not
03:05 PM veverak: C++, the language where three layers of structures, tons of lines of code reduces to 10 assembler lines
03:05 PM veverak: because most of the abstractions are compiled away
03:05 PM veverak: (same as with C)
03:05 PM gartt: I can buy it being the same speed if you use it very simply without extra abstraction layers, but how faster?
03:05 PM veverak: gartt: faster as in "potential speed", no
03:05 PM gartt: Since compiler tricks are the same as C?
03:05 PM veverak: gartt: faster as in "you give guys 100h to work on the project" yes
03:05 PM gartt: veverak: Ah, well there's merit in that
03:06 PM veverak: gartt: again, what do you think would slow it down?
03:06 PM veverak: :D
03:06 PM veverak: the point of C++ is that the abstractions are cost-free
03:06 PM veverak: (when they can)
03:06 PM veverak: (inheirtance can't be cost free, really...)
03:07 PM veverak: I mean, just because you write more code, or something, does not mean there are more assembler instructions :)
03:07 PM gartt: veverak: I don't completely buy the abstractions being cost-free. Sometimes, yes
03:08 PM veverak: gartt: what is not costfree ?
03:08 PM gartt: Like how in functional programming, you can optimize the hell out of it and it's inherently parallelizable - high-level functional languages can be extremely fast in some circumstances because of smart compilers
03:08 PM veverak: the fact that classes has methods? well, they cost same as free functions
03:08 PM veverak: inhreitance? well that is slow, but I said that ...
03:08 PM gartt: veverak: I'd say OO mechanisms, but a few minutes ago you said aside from that, so I can't use that
03:08 PM veverak: tempaltes? well, no slowdown here either
03:09 PM veverak: (and they are actually the key point when C++ is faster)
03:09 PM veverak: lambdas? well, syntacting sugar around class, so no slowdown either
03:09 PM veverak: hmm
03:09 PM veverak: gartt: yeah, but only inheritance is slow OO mechanism
03:10 PM veverak: encasuplation? nothing to do with runtime
03:10 PM veverak: I mean
03:10 PM veverak: A lot of the things are something relevant only for humans
03:10 PM veverak: gets lost after it's parsed :)
03:10 PM gartt: I don't know enough about real C++ development to open my mouth
03:10 PM * veverak does
03:11 PM gartt: Aside from OO
03:11 PM veverak: and C++ introduces a lot of typesafety mechanisms
03:11 PM veverak: which makes the code safer, but not slower
03:11 PM veverak: also templates used correctly makes code much faster than C alternative
03:11 PM veverak: not to mention 'constexpr' in C++
03:11 PM veverak: :)
03:12 PM veverak: and yeah, you can write same code as I do with tempaltes in C
03:12 PM veverak: thing is
03:12 PM veverak: it will take more time
03:13 PM veverak: for example, in phys. calculations, I don't use double/float directly
03:13 PM veverak: I've got 'Quantity<Tag>' class (which stores float insite)
03:13 PM veverak: which is used same way as float
03:13 PM veverak: thing is, the Tag specifies what kind of quantity is
03:14 PM veverak: and if you multiply different quantities... let's say velocity and time
03:14 PM veverak: the result is distance on type level
03:14 PM veverak: -> costs same at runtime
03:15 PM veverak: -> but the compiler checks that I do multiplication correctly, and when I said that the result of computation should be distance, but the operators returns different type, well that's an error :)
03:15 PM gartt: I do like the popularity of C++. I'd rather abandon Java and learn it along with getting sharper with C
03:15 PM veverak: ( https://en.wikipedia.org/wiki/Dimensional_analysis )
03:15 PM gartt: Then I have 2 compatible languages
03:15 PM veverak: gartt: if you want to learn C++, forget OOP
03:16 PM gartt: veverak: I intend to :)
03:20 PM veverak: my C++ improved when I learned Haskell more
03:20 PM veverak: :)
03:21 PM gartt: I had a Haskell phase
03:21 PM gartt: And Erlang
03:21 PM * veverak loves the typesafety of haskell
03:21 PM veverak: but hate bunch of things
03:21 PM gartt: I still love functional programming, but like the idea of using functional principles with general purpose languages
03:22 PM veverak: same here
03:22 PM veverak: hence why I love C++
03:22 PM veverak: favourite function is: T mapF<T>( Container & cont, UnaryFunction f )
03:22 PM gartt: And I don't like GC, and you can't really do true full-blown functional programming without it
03:22 PM veverak: you can't
03:22 PM veverak: doesn't mean you should
03:22 PM veverak: (full-blown)
03:23 PM gartt: that's why I'd rather take the best of functional programming and apply it to more popular, practical languages
03:23 PM gartt: Carmack wrote a really good article about applying functional programming to C++ in game programming
03:24 PM veverak: well, there is general movement of functional programming in C++
03:24 PM Hamilton: I feel like if I want to step up from C, I should use Rust
03:24 PM gartt: Java too. They just introduced functional features. Very late in the game though...
03:25 PM Hamilton: gartt, do you know JavaFX?
03:25 PM gartt: Hamilton: Every time I consider Rust, I remember that forum thread where even the C++ programmers bashed the complexity of bloat of it. Then people posted some Rust code and I pissed myself
03:25 PM gartt: jadew: No, sorry
03:26 PM * veverak does not trust Rust yet
03:26 PM veverak: and by the time I could my C++ codebase will be too large
03:26 PM gartt: Rust looked pretty intimidating. I was surprised to see how many books there on at Barnes and Noble, if that speaks to its popularity at all
03:27 PM Hamilton: gartt, I'm noob but all these <T <P <Q >>> and backtick ` timelines seems complex
03:27 PM Hamilton: And from what I've heard, it does not support OO paradaigm like Java
03:28 PM Hamilton: And I don't know what's wrong with Java's OO
03:28 PM gartt: I was pressed for time, but next time I'm there I'll leaf through a Rust book just out of curiosity
03:28 PM gartt: Hamilton: The fact that it's OO is what's wrong
03:28 PM Hamilton: idk...it seems intuitive
03:40 PM polprog: https://puu.sh/C7DCj/2e7695fc9f.jpg
03:42 PM polprog: so
03:43 PM polprog: i finally bought this universal drill or whatdyoucall it
03:43 PM polprog: and it fits into my screwdriver :DD
03:45 PM gartt: Cool
03:46 PM varigatedvanilla: is it sonic?
03:49 PM patr0clus is now known as s3nd1v0g1us
04:31 PM * rue_mohr throws a pen at veverak
04:31 PM rue_mohr: WHAT SAY YOU THEN
04:31 PM rue_mohr: no, like, really, too much scrollback, not interested, pls summarize
04:31 PM veverak: C sucks, C++ is the winner
04:32 PM polprog: niters
04:32 PM rue_mohr: CHOOSE YOUR WEAP0N
04:32 PM * veverak hides
04:32 PM polprog: s/weapon/poison/
04:32 PM * polprog hides
04:32 PM rue_mohr: no, wait, the weapons are C for me and C++ for you
04:32 PM rue_mohr: so, what is the challange then
04:32 PM rue_mohr: what are we gonna write to go head-to-head on
04:32 PM rue_mohr: so I can prove C is lighter and faster
04:33 PM veverak: I can see the point I can't think of nothing appropiate
04:33 PM rue_mohr: YOUR FORFIT IS ACCEPTED
04:33 PM rue_mohr: god, where do these soundbytes come from?
04:33 PM * rue_mohr dances, "I win!" "I win!!!"
04:33 PM veverak: lol
04:34 PM veverak: :)
04:34 PM rue_mohr: unless YOU WANT ME to choose the challange
04:34 PM uniera: Why is my #robotics buffer cluttered with cringe?
04:34 PM uniera: Ah, nvm
04:34 PM veverak: well
04:34 PM veverak: I would like to code somethig that would be to use to me at least
04:35 PM rue_mohr: dude, you forfit' the choice
04:35 PM rue_mohr: no reversies
04:36 PM rue_mohr: the problem is, I cant think of anything I'v not already done
04:36 PM rue_mohr: and thats not fair
04:36 PM rue_mohr: something thats fixed execution time
04:36 PM rue_mohr: aka, no user input
04:36 PM rue_mohr: so we can compare memory and execution time
04:37 PM rue_mohr: hmm, my 3d library is weak
04:38 PM rue_mohr: hmm 3d triangle something?....
04:39 PM rue_mohr: nono, think differenet
04:39 PM rue_mohr: http://ruemohr.org/~ircjunk/art/thnkdiff.gif
04:39 PM rue_mohr: no, not like that
04:40 PM rue_mohr: you got in trouble for using that mac as a doorstop...
04:40 PM rue_mohr: it was worth it.
04:40 PM rue_mohr: it was :)
04:41 PM rue_mohr: ok, kets say command line utility
04:41 PM rue_mohr: ok, calculator or what?
04:42 PM rue_mohr: sound something?
04:43 PM rue_mohr: do you have any programs you wanted to port?
04:43 PM rue_mohr: ooo a langage port!
04:44 PM rue_mohr: I sleep now
04:44 PM rue_mohr: NO WAIT, YOU CANT JUST DO THAT TO ME
04:44 PM rue_mohr: gnight
04:45 PM rue_mohr: NOOO!!!!! ARG!!!!!
04:45 PM rue_mohr: ok, its ok... I can do this without him
04:45 PM veverak: you seem pretty active today :)
04:46 PM rue_mohr: ok, how about this, take a file of 2d line segments, resolve them into polygons, and calculate the area of each polygon
04:47 PM rue_mohr: csv input format
04:47 PM rue_mohr: x1,y1,x2,y2
04:48 PM rue_mohr: veverak, is that over your head? do you forfit?
04:48 PM rue_mohr: my brain went to sleep, and I think I can still do it
04:48 PM rue_mohr: MMNMMMSPPP
04:48 PM rue_mohr: yea, its asleep
04:49 PM veverak: thought about how to do it parallel
04:49 PM rue_mohr: so you accept the challange?
04:49 PM veverak: tempted
04:49 PM veverak: but too late at night this day
04:49 PM rue_mohr: otherwise you admit c++ sucks
04:49 PM rue_mohr: not TONIGHT
04:50 PM rue_mohr: like by feb or soemthing
04:50 PM rue_mohr: we can build a data file we both use
04:50 PM rue_mohr: the best runtime/memory usage wins
04:50 PM veverak: rue_mohr: one test does not say that C++ sucks, nor C
04:50 PM veverak: tbh
04:51 PM rue_mohr: so, you forfit and admit C IS actaully better
04:51 PM rue_mohr: yay
04:51 PM veverak: not really
04:51 PM rue_mohr: I'll go back to my project then...
04:51 PM veverak: it just needs better testing
04:51 PM veverak: like wide range of written and compared code
04:51 PM veverak: small/big projects, multiple projects
04:51 PM veverak: :)
04:51 PM rue_mohr: the reputation of c++ is reseting on your shoulders
04:52 PM rue_mohr: your forfitting, so C wins
04:52 PM veverak: if you wish :)
04:52 PM rue_mohr: yay, I go back to my project.
04:52 PM * veverak still thinks C++ wons
04:52 PM rue_mohr: no, it lost, its champion forfit
04:52 PM rue_mohr: I win by default in the name of C
04:52 PM veverak: lol
04:52 PM rue_mohr: she crowd cheeers!!!
04:53 PM veverak: well, if that makes you feel any better :)
04:53 PM rue_mohr: well, 3 people in the crowd do anyhow
04:53 PM veverak: but you can;t hide the truth!
04:53 PM rue_mohr: the rest seem to be occupied with things on theri phones
04:53 PM rue_mohr: no, you forfit
04:53 PM rue_mohr: its fine, best to forfit than to be beaten
04:53 PM rue_mohr: np
04:53 PM * veverak is occupied with functional prompt in C++
04:54 PM rue_mohr: it will be noted that if you tried, you might have had a chance (haha like 3%) of a program that was faster and used less memory than my C implementation
04:55 PM rue_mohr: ok, I need to wrestle with motif, bbl
05:03 PM rue_mohr: as the victor, I state that java and c++ are suitable only for non-endproduct applications such as language education in schools. oop, is mostly just a joke
05:03 PM * rue_mohr mumbles that some overriding and inheritance dosn't hurt sometimes
05:04 PM veverak: lol
05:04 PM veverak: you still think you won? :)
05:04 PM veverak: also, why does everybody think that C++ is like java and it's all about OOP and inheritance?
05:04 PM rue_mohr: just last week I learned how to hide a function name in C, so you can have multiple functions with the same name
05:05 PM rue_mohr: c++ gave us the // comment type, thats all it was good for
05:05 PM veverak: well, the templates are nice
05:05 PM veverak: so is constexpr
05:05 PM veverak: namespace helps to live with libraries
05:05 PM veverak: operator overloading is awesome
05:06 PM rue_mohr: thats just bad
05:06 PM veverak: which one and why?
05:06 PM rue_mohr: tho I'm not really gonna shout out "void * for the win!"
05:07 PM veverak: (the good parts about OOP in C++ are constructors/destructors and private: )
05:07 PM veverak: (inheritance is just bad)
05:07 PM rue_mohr: dude, I'm coding on half a brain right now, I cant argue why you lost
05:07 PM veverak: not because you are tired, but because I don't lost!
05:07 PM * veverak hides
05:08 PM rue_mohr: you forfit
05:08 PM veverak: that's what you are claiming
05:08 PM rue_mohr: Tom_L, if two people are competing and one forfits, the other one is the winner, right?
05:08 PM rue_mohr: zhanx, ?
05:09 PM veverak: is saying that the competition would actually not prove anything equal to "I forfit?"
05:09 PM veverak: ?
05:10 PM rue_mohr: Kostenko, your is russia aren't you? does the forfitter or a competition win or lose over there?
05:10 PM veverak: lol
05:10 PM veverak: :)
05:11 PM rue_mohr: tsglove, well, damnit, where when you when I needed something to hit veverak with!
05:11 PM veverak: lol
05:11 PM veverak: :D
05:11 PM veverak: hmm
05:11 PM * veverak never seen rue_mohr do such an emotional reaction
05:11 PM rue_mohr: ok, the half of my brain that still works needs more tea
05:11 PM veverak: it seems like you are emotionally attached to C
05:11 PM veverak: and hate to accept that it sucks
05:12 PM * veverak runs and hides
05:12 PM * veverak got his troll hat on
05:12 PM rue_mohr: dude, c++ lost!
05:12 PM rue_mohr: tea
05:12 PM rue_mohr: wtf, why dont I put that thing beside the computer
05:14 PM veverak: that's what you try to convice yourself
05:14 PM * veverak is watchin serial and chatting on IRC instead of coding...
05:15 PM rue_mohr: I been in this argument before
05:15 PM rue_mohr: my buddy said that there was no reason in the world to code in assembler and that hello world could not be done in 20 bytes
05:15 PM rue_mohr: I WON
05:16 PM veverak: so
05:16 PM veverak: you won one challenge
05:16 PM veverak: does not make you winner of the others
05:16 PM rue_mohr: so I dont really care, cause I know your wrong, and you know it too, thats why you forfit, which is done and now I dont need to compete for it
05:16 PM veverak: I did not forfit, you interpreted it as such
05:16 PM rue_mohr: rue stop teasing him, I'm going back to sleep
05:17 PM veverak: and I am pretty sure I am not wrong :)
05:17 PM rue_mohr: I'm just saying that C makes smaller, faster program that use less memory, and that everything else, is by _some_ level of the defiition, bloatware
05:18 PM rue_mohr: because bad languages make bloatware
05:18 PM rue_mohr: thats why their bad
05:18 PM rue_mohr: easy to write, but makes write-only bloatware
05:18 PM rue_mohr: rue...
05:18 PM rue_mohr: ok, ok, widget manager, fiiiine...
05:18 PM veverak: And I'm just saying you can make programs and as small and as fast in C++
05:18 PM veverak: thing is
05:18 PM veverak: in less time
05:19 PM veverak: so more time to optimize it
05:19 PM veverak: hence it is faster
05:19 PM veverak: ::)
05:19 PM rue_mohr: I knew you were an alien
05:20 PM rue_mohr: you lost, give me your ship, I need to get off this rock.
05:20 PM rue_mohr: ... do you have a ship?....
05:20 PM rue_mohr: a pass will do, I'll take pass.....
05:20 PM rue_mohr: or just a lift, I mean, I can compromise here...
05:21 PM rue_mohr: BUT THE CLOTHES AND THE MP3 PLAYER ARE COMMING WITH ME
05:21 PM rue_mohr: rue... widget, geez...
05:21 PM veverak: wait
05:21 PM veverak: what?
05:21 PM veverak: :D
05:22 PM rue_mohr: sorry, seen all 4 eyes, keeping 2 closed wont undo it now
05:22 PM veverak: I see
05:22 PM rue_mohr: GET ME OFF THIS ROCK!!!
05:22 PM rue_mohr: er,
05:22 PM veverak: :::)
05:22 PM * rue_mohr clears throat
05:22 PM rue_mohr: eeek!
05:22 PM rue_mohr: please?
05:22 PM rue_mohr: its lonley and their all dumb-asses
05:22 PM veverak: :::))
05:22 PM rue_mohr: mostly..
05:23 PM veverak: rue_mohr: only if you can write C++ like we do
05:23 PM veverak: as C++ is the language of our spaceship!
05:23 PM rue_mohr: you lost, give up
05:23 PM veverak: that's what you think
05:23 PM veverak: and I like to troll you about it
05:23 PM veverak: :)
05:24 PM rue_mohr: rue, I'm trying to sleep, work on the code
05:24 PM rue_mohr: BUT VEVERAK IS NAGGING ME!!!
05:24 PM veverak: I am
05:24 PM veverak: that's the point of trolling
05:24 PM rue_mohr: dude, leave him,
05:24 PM * veverak still got his troll hat on
05:25 PM veverak: so, you know...
05:25 PM rue_mohr: only 3 people left alive anyhow
05:25 PM rue_mohr: recon I should have built a ship by now
05:25 PM rue_mohr: oh your just not gonna let me get any rest are you?
05:25 PM rue_mohr: can I build one?
05:25 PM rue_mohr: sure sure, can i get some sleep?
05:26 PM rue_mohr: but, will you give me a hand
05:26 PM rue_mohr: sure, sure, sleeeep?
05:26 PM rue_mohr: ask veverak a coding question
05:26 PM rue_mohr: WHY WOULD I GO AND DO THAT!
05:27 PM rue_mohr: ouch, softly,
05:27 PM rue_mohr: why would I do that
05:27 PM rue_mohr: to be nice, get some exterior vantage
05:27 PM rue_mohr: i dont want any
05:27 PM rue_mohr: your loss
05:27 PM rue_mohr: its not tho
05:27 PM rue_mohr: ugh
05:28 PM rue_mohr: .... rue... whats the next step with this layout manager?
05:28 PM rue_mohr: mrmmrmmmmm
05:28 PM rue_mohr: :/
05:29 PM rue_mohr: stretch right... er, no... uh
05:30 PM rue_mohr: variable column count I suppose
05:31 PM rue_mohr: no eamils
05:31 PM rue_mohr: "Their dead Dave, their all Dead"
05:31 PM rue_mohr: "Everyone is dead Dave"
05:31 PM rue_mohr: "Everyone"
05:32 PM rue_mohr: "Yes Dave, dead. Everyone is dead Dave"
05:34 PM rue_mohr: int rowMax = 2; // haha I hard coded your ass
05:53 PM veverak: lol
05:56 PM rue_mohr: rowMax = parent->gridMan.columns;
05:56 PM rue_mohr: its ok, fixed now
06:03 PM Tom_L: this is pissin me off
06:04 PM veverak: wait
06:04 PM veverak: what
06:04 PM veverak: rue_mohr: you are using camelCase for the names of attributes?
06:04 PM veverak: blasphemy!
06:04 PM Tom_L: i've got a csv file i import to my phone and some of the records don't import but if i copy a record above, including and below the ones that don't get copied to another csv file and import them, they come in fine
06:05 PM Tom_L: no formating change at all
07:01 PM rue_mohr: isthe text on a button a prompt or an identifier?
07:02 PM rue_mohr: Tom_L, can you pastebin the examples of that?
07:02 PM Tom_L: identifier
07:02 PM Tom_L: it could be the data
07:02 PM Tom_L: i'm gonna try different delimiters
07:03 PM Tom_L: no i can't post the data
07:07 PM rue_mohr: ITS ALL THE CREDIT CARD NUMBERS!!!
07:07 PM rue_mohr: :)
07:08 PM rue_mohr: if you work out the difference and I could maybe write a normalizer
07:08 PM rue_mohr: dude, wtf, you dont ahve infinite time!
07:08 PM rue_mohr: bbbut... we can help tom right?
07:08 PM rue_mohr: sure and save the whales too, sure cause OH YEA YOUR GONNA DIE
07:08 PM rue_mohr: but when
07:08 PM rue_mohr: sooner if you dont not die!
07:09 PM rue_mohr: hu?
07:09 PM Tom_L: working on it..
07:09 PM rue_mohr: ok, so I fixed the param to specify the columsn
07:10 PM rue_mohr: so, next I need to stretch the last column
07:10 PM rue_mohr: dont we want a flag for that?
07:10 PM rue_mohr: you have a flag for justification, isn't that enough?
07:10 PM Syllin: i'm looking for a cheapish way to automate pressing buttons on a joycon. my best idea is to rig up some kind of linear actuator, maybe on a gear motor (the buttons are laid out in a diamond shape). total noob here. anyone have any helpful hints?
07:10 PM rue_mohr: hmm
07:10 PM Syllin: (nintendo joycon)
07:11 PM rue_mohr: is the goal to press the button or trigger the function
07:11 PM Syllin: trigger the function
07:11 PM rue_mohr: ok, use an opto isolator across the button leads
07:11 PM rue_mohr: the...
07:12 PM Syllin: thanks, i'll look in to that
07:12 PM rue_mohr: wait
07:12 PM rue_mohr: I have a part number for you
07:15 PM rue_mohr: gee I buy a lot of things
07:15 PM Syllin: hmm found this on https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering, "Also, in a bizarre move, Nintendo didn't use the traditional "one side pulled-up other side to ground" way of reading buttons, instead they used a keypad configuration where buttons are arranged in rows and columns. They used the keypad scanner built-in inside the
07:15 PM Syllin: BCM20734 with 128KHz clock for reading the buttons. That means it would be extremely hard to spoof button presses for TAS and twitch-plays. Maybe the Pro controller is different, need to buy one though."
07:15 PM rue_mohr: Syllin, you still here, hold up
07:15 PM Syllin: holding up :)
07:16 PM rue_mohr: I bought some recently I'm looking up the part number
07:17 PM rue_mohr: apparently I buy a lot of things
07:18 PM rue_mohr: going on page 16...
07:19 PM rue_mohr: 23...
07:20 PM Syllin: :D
07:21 PM rue_mohr: 33...
07:22 PM rue_mohr: maybe those last 6 months really didn't dissapear
07:23 PM rue_mohr: NCP1200P60 ?
07:24 PM rue_mohr: nope
07:24 PM Tom_L: ok different delimiters didn't help
07:24 PM Tom_L: tried some odd ones and it just got worse
07:24 PM rue_mohr: UPC1701C ?
07:25 PM rue_mohr: nope
07:25 PM rue_mohr: t6his is stupid, lets try something else
07:27 PM rue_shop5: Syllin, H11F1
07:28 PM Syllin: cool, thanks
07:31 PM rue_mohr: its special because it doesn't matter which way you put it around the switch
07:31 PM rue_mohr: where were we
07:31 PM rue_mohr: stretch option
07:32 PM rue_mohr: ok so wait
07:32 PM rue_mohr: left justify, cintre, right, or stretch
07:32 PM rue_mohr: cinter, I like that, you use that on gui objects you dont like?
07:32 PM rue_mohr: shoosh
07:32 PM rue_mohr: ok
07:32 PM rue_mohr: so?
07:33 PM rue_mohr: mmm shmmmshing
07:33 PM rue_mohr: I need to know, stretch and justify or not
07:33 PM rue_mohr: mmm shmmmshing
07:33 PM rue_mohr: I'll take away your tea
07:34 PM rue_mohr: ok, ok, yes, add another justify type for stretching
07:34 PM rue_mohr: ok, so we have an offset in pixels or percent, and a justify method
07:37 PM rue_mohr: what if we dont want the last column to be the one that makes up with width?
07:37 PM rue_mohr: DONT EVEN GO THERE, I'm not trying to write the uiniverse
07:37 PM rue_mohr: code the universe?
07:37 PM rue_mohr: NO!
07:37 PM rue_mohr: code you
07:37 PM rue_mohr: yes, what are you on about?
07:37 PM rue_mohr: just testing
07:44 PM rue_mohr: 2 levels here
07:44 PM rue_mohr: no, always apply remaining width to the last column
07:44 PM rue_mohr: and your supper is burning...
07:44 PM rue_mohr: WHAT!?
08:20 PM Tom_L: i give up on this fcking file
08:20 PM Tom_L: excel imports it fine
08:23 PM rue_mohr: I'd love to hlep
08:23 PM Tom_L: not much you can do really
08:23 PM rue_mohr: can you find anything that might be the difference between it importing or not?
08:24 PM Tom_L: it's probably their program
08:24 PM Tom_L: maybe too many records?
08:24 PM Tom_L: i dunno
08:24 PM rue_mohr: maybe its written in JAVA
08:24 PM rue_mohr: }:/
08:24 PM Tom_L: https://mementodatabase.com/
08:24 PM Tom_L: android
08:25 PM rue_mohr: yup, prolly java then
08:28 PM Tom_L: i split it in half to try
08:29 PM Tom_L: still says it missed about 400 files
08:30 PM rue_mohr: no pattern to it?
08:32 PM Tom_L: not that i can see
08:33 PM Tom_L: i can pull some of the records that don't show up and their surrounding ones to a separate file and they import fine
08:33 PM Tom_L: problem is, it's hard to tell which ones are missing
08:33 PM Tom_L: but i've targeted a few i'm testing with
08:34 PM rue_mohr: how many columsn are there?
08:34 PM rue_mohr: about 1000 rows?
08:34 PM rue_mohr: csv?
08:35 PM Tom_L: 17
08:35 PM Tom_L: about over 7k records
08:35 PM rue_mohr: }:] THAT! I can work with!
08:35 PM Tom_L: excel imports it fine
08:36 PM rue_mohr: just stand by I can only type so fast
08:36 PM Tom_L: i generate the csv myself
08:36 PM Tom_L: fwrite
08:36 PM Tom_L: i can show you that code
08:36 PM Tom_L: just not the data
08:36 PM Tom_L: or the pertinent part at least
08:37 PM Tom_L: no need for the whole code
08:37 PM rue_mohr: the phone is whats not importing it tho, right?
08:37 PM Tom_L: yes
08:37 PM Tom_L: it gets most of it
08:37 PM rue_mohr: will it show you the rows?
08:37 PM rue_mohr: like, how can you look up the data
08:37 PM Tom_L: no
08:38 PM Tom_L: it shows it as a sorted list
08:38 PM rue_mohr: how do you kow rows are missing
08:38 PM Tom_L: of 7581 records it imports 6862
08:39 PM rue_mohr: record count, cool
08:39 PM Tom_L: but i tried splitting it in half and the same ones didn't import of that half
08:39 PM Tom_L: but i can pull them and their surrounding ones to a file and they import fine
08:40 PM rue_mohr: its taking a metacharacter then
08:40 PM rue_mohr: and ignoring everything till the finish metacharacter
08:41 PM rue_mohr: its all supposed to be text data right?
08:41 PM rue_mohr: no binary?
08:41 PM Tom_L: yes
08:41 PM rue_mohr: so there is probably binary in it
08:42 PM Tom_L: no there shouldn't be any
08:42 PM rue_mohr: I bet there is
08:42 PM rue_mohr: one mi..
08:42 PM Tom_L: i convert everything to ascii when i fwrite it
08:42 PM rue_mohr: min
08:42 PM Tom_L: i'm gonna move to garf
09:22 PM rue_mohr: almost done my motif layout widget!
09:22 PM rue_mohr: geeesh