Minetest logo

IRC log for #minetest, 2015-04-30

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:29 AnotherBrick joined #minetest
00:38 fling joined #minetest
00:42 kahrl exio4, do you know any Haskell tutorial that doesn't use single-character variable names
00:42 kahrl I just realized that that is the part that always makes me want to stop continuing
00:43 AndroidKris What do you mean by library kahrl
00:43 kahrl AndroidKris: something you can write a program with to capture video from a webcam
00:44 AndroidKris hmmmmm....I have no idea how to write a program, but it sounds intriguing nonetheless.
00:45 AndroidKris If I had any experience, I might be tempted to try. Cause I would totally turn this thing into a nanny cam.lol
00:53 AndroidKris Yo, I think I need to look at installing ZoneMinder and getting a few more of these cheapo webcams to diy my home security system.lol
00:53 Hijiri kahrl: the single-letter variables thing is sort of a part of Haskell idioms - you will see them used in standard library functions, other real code, etc, at least where the meaning is clear or familiar ("xs" for lists of "x", "p" for predicate, etc.)
00:54 Hijiri I think part of the issue is that a lot of functions are generic enough that it's hard to find meaningful names to bind to
00:54 kahrl I wouldn't mind that much if it was only a few well-known idioms
00:55 kahrl it seems used for all kinds of special-purpose stuff everywhere though
00:55 kahrl maybe a lazy language just makes the programmers lazy in picking names :P
00:57 AndroidKris That makes a lot of sense actually. I don't think I would want to use, or even learn a "lazy language" as you so eloquently put it.lol
00:57 kahrl but yeah I see the point about abstraction, yet it seems a bit overdone often when better names could be used
00:58 Hijiri AndroidKris: Do you know what lazy means in this context
00:58 AndroidKris I'm assuming a sort of "short hand"
00:58 Hijiri Expressions in Haskell have non-strict evaluation
00:59 Hijiri Which means that values don't get evaluated just because they are bound, or are used as a function argument
00:59 Hijiri they get evaluated when they are pattern-matched on
00:59 Hijiri GHC uses a specific sort of nonstrict evaluation called lazy evaluation
00:59 Hijiri Which is nonstrictness + memoization
01:00 Hijiri In an imperative language or a functional language with side-effects mixed into evaluation, this would be a disaster because it's hard to know when or how many times something will be evaluated
01:01 Hijiri But since expression evaluation in Haskell doesn't cause side-effects, you're allowedto do this fairly safely
01:01 Hijiri So the comment about lazy language -> lazy naming is just a play on words
01:02 Hijiri A neat thing that lazy evaluation allows is the easy definition of infinite data structures
01:02 Hijiri For instance, "[1..]" will give you an infinite list of numbers counting up from 1
01:02 Hijiri and then you can get the head of the list, take a sublist, etc., without the program halting, since you don't evaluate the whole list at once
01:03 AndroidKris I see said the blind man. If I had known before hand, I would have laughed at the wordplay, instead of sounding like a moron with my comment.lol
01:03 AndroidKris I need to go back to college.
01:03 AndroidKris I regret dropping out.
01:04 AndroidKris :(
01:04 Enke joined #minetest
01:04 Freejack joined #minetest
01:04 kahrl I don't think many colleges teach functional programming these days, be it Haskell or a subset of Racket or something else
01:05 Hijiri my college doesn't teach Haskell except in grad school
01:05 Hijiri I think a lot of european colleges do FP though
01:06 AndroidKris maybe not, but they have plenty of classes that can serve as a foundation to learning (or self-teaching, as it were), other languages and skills
01:06 kahrl the one I went to did (Scheme), they switched to Java and C recently though, I think
01:07 kahrl due to student complaints about how scheme isn't "useful in the job market" and the FP professor retiring :/
01:08 Hijiri they could teach clojure, I think that's getting popular in some job places
01:08 Hijiri (I don't know clojure so I don't know how well that would go)
01:09 kahrl I don't see why freshman programming classes need to use a job market relevant programming language anyway
01:10 kahrl by the time one graduates, one has hopefully learned enough other languages on their own to be able to land a job
01:10 Hijiri maybe the school wants to loan its students out as interns?
01:10 Hijiri AndroidKris: If you want to try out Haskell, I recommend this guide: https://github.com/bitemyapp/learnhaskell
01:11 kahrl that wasn't a widespread practise when I was there, at least
01:11 Hijiri the haskell.org site also has a repl on the page that you can demo
01:11 AndroidKris Thanks for the link. I'll bookmark it and take a look at it in the very near future.
01:11 Hijiri kahrl: I don't know if it actually happens
01:11 AndroidKris (got kind of a full plate as it is)
01:11 kahrl of course any student could do that on their own, but it wasn't required for a degree
01:17 jojoa1997 joined #minetest
01:17 exio4 well, I sadly don't know any specific tutorial that doesn't uses short variable names kahrl :p
01:17 exio4 the idea is that the smaller the scope, the "shorter" the name
01:18 exio4 if it is a function that's unsafe, and is available at top level
01:18 fling joined #minetest
01:18 exio4 it is called "unsafeDoSomethingVeryHardDon'tDoItAthome"
01:18 kahrl hehe
01:18 exio4 if it is bound by pattern matching and goes out of scope in the next recursion, you call it 'x'
01:18 jojoa1997 lol
01:19 exio4 if it is in the closure of a recursive function, like a function, you could use either 'f', 'g', 'h', ... too, or just if you are recursing there, it's basically that we don't want to write more than _we could write_, not more than enough
01:19 exio4 we're too lazy
01:20 Wayward_Tab joined #minetest
01:20 exio4 if the function goes over a bigger scope, yet still not top-level, maybe calling it 'fn', 'func' or 'fun' are good names
01:20 exio4 (you already know this, I am just saying it :p)
01:21 exio4 if you find a top-level function named "f" though, it's a bad thing(tm) :p
01:22 kahrl I guess the problem is that I tend to try to understand programs top-down
01:22 kahrl first get a general idea of what each module does, then functions
01:22 kahrl (I'm ignoring OOP for now)
01:23 kahrl by looking at the names and, if it exists, the first sentence of the documentation
01:23 exio4 that's what I would try to use types for
01:23 exio4 kahrl: I guess you know about 'point-free' code, which doesn't even name the variables you use
01:23 kahrl then learn/guess what each parameter, again by looking at the name or docs
01:24 kahrl exio4: I don't
01:24 kahrl well, with haskell, I find that I need to understand each function bottom-up by looking at the implementation and internalizing it
01:24 AndroidKris As I read the info on Hascell at the github link, I saw the different install methods and my A.D.D. randomly brought up the fact that last week I was looking into switching from Xubuntu to a pure Debian environment, but never actually did anything about it. I guess my point is, Does anyone prefer one over the other?
01:25 exio4 kahrl: hm, well, pure functions are totally deterministic, and what isn't said by the code, is said by the type
01:26 Hijiri I prefer Debian over Ubuntu in general since it's easy to install only freedomware
01:26 Hijiri I haven't used Xubuntu, but I used to use XFCE and prefer xmonad now
01:26 exio4 I actually consider functions blackboxes that do "something" (this should be a comment, or having well-defined types which only let you do a restricted set of operators plus function names)
01:27 exio4 and if you need to look at a function, you consider it on its own, ignoring pretty much anything else, and considering the new functions you use as "smaller blackboxes" :p
01:27 exio4 this is what I do though, not what anyone should or could do
01:27 exio4 kahrl: how "far" are you in the haskell world?
01:28 kahrl not very far at all
01:28 exio4 well, you know how (lambda (x) (f x)) is the same as just "f"?
01:28 kahrl as I said, I usually stop with the tutorials
01:28 kahrl yeah I know lambda calculus
01:28 exio4 \x -> f x == f ; eta-reduction
01:28 kahrl ah, you mean that by point-free code
01:28 VanessaE kahrl: that reads like "I know kung fu" :)
01:29 exio4 yes, the idea is that you take even further
01:29 exio4 kahrl: have you heard/read of combinatory logic?
01:29 exio4 SKI combinators?
01:29 kahrl nope
01:30 exio4 well, nevermind then, I don't really know how to explain them without going down the rabbit hole :p
01:30 exio4 the idea is that there are things like
01:30 AndroidKris Hijiri: Isn't it convenient that xmonad is written in Haskell?lol
01:31 exio4 ap f g x = f x (g x)
01:31 exio4 i x = x
01:31 AndroidKris Actually, more accurately, it's ironic.
01:31 exio4 k x c = x
01:31 kahrl well I think I can deal with point-free code pretty well, since that's mostly like what you do in math when you consider biduals of vector/normed spaces, and so on
01:31 exio4 kahrl: well, yeah, the idea is that you pretty you avoid using variables, just function composition
01:31 Hijiri I'm pretty sure I came across xmonad because of haskell
01:32 Hijiri and then decided to use it because tiling WMs are for cool hackers
01:32 exio4 (+1) . (+2) == \x -> (+1) ((+2) x) == 1+2+x
01:32 exio4 this is nicer when considering things like map
01:32 exio4 map f . map g
01:33 kahrl ahh okay
01:33 exio4 the idea is that instead of doing
01:33 exio4 something x = map f (map g (map h x))
01:33 exio4 you write
01:33 exio4 something = map f . map g . map h
01:33 AndroidKris *wants to be a cool hacker too.
01:33 kahrl why not map (f . g)?
01:33 * AndroidKris wants to be a cool hacker too.
01:33 exio4 psh, because that's even more nicer!
01:34 exio4 and yeah, instead of map (\x -> f (g (h x))), write map (f . g . h) :p
01:35 exio4 also, in names, it seems pretty obvious that things that are used "rarely" get longer names than those that are used a lot
01:35 exio4 and some things even get infix operators
01:35 exio4 like <$> for fmap, <*> for ap, >>= for bind, <> for monoid's mappend..
01:36 exio4 kahrl: remember that thing you said about "carrying the state around"?
01:36 kahrl the thing is, when you stumble across such line noise (:P) it's hard to ixquick what it means
01:36 exio4 in pure functional code
01:37 exio4 kahrl: right, that's why using special things like hoogle/hayoo/etc seem to be really cool
01:37 kahrl ah, I didn't know about those, that's pretty cool
01:38 exio4 you can search by type, function name/operator, and other things
01:38 exio4 you can say "duh, what's this (<>) thing? where does it comes from?"
01:38 exio4 and search it in hoogle and get answers from which libraries, which type it has, etc
01:39 exio4 I think the biggest 'problem' with haskell is that, too
01:41 exio4 I should stop selling Haskell
01:41 exio4 people might start thinking my work is selling it! :p
01:43 exio4 I basically spend 4~ hours per week (irl), telling things that Haskell and more generally functional programming does differently
01:44 AndroidKris exio4: I think I have an understanding of what you mean by "functional programming", but could you more concisely define it? Is there a "dysfunctional programming"?
01:44 exio4 I think it's an 4/8 extra hours per week on irc too
01:45 kahrl yeah, that's pretty much approaching a part-time job :)
01:45 exio4 AndroidKris: functional programming is basically a not so cool name, but it is normally used to refer to languages where functions are "first-class" (I'll explain this in a bit) and where pretty much the way to abstract things is using high-order-functions (will explain, too)
01:45 ClaudeRoy joined #minetest
01:46 exio4 "first class functions" means functions are just typical and normal values you can store in a variable, a structure, return them from a function, and what not
01:46 exio4 a "typical" example, would be a list of functions, or something similar
01:47 exio4 "high-order functions" are specifically functions that either take functions as arguments, return functions, or both
01:48 exio4 AndroidKris: a key thing that functional languages do differently, normally, is go with the a "immutable by default" (ML..)
01:48 Shackra joined #minetest
01:49 exio4 AndroidKris: basically, when you say x is 1, it's never going to be 2, this helps for various things, one of those, is being able to reason about the correctness of the code in an easier manner
01:49 exio4 it also allows for reducing things that'd be "am I passing this by reference, or by value?"
01:49 exio4 because it doesn't matter!
01:50 exio4 some languages, such as ML/OCaml,... allow you to have unrestricted mutable data, but it getting it's own "special" reference type... wow rude
01:50 AndroidKris joined #minetest
01:51 exio4 other languages, like Haskell, which tend to be called "pure", disallow mutable data, by forcing you to keep it in its own contexts, and limiting "side-effects" to self-contained functions, etc
01:51 exio4 (there are functional languages which do neither of this, though)
01:51 AndroidKris joined #minetest
01:52 exio4 kahrl: yeah, but I wouldn't sell stuff I don't really like if it was my job :p
01:53 AndroidKris joined #minetest
01:53 exio4 AndroidKris: network problems? :P
01:53 AndroidKris Isp throttled me
01:54 AndroidKris I'm running at a 512kbps satellite connection speed, with an overcast sky, at the moment.
01:54 exio4 your ISP seems to be not so cool, killing networks ain't nice! :p
01:54 AndroidKris :/
01:54 exio4 oh well
01:54 Viper168 joined #minetest
01:55 exio4 AndroidKris: http://irc.minetest.ru/min​etest/2015-04-30#i_4236478
01:55 AndroidKris I keep trying to tell them that. I even brought up the new FCC reclassification of ISPs to try to convince them that they couldn't throttle me any more. They just brought up the fact that I signed a two year agreement with them and they didn't have to change anything until the agreement was up.
01:55 AndroidKris lame
01:56 exio4 I see
01:57 AndroidKris I like the "wow rude" comment.
01:57 * AndroidKris nods
01:57 AndroidKris my bad
01:57 exio4 that was becuse you just had quit :p
01:57 exio4 while I was writing that
01:57 AndroidKris yeah, I know. It may happen a few more times tonight too.lol
01:58 AndroidKris I apologize in advance in case it does.
01:58 exio4 I'll be working on a few examples and demos of Haskell for the discrete math prof tomorrow
01:58 Akagi201 joined #minetest
01:59 exio4 I showed a few small functions, and how basically the language does lots of things that look 'obvious' from a mathematical standpoint, and how it allows some kind of reasoning extremely easy, like induction :D
02:00 exio4 (which is the next topic we will learn)
02:00 exio4 I think the "last" one of this year is rings
02:00 exio4 last topic
02:03 AndroidKris My brain is starting to hurt.lol
02:04 AndroidKris No offense. It's actually very interesting. I just have to much blood in my alcohol stream to stay focused on this at the moment.
02:04 AndroidKris Besides that, I've been a stay at home dad for the past three weeks and it's draining me.lol
02:06 exio4 nah, don't worry
02:06 exio4 the concepts from the "FP world" feel and are extremely complex unless you're used a little bit to them
02:07 exio4 it's basically a new way to think problems, which needs you to rewire your neurons :P
02:07 kahrl it might actually be easier for you since you haven't done imperative programming yet
02:08 exio4 oh, sorry
02:08 ClaudeRoy joined #minetest
02:08 exio4 I thought (s)he knew how to program in an imperative language :p
02:09 kahrl he, probably, considering the dad comment :P
02:09 AndroidKris joined #minetest
02:09 AndroidKris I'm usually a pretty quick study, no matter the subject. I have a habit of "wiping the slate" when approaching a new subject, even ones that may be closely related.
02:09 AndroidKris And I'm a he...hence the "Stay at Home Dad" phrase.lol
02:10 exio4 oh
02:10 exio4 I am a bit tired, have been at uni for a few hours
02:11 AndroidKris Yes, I know...AndroidKris...If one assumes that Kris is my real name based on this nick, then one would probably also assume that I'm female due to the effeminate spelling of my name.
02:11 AndroidKris uni is what exactly exio04?
02:11 exio4 nah, I just said (s)he as some people don't seem to like being confused :p
02:11 exio4 university
02:12 kahrl AndroidKris: I thought you were a robot, because of the first part of the name :P
02:12 AndroidKris Lawls. Well, kahrl, that's a first.
02:12 exio4 I want a robot that writes code for me
02:12 AndroidKris but if I were a robot, wouldn't you think I would be at least a little smarter?
02:12 exio4 actually, not write but fix
02:12 exio4 because writing code is amazing
02:13 kahrl well the robots I helped construct in college were actually pretty dumb, heh
02:13 kahrl so you're already a lot smarter than them
02:13 exio4 anyway, I have a problem I can't really solve :(
02:13 exio4 I am solving the eight queens problem extremely naively
02:14 AndroidKris eight queens?
02:14 exio4 you have eight queens, in a 8x8 ('chess') board, you need to place them such that no queen can "directly eat" other queen
02:15 AndroidKris How does one queen eat another?
02:15 exio4 being in the same row / column / diagonal
02:15 exio4 https://en.wikipedia.org/wiki/Eight_queens_puzzle
02:15 AndroidKris ooooooo....I likey these kind of puzzles.
02:16 exio4 I have it generalized, for N queens in a NxN board, my problem is that if naively generate posibilites from the set of possible "free spaces", I am basically doing some work more than once
02:17 exio4 because [(1,1) , (2,3), (5,7)] is the same as [(1,1), (5,7), (2,3)], and [(2,3), (5,7), (1,1)] and ...
02:18 exio4 my first version, basically did that ^, so I had to "remove the duplicates" at the end, which was somewhat fast, but it generated lots of useless values
02:18 kahrl exio4: hmm, maybe generate them row by row?
02:18 kahrl exio4: so you only end up with sorted possibilities
02:19 exio4 kahrl: you mean generate [(1,x)] [(2,x)] ... and so on, and then "naively combine" those?
02:20 kahrl exio4: yeah, something like that. What's your current algorithm?
02:20 AndroidKris Well, I don't know the code, but I have a few "logical" insights if you would like my $0.02
02:21 exio4 AndroidKris: those are better than code :)
02:21 exio4 kahrl: let me finish :p
02:21 kahrl exio4: oh sorry, didn't think I interrupted, go ahead
02:22 exio4 I just thought "I could generate the posibilites, and then write down which ones are the ones that I already travelled" so I went with representing paths as ordered sets (binary trees, basically), and keep a binary tree with posibilites where I keep adding values
02:23 exio4 and then, "reduce" the solutions in every step to the ones that aren't in that set
02:23 exio4 the problem is that I now spend over 80% of the time in that binary tree
02:23 exio4 I'll post my actual code
02:24 kahrl exio4: not sure I fully understand it yet, but maybe instead of a tree, just use a list
02:24 kahrl exio4: and whenever you would insert a value that wouldn't be added to the ended in a sorted list, just abort that entire part of the computation
02:24 kahrl added to the end*
02:25 AndroidKris With over 4.4 billion arrangements on an 8x8 grid. (not solutions, just arrangements), that is a LOT of double checking for already traveled posibilities.
02:25 OldCoder joined #minetest
02:25 exio4 I think the biggest problem with my actual approach was trying "all" free posibilites naively
02:25 AndroidKris joined #minetest
02:26 exio4 by the way, I tried with the naive algorithm at first, finding all solutions the to 8x8 grid, it took 20~ minutes on my laptop
02:26 exio4 using a single core of my netbook, 1.6ghz.. intel atom.. :P
02:26 kahrl what language? (I have a guess but... :P)
02:26 exio4 on*
02:26 exio4 kahrl: guess which language and I am pretty sure you'll have a correct answer
02:26 kahrl okay :)
02:27 exio4 oh, and half of the code is in spanish, and the other half in english, let me fix it
02:28 AndroidKris 4x4 is the smallest possible grid. A grid one quarter the size would cut out 3/4 of the work for a solution and simplify the coding...Then you expand the code to incorporate 5x5, then 6x6, etc.
02:29 sofar exio4: I wrote a solution in pascal in 1996 that generated all 12 unique results (plus all the symmetrical ones) in 8 minutes on a 80286
02:29 sofar exio4: too bad I don't have that code anymore, but it was rather simple....
02:30 exio4 yeah, kahrl's approach seems to be the easiest for not doing too much work
02:31 sofar yup, I used a list to store previously found solutions
02:32 sofar it helps to make a recursive solver too, code gets really small
02:32 sofar anyway, it's a great CS major exercise :)
02:32 AndroidKris What is the ultimate goal of your coding here exio04?
02:32 sofar I once asked a guy in an interview to discuss how he would design it
02:33 exio4 heh
02:34 AndroidKris exio4, what does your code need to have produced when it completes it's task?
02:35 exio4 valid solutions to the problem
02:35 AndroidKris all of them?
02:35 exio4 http://dpaste.com/22W8BZ5
02:35 AndroidKris all 92?
02:36 exio4 AndroidKris: I basically wrote the code such that you can ask for n solutions
02:36 exio4 generating only n solutions is done automatically by exploiting lazyness
02:36 AndroidKris n would be based on the number of queens and grid size.
02:37 AndroidKris I keep saying 92 because that's how many solutions there are for 8x8
02:37 exio4 yes, I know :p
02:37 exio4 anyway
02:38 AndroidKris Sorry, speaking(typing) so I can keep it straight in my mind
02:38 exio4 having a queen on every row / column is a fact I could/show exploit
02:38 exio4 should*
02:38 exio4 lol, the code I pasted is the one before I pressed "save", so it's still in spanish, just realzied
02:38 AndroidKris It would reduce the number of possibilities dramatically
02:39 exio4 and would make my problem of repeated paths go away
02:39 AndroidKris yup
02:40 exio4 I might throw away the whole code and start again
02:40 exio4 yup, will do that
02:40 AndroidKris Nice code btw....especially the Punto = Reina
02:40 AndroidKris lol
02:40 exio4 it's spanish :P
02:40 AndroidKris Not sure if Reina is a person, or what, but I know what Punto means.
02:41 exio4 Reina is Queen
02:41 AndroidKris Ah, that's an interesting way of referring to a queen...as Punto.
02:41 AndroidKris lol
02:42 kahrl exio4: I haven't looked at your code yet, but this brute force thing I just whipped together seems to do pretty well: http://dpaste.com/2HSXV86
02:42 AndroidKris wow, fifteen minutes and kahrl has a solution.lol
02:42 sofar 92 is not divisible by 8, explain why there's only 92 and not 96 (which is 12x8)
02:43 exio4 right
02:43 AndroidKris sofar, duplicate solutions
02:43 sofar incomplete answer
02:43 kahrl sofar: some solutions are equal to their rotated/flipped counterparts?
02:43 sofar have you looked at why 11 solutions have 8 symmetries, but ONE has only 4?
02:43 exio4 some solutions only have two "duplicates" (rotated/flipped)
02:44 sofar incorrect as well
02:44 sofar 11 solutions have 7 symmetry siblings (lets call em that)
02:44 AndroidKris example: if two unique solutions have the same "mirror" the mirror for one is removed as a possible
02:44 AndroidKris possibility
02:44 sofar one of them is POINT-symmetric
02:44 sofar therefore, only 3 symmetry siblings
02:45 sofar so you have 11*8 + 1*4
02:45 exio4 kahrl: yes, the problem with my algorithm is that I naively repeat pathways
02:49 ir2ivps10 joined #minetest
02:50 YvesLevier Hey :) - plz How can i separate a stack of MineCarts one by one using mesecon?  You cant imagine the weirds solutions i tried...
02:51 AndroidKris YvesLevier: like connecting them similar to a train?
02:53 YvesLevier AndroidKris: kinda...  I have transportation stations.  I would want to replace a cart in the station when one goes.  Easy... but they are all stacked in one pile.
02:54 YvesLevier Just cant manage that!
02:54 YvesLevier As soon they stack, i cant separate otherway than manually.
02:55 YvesLevier See?
02:55 AndroidKris Use powered rails and not gates...basically, when the entering cart crosses a certain rail, it flips a switch to turn on the rail that the next cart is resting on and sends it on it's way.
02:56 AndroidKris ^^Theoretically possible, not practiced, so don't hate me if it doesn't work
02:58 YvesLevier sure i tried to...  even with pushable blocks, but all goes along since they are in only one pile...
03:01 YvesLevier Will try to randomly get them seperate using blinking flowers and hills
03:02 YvesLevier VanessaE: ^ are you active? ^
03:05 AndroidKris joined #minetest
03:07 AndroidKris And if the next cart needs a push, use pistons.
03:07 AndroidKris Sorry about the disconnect, crappy internet
03:11 AndroidKris YvesLevier, are you using this mod? https://forum.minetest.net/viewtopic.php?id=2451
03:12 exio4 wow rude
03:12 YvesLevier pistons dont destroy rails as in MineCraft.  brb
03:12 AndroidKris me?
03:13 AndroidKris exio4^^
03:13 YvesLevier AndroidKris: Yes im using this mod
03:15 exio4 welp, I am generating 94 solutions
03:16 AndroidKris Duplicates
03:17 exio4 oh wait, I am miscounting a few things
03:17 YvesLevier also node detector dont detect carts, even programmed for that.
03:18 YvesLevier It detects rails but not the cart on it
03:18 exio4 this is generating only 92 solutions
03:18 YvesLevier i tried under, side, over...
03:18 exio4 and it takes <0.02s
03:19 YvesLevier AndroidKris: What you mean "Duplicates"?
03:20 AndroidKris not you YvesLevier, sorry, I meant that to exio4
03:20 YvesLevier kk
03:23 YvesLevier In MineCraft, there was detect-rails that activate a redstone system.  I found none of something similar in Minetest.  Dont think i regret MineCraft.  Just that im lost about detecting a cart without a passenger in.
03:25 exio4 kahrl, AndroidKris, http://dpaste.com/0VA1XAB
03:25 YvesLevier If so, i shall be able to keep them seperated.
03:27 AndroidKris Minetest is still a bit behind minecraft in a development sense YvesLevier, so the detect rails may not actually be there yet.
03:27 exio4 maybe I can microptimize now
03:27 AndroidKris exio4, you know that's going to look like gibberish to me right.
03:28 exio4 aw :p
03:28 AndroidKris Although, It is a LOT simpler (read: concise) than it was before.
03:30 exio4 you won't believe it, but finding the solutions is only 85% of the time
03:30 exio4 http://dpaste.com/1TNES2E
03:30 exio4 :p
03:34 exio4 ~80% of the time is spent reducing the set of solutions
03:34 ShadowBot exio4: Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command).
03:34 exio4 the garbage collector overhead isn't that high, <10% of the time is spent on it
03:35 AndroidKris Pretty efficient.
03:35 exio4 and it keeps the memory usage pretty much "constant" (actually, it doesn't, you know, it keeps the solutions because I count them at the end, instead of doing that in-place and then discarding it but whatever :p)
03:36 AndroidKris lol, that last bit went so far over my head.
03:36 exio4 http://dpaste.com/1NGJHNX
03:36 AndroidKris I don't even want an explanation.lol. I just want to bring up netflix and watch daredevil
03:36 AndroidKris lol
03:37 OldCoder joined #minetest
03:37 exio4 it only allocated 21~gb of data
03:37 exio4 apparently
03:37 exio4 unless I am reading "21,389,982,272 bytes" wrong
03:38 exio4 and 6.13 out of 80 seconds in the garbage collector
03:38 exio4 that's a lot
03:39 AndroidKris 21 billion bytes is closer to 20gb than 21.
03:40 exio4 well, the difference between 20 and 21 gb of memory allocated isn't that bad is it!
03:40 AndroidKris excuse me, 2.1gb, not 21gb.
03:40 AndroidKris had to get out my calculator
03:40 AndroidKris lol
03:41 exio4 wow. amazing
03:41 AndroidKris there is a HUGE difference between 21gb and 2.1gb though.lol
03:41 exio4 what, really?
03:41 exio4 is it 2.x?
03:41 AndroidKris long url incoming
03:41 AndroidKris https://www.google.com/webhp?sourceid=chrome-​instant&amp;ion=1&amp;espv=2&amp;es_th=1&amp;​ie=UTF-8#q=bytes%20to%20gigabytes&amp;es_th=1
03:41 AndroidKris lol
03:42 exio4 21,389,982,272 / 1000~ (bytes => kb) / 1000 (kb => mb) / 1000 (mb => gb)
03:42 AndroidKris wait...I read that wrong..
03:42 exio4 /1000 is taking out three zeroes
03:42 AndroidKris didn't move the decimal enough.lol
03:42 AndroidKris it's 2.1e8...
03:42 AndroidKris which is 21
03:42 AndroidKris gb
03:43 exio4 :D
03:43 AndroidKris e7, would be 2.1
03:43 AndroidKris my bad
03:44 AndroidKris Okay, yeah, on that note. I'm off to watch Netflix
03:44 AndroidKris Night ppl
03:44 Zeno` joined #minetest
03:46 exio4 nice
03:46 exio4 GC time went down to 0.06s when changing a few things
03:46 exio4 like not keeping things alive :p
03:48 exio4 and the memory usage is now pretty much constant, nice
03:49 exio4 :D
04:00 YvesLevier Found something
04:08 Out`Of`Control joined #minetest
04:54 jason__ joined #minetest
05:19 Wayward_Tab joined #minetest
05:22 jin_xi joined #minetest
05:31 LazyJ joined #minetest
05:34 barrydk joined #minetest
05:46 zeRez joined #minetest
06:00 antief joined #minetest
06:09 someguy_irc joined #minetest
06:21 nore joined #minetest
06:28 Akagi201 joined #minetest
06:29 Akagi201_ joined #minetest
06:32 Akagi20__ joined #minetest
06:59 Darcidride joined #minetest
07:07 Haudegen joined #minetest
07:09 err404 joined #minetest
07:15 Calinou joined #minetest
07:21 zeRez joined #minetest
07:29 SouL_|_ joined #minetest
07:44 chchjesus joined #minetest
07:45 aheinecke joined #minetest
07:54 FR^2 joined #minetest
07:57 zak1975 joined #minetest
08:04 Yepoleb joined #minetest
08:12 Trustable joined #minetest
08:30 Jordach joined #minetest
08:31 SouL_|_ joined #minetest
08:40 Megaf Hi
08:42 OldCoder o/
08:42 OldCoder z
08:46 Megaf Its been ages since my server crashed for the last time
08:46 Megaf That makes me very happy
08:46 OldCoder Ah
08:47 book` joined #minetest
08:49 Megaf dont you like when your server doesnt crash?
08:51 Megaf hi book
08:52 Megaf I think the last update b4oke 3d armor
08:58 aheinecke_ joined #minetest
09:04 aheinecke joined #minetest
09:05 JamesTait joined #minetest
09:05 JamesTait Good morning all; happy Poem in Your Pocket Day! :-D
09:11 jin_xi joined #minetest
09:22 Jordach Megaf, 212 hours on my public server before it crashed
09:23 Megaf Jordach: oops
09:23 zak1975 joined #minetest
09:24 Megaf well. i quit adding new mods and im using a very conservative configuration where im exchanging performance for stability.
09:48 ElectronLibre joined #minetest
09:55 Viper168_ joined #minetest
09:59 FreeFull joined #minetest
10:11 Trixar_za joined #minetest
10:23 SouL_|_ joined #minetest
10:26 Menche joined #minetest
10:30 Haudegen joined #minetest
11:13 Darcidride joined #minetest
11:15 Ataron joined #minetest
11:15 meldrian joined #minetest
11:17 AndroidKris joined #minetest
11:17 AndroidKris What light producing blocks produce enough light to trigger a solar panel?
11:18 ElectronLibre Torches should do that, also Mesecons' coloured light blocks, and glow glasses in Calinou's moreblocks mod.
11:20 AndroidKris joined #minetest
11:23 AndroidKris ElectronLibre, I can't get any of those to work
11:23 ElectronLibre Oh.
11:23 ElectronLibre Even by placing them over the solar panel?
11:29 AndroidKris I got that part working now. I had a piece of mesecon missing, so it wasn't triggering, but the panel was sending the signal.
11:29 AndroidKris Now I need to block the light from the panel with a minecart.lol
11:32 AndroidKris It would seem, however, that minecarts allow light to pass through.
11:42 SouL_|_ joined #minetest
11:54 SouL_|_ joined #minetest
11:56 Akagi201 joined #minetest
12:04 Akagi201_ joined #minetest
12:15 ClaudeRoy joined #minetest
12:16 luizrpgluiz joined #minetest
12:16 luizrpgluiz hi
12:39 phantombeta joined #minetest
12:43 SouL_|_ joined #minetest
12:44 luizrpgluiz left #minetest
12:51 Jordach joined #minetest
13:00 Wayward_Tab joined #minetest
13:04 AnotherBrick joined #minetest
13:24 roboman2444 joined #minetest
13:43 Player_2 joined #minetest
13:45 jin_xi joined #minetest
13:50 Xenoth joined #minetest
13:53 Tuxedo[Qyou] joined #minetest
14:16 Jousway joined #minetest
14:17 Darcidride joined #minetest
14:27 tpe joined #minetest
14:33 Zeno` joined #minetest
14:44 hmmmm joined #minetest
14:47 YvesLevier Hola :)
14:47 younishd joined #minetest
14:48 ElectronLibre YvesLevier, who were you taling to?
14:49 YvesLevier Wondering if som1 made a texture in wich i can find...  well "une calotte à l'envers" (tu peux traduire ça ElectronLibre?)
14:49 YvesLevier ElectronLibre: ^
14:50 ElectronLibre ._.
14:50 ElectronLibre "A cap upside down"?
14:51 YvesLevier Looks like that
14:55 YvesLevier There is a kid who wants to join our server.  I wanna bring him to move to Ubuntu (kind of a mission for me).  I enumerated Minetest gifts im ready to offer to him if he does so.  Accidentally i told "A cap upside down" to his parents.  I fear im trapped now, sure that this will be their preference.
15:07 Trustable joined #minetest
15:09 Jordach_ joined #minetest
15:10 Telesight joined #minetest
15:32 alket joined #minetest
15:45 Haudegen joined #minetest
15:45 ClaudeRoy joined #minetest
15:47 misprint joined #minetest
15:50 rubenwardy joined #minetest
15:50 est31 joined #minetest
15:59 rubenwardy If I was to make a web control panel for Minetest, would it be better as a PHP or Flask(Python) Application? The advantage of a Python app is less overhead - no need for an apache webserver. The advantage for PHP is it is more widely available. But then MT servers are usually run on VPS and personal computers, so that probably isn't an issue.
15:59 rubenwardy And with a python app, you can run processes independent of the views (ie page loads)
16:00 Halamix2 joined #minetest
16:04 Krock joined #minetest
16:06 exio4 I'd assume Yesod would be pretty cool
16:06 rubenwardy no thanks ;)
16:07 exio4 or maybe Happstack, or just Snap
16:07 exio4 who knows
16:12 Calinou rubenwardy, pleasenotphp.jpeg
16:12 Calinou Node.js! :D
16:12 rubenwardy Yeah
16:12 ecutruin joined #minetest
16:12 Calinou Python is OK too
16:12 Calinou so is Ruby
16:13 Calinou but PHP should probably be avoided, unless you use Laravel which makes it acceptable (or so I heard)
16:13 rubenwardy I won't mind Node.js, but I'm more confortable with Python
16:14 AnotherBrick joined #minetest
16:32 alt81772 joined #minetest
16:43 ac_minetest joined #minetest
16:43 Builder123 joined #minetest
16:54 alt30395 joined #minetest
16:54 CoconutOfDeath joined #minetest
16:57 Guest93562 joined #minetest
16:59 jin_xi joined #minetest
17:31 SouL_|_ joined #minetest
17:33 rubenwardy joined #minetest
17:38 alt81507 joined #minetest
17:38 fireglow- joined #minetest
17:41 Moyst_ joined #minetest
17:41 lemonade_ joined #minetest
17:42 werwerwer joined #minetest
17:45 e1z0_ joined #minetest
17:45 gv1222_ joined #minetest
17:49 Wayward_One_ joined #minetest
17:49 Haudegen joined #minetest
17:49 SmugLeaf joined #minetest
17:49 dzho joined #minetest
17:49 Robozman joined #minetest
17:49 DarkNekros joined #minetest
17:49 disableclouds joined #minetest
17:53 Taoki joined #minetest
17:54 Fritigern joined #minetest
17:54 theTroy joined #minetest
18:15 sfan5_ joined #minetest
18:19 hmmmm joined #minetest
18:39 sfan5__ joined #minetest
18:41 sfan5 joined #minetest
19:06 CWz joined #minetest
19:11 CWz left #minetest
19:17 Inspire049 joined #minetest
19:18 rubenwardy Well, basic framework is up: https://github.com/rubenwardy/minetest_web_panel
19:29 SouL_|_ joined #minetest
19:30 crazyR_ joined #minetest
19:30 crazyR_ joined #minetest
19:33 Lunatrius` joined #minetest
19:34 theblazehen joined #minetest
19:37 xenkey Hi
19:37 Hijiri joined #minetest
19:38 Builder123 joined #minetest
19:38 Builder123 joined #minetest
19:39 Builder123 joined #minetest
19:54 Builder123 joined #minetest
20:01 antief joined #minetest
20:46 ElectronLibre joined #minetest
20:53 Builder123 joined #minetest
21:07 Enke joined #minetest
21:17 DMackey joined #minetest
21:17 err404 joined #minetest
21:25 Pro-grammer joined #minetest
21:25 Tux[Qyou] joined #minetest
21:27 Hijiri joined #minetest
21:31 jojoa1997 joined #minetest
21:34 Builder123 joined #minetest
21:43 meldrian joined #minetest
22:20 Hijiri joined #minetest
22:21 Joshieson joined #minetest
22:26 Viper168 joined #minetest
22:27 berome joined #minetest
22:28 berome left #minetest
22:41 Builder123 joined #minetest
22:42 Builder123 joined #minetest
22:48 Enke joined #minetest
23:02 Hijiri joined #minetest

| Channels | #minetest index | Today | | Google Search | Plaintext