Page 1 of 32 | Next »
[18:14:58] RubyPanther: If the answer isn't self, then no, you don't need to know. Rather, you need to not know.
[18:15:43] RubyPanther: Ruby lets of fiddle everything from everywhere, so can be no excuse not to use proper OO
[02:08:50] RubyPanther: They say you need to write tests so that you can change code without fear. I say, just let go of the fear. Learn to take chances with confidence.
[02:12:18] RubyPanther: Unless you invented a new type of sensor, you probably don't have any "new" code except for the bugs
[02:14:07] RubyPanther: boom: it is a ways in, but Uncle Bob talks about what he thinks you should write tests for http://confreaks.com/videos/759-rubymidwest2011-keynote-architecture-the-lost-years
[18:55:19] RubyPanther: Never assume your package maintainers have a better idea than upstream (unless they're a *BSD, then maybe)
[19:16:27] RubyPanther: ehlovader: You have to open a new shell because rvm works by fiddling the shell environment, for example it replaces the cd command
[19:17:49] RubyPanther: my opinion, its features bit you and the other options don't have that "feature"
[20:20:45] RubyPanther: Even C++ programmers agree it is an awful language unless you only use certain parts. Only problem, they don't agree which parts to use.
[20:21:27] RubyPanther: At least in C there is a lot of agreement about how to use it safely these days
[20:30:05] RubyPanther: mtsmith85: there are lots of solutions for that, look there for the best practices. There are at least half a dozen popular solutions for worker queues.
[20:31:15] RubyPanther: You don't have to "pull in" a gem. It is nonsense-speak. You can distribute the gem with your app, or even paste the code from the gem into your app.
[20:32:07] RubyPanther: mtsmith85: Just go backwards from the "there" you're wondering about to whatever place or subject was mentioned immediately beforehand.
[20:35:11] RubyPanther: It makes sense to roll your own when it is something small. Why introduce dependencies for a couple lines of code? Or for security where you have arbitrary needs, and plan to have different arbitrary needs in the future. But workers queues are a very technical thing that requires an exacting solution.
[20:35:37] RubyPanther: It is not really an area where there are any category of gains to be had by avoiding existing wheels
[20:36:52] RubyPanther: mtsmith85: I would say that increases the benefit of using an existing queue
[21:00:56] RubyPanther: mtsmith85: If you daemonize following the normal unix pattern it works fine portably, though often a binmode (no-op on *nix) is added. fork, setsid, cd, etc
[21:06:12] RubyPanther: I didn't switch to linux until common windows apps stopped running with Win 3.11 + Win32s extensions. There was no way I was going to run Win95/98. I actually liked DOS, because I didn't even imagine the quality of shells *nix had. DOS was as good as Pro-DOS on the Apple ][, after all.
[21:08:04] RubyPanther: presumably command history and tab completion are still considered "power" tools to somebody out there.
[21:09:08] RubyPanther: I'm not convinced they have any idea how they want me to think. Just look at Win 8
[21:10:04] RubyPanther: To know which way MS is trying to manipulate you, you have to know how much Balmer had to drink on a Monday in October, and you have to know which Monday too
[21:14:56] RubyPanther: I think even before you needed a hash over the page size to have a chance at the order changing, but it might have been a different (large) threshold
[21:20:21] RubyPanther: Everything from facets has to be included in the language because it is the only way to keep people from using the author's code :o
[21:21:08] RubyPanther: And the mailing list hates him that much, regardless of him having been ahead of even rails at adding most of the modern Ruby features
[21:22:10] RubyPanther: Same as with Ruby, there is no goal of taking over the world or being "#1," the goal of mRuby is make Ruby more available for embedding
[21:24:46] RubyPanther: Apparently Lua is extensively used already in embedded robotics controllers in factories, and those are the companies that invested in mRuby
[21:25:16] RubyPanther: There was a Japanese industrial group that co-sponsored mRuby along with the Japanese government as a Lua competitor for robotics
[21:26:10] RubyPanther: Well, Lua isn't for writing apps, it is for embedded scripting _and_ embedded apps on SBCs
[21:27:04] RubyPanther: If you don't have access to proprietary robotics controllers, then of course you wouldn't matter to Lua developers, or they wouldn't matter to you, or something
[21:27:53] RubyPanther: There is supposed to be a higher entry barrier because you're expected to be buying hardware dev kits just to get started
[21:28:39] RubyPanther: And for game scripting, there isn't really anything outside of the Ruby stdlib that you'd want to be standard, because you don't want bloat
[21:29:38] RubyPanther: shevy: One is for common use, the other is for pedantic GNU-style command parsing
[21:31:43] RubyPanther: It isn't, but your code probably is. Your code being slow, that part I believe.
[21:33:40] RubyPanther: Nilium: I dunno, we tried for years to burn them in a fire whenever they said "herp-a-derp, Ruby slow" but they kept coming
[19:25:00] RubyPanther: depending on platform, of course. +x on the directory is also needed if there is any wildcard in the filename, or if you're trying to check if a file exists in the directory before executing it
[19:25:41] RubyPanther: fnando: Generally apache enforces the +x requirement pretty far up the tree, not just the immediate parent
[19:26:25] RubyPanther: fnando: in that case the ruby itself might not be runable as the apache user
[19:27:59] RubyPanther: fnando: generally you would want a per-app system user that is used instead of *nix groups, and then to install the ruby in that user's dir, and then have apache run the app as that user. or per-team in some cases.
[05:39:38] RubyPanther: cantonic: I make sure to always use BigDecimal when I care about exact numbers
[05:40:27] RubyPanther: cantonic: in my dec_number gem I use a backwards #coerce method so that if either side is a decnumber, then it returns a decnumber. Normally if the types don't match you get floats back
[05:40:54] RubyPanther: You can use the same trick if you monkeypatch BigDecimal's coerce method to be backwards
[17:03:26] RubyPanther: Of course you can have original content, for values of "original content" that match real "original content."
[17:03:59] RubyPanther: None of that was entirely "original" anyways, except the wild mumblings of bat boy
[17:04:37] RubyPanther: If you can figure out what "original content" even means, it would be trivial to write a bot to generate it
[17:05:11] RubyPanther: The state of that art is more about teaching an expert system what "good" literature is, rather than some hang-up about being "original."
[17:06:45] RubyPanther: Software can and does write decent literature. The state of the art is not failure. Nor is it a "brain simulator."
[17:07:17] RubyPanther: It has no meaning, it is like complaining that jets are fake because they don't have feathers
[17:07:40] RubyPanther: You'd have to read it and realize that there is nothing different about _the_creative_content_ than content created by humans.
[17:08:24] RubyPanther: The supposed difference is in the creative _process_ which isn't even the same for different humans, isn't understood, and isn't attempted to be measured in computers the way it is measured in humans
[17:09:23] RubyPanther: Right, but that is not the computer failing, that is just you not reading. ;)
[17:14:03] RubyPanther: skmp: I start at New Scientist magazine and mostly read things referenced there.
[17:15:15] RubyPanther: Journals aren't necessary, I was just being snooty, the important thing is to read first and then integrate, instead of ponder and integrate
[17:17:14] RubyPanther: diegoviola: Why don't you just create an OO object that holds your data, then parse it in.
[17:19:10] RubyPanther: skmp: No, most of the great ideas have come from directed pondering by people well educated in the field who get a surprising (not random) epiphany while working on a problem. Often it is about a different problem than they were working on, but that is part of the process.
[17:20:10] RubyPanther: A great symphony isn't a random batch of ideas, it is a master work that was created with intention
[17:21:10] RubyPanther: The word is wrong, and so it shelters the difference in ideas from analysis.
[17:25:00] RubyPanther: I normally avoid blanket terms, but in this case I will defend "all." The egg comes before the chicken because that is where the mutation is first expressed.
[17:26:18] RubyPanther: because you can only have coding errors in the specific ways that the gene transfers can fail, and the new value is derived from the old values
[17:27:32] RubyPanther: Almost nothing can be random, things simply "appear random" because they're distributed in a way that was don't have more information about
[17:28:30] RubyPanther: When physicists talk about things being "random" they're not talking about things being creatively new, they're talking about not having information other than some known distribution
[17:29:22] RubyPanther: Entropy is just disorder, it isn't a thing that can be new, it is just a distribution
[17:29:37] RubyPanther: and the distribution is never the same as in the past, but plagiarism can still exist
[17:31:05] RubyPanther: katlogic: Yeah, thankfully they stopped asking most of those questions. Praise the logical positivists! lol
[17:42:03] RubyPanther: cosmic rays can only "knock" DNA from the current position into one of a few known possible other conditions. The case for randomness would fall on splitting hairs specifically within the cases of complete DNA failure, but those are not useful cases and won't instruct much
[17:42:40] RubyPanther: cj: beware of placing the words "system call" next to each other, because then it means something extra
[17:44:36] RubyPanther: skmp: "true" in "true randomness" has no meaning. If there is hidden complexity is a known unknown that is widely believed to be unknowable.
[17:45:48] RubyPanther: Well, that is nonsense, if there is hidden complexity that is unknown, we won't be able to make any claims about if modeling it is easy or hard until/unless it is a known known
[17:46:55] RubyPanther: You can't know that without knowing it. You can't know what would be available from finite knowledge except for the things you have knowledge about already.
[17:47:44] RubyPanther: If you read Richard Feynman: A Life in Science, they spend a bunch of pages on logical positivism and this sort of question
[17:50:11] RubyPanther: according to Feynman's "reverse wave hypothesis" the cosmic ray actually interacts with the DNA it is going to fiddle _before_ being emitted from the solar body
[17:50:55] RubyPanther: So rather than random, it is actually premeditated by both the cosmic ray, and the DNA
[17:52:16] RubyPanther: Right, the theory is that every single photon exchange has a _different_ information exchange first, traveling backwards in time
[17:53:10] RubyPanther: Yeah, to measure where 1 photon will go, you have to collapse a whole universe full of wave functions to find the one that reinforces
[18:47:00] RubyPanther: Time and dates are Ruby's weak area, because the stdlib is mostly just centered around providing an interface to the crufty old unix C libs
[18:49:21] RubyPanther: My typical strategy is to stuff them in a database, and do the time/date math in SQL, then hide all that behind a Ruby method
[20:11:26] RubyPanther: shevy: in csh you can just say if ( -f $file ) echo "omg" or if (-f $file) then \necho "omg"\nendif
[02:55:14] RubyPanther: ack is: http://fc01.deviantart.net/fs70/i/2011/167/d/e/bill_the_cat_by_combatcrayola97-d3j3fc0.jpg
[17:33:16] RubyPanther: pontiki: it doesn't press your key, but it will tend to generate your platforms end-of-line sequence. In shells and most editors it will really generate the enter key keycode. The shell would not have any special ^M code for that in most cases
[17:33:53] RubyPanther: obviously some editors will trap everything from the keyboard and then actually see the ^M but that is atypical behavior
[17:39:12] RubyPanther: Darkchaos: if you take off the \r crap then it works fine everywhere. You gain portability by doing it the *nix way
[18:24:23] RubyPanther: Don't trust your brain blindly. Make sure to see what it wants you to see first.
[19:21:06] RubyPanther: kireevco: You should fill out all the fields in your gist, like the filename. You give a log, but the source file you didn't name so it is gistfile1.txt which is obviously not in your log
[19:21:38] RubyPanther: it is more work just figuring out what the hell is what than it should take to actually debug it ;)
[19:23:13] RubyPanther: still says gistfile1.txt for me, though I do see some hanging text that might be a filename
[19:23:56] RubyPanther: If the source pays similar attention to detail, then there is not just 1 or 11 bugs
[19:28:17] RubyPanther: kireevco: Only if you broke your RVM install. If you're on windows use the "one-click" version, and install the "dev-kit" from the same place
[20:02:31] RubyPanther: kireevco: what makes you think it is an rvm issue? What did you do to rvm that you think broke it? Have you considered nuking it and re-installing?
[20:17:58] RubyPanther: jforwiht589th59: Yes, advanced technical subjects require years of study before you can even ask useful questions. I'm sure the web can give you layperson explanations, but don't expect that to help with anything other than curiosity.
[20:20:03] RubyPanther: The same thing works with your doctor, just ask something that is nonsense, and then get frustrated that he "won't" explain it to you.
[20:21:43] RubyPanther: if I'm bored enough to be entertained by this guy, I need to go out for some fresh air
[07:21:43] RubyPanther: kilk_: http://patshaughnessy.net/2012/3/23/why-you-should-be-excited-about-garbage-collection-in-ruby-2-0
[07:30:53] RubyPanther: Ruby on windoze is exactly the same as on *nix, except instead of using ruby-build you install some "one click" thing and then a "devkit"
[19:35:39] RubyPanther: gygar: because a lot of people make bad/broken gems that request specific versions of dependencies, even though there are not actual known problems with other versions
[01:58:58] RubyPanther: diegoviola: What I do is I stare at the code until the bug starts to feel heavy
[02:01:20] RubyPanther: diegoviola: Just unify all the data access in one place, don't fight the legacy monster, just brick over the cave opening
[02:10:22] RubyPanther: sounds like time for somebody to do some QA work and write some integration tests. It's not like you need to test everything.
[22:52:28] RubyPanther: you can ask your version management software what files were changed, and review or reject changes
[06:00:07] RubyPanther: csmrfx: I've been using emacs for 15 years and I've only learned 5 or 10 chords, none of them use two hands
[09:23:46] RubyPanther: joshua___: ruby-odbc + tiny_tds + activerecord-sqlserver-adapter is my setup
[09:24:13] RubyPanther: joshua___: using DBI the string should be the same as whatever it is for Perl DBI
[09:38:58] RubyPanther: joshua___: it only needs activerecord but I pasted a Gemfile version that pulls in all of rails.
[09:43:29] RubyPanther: joshua___: The way I'm doing it with tinytds you don't need ODBC on the server, you can just connect normally. But more importantly it provides a modern ORM layer.
[09:50:15] RubyPanther: joshua___: Both, with that setup I can use the same script, no modification, from a remote linux box over the vpn. I left out the /etc/freetds.conf file, but that maps the windows network name you use in odbc.ini to the IP address of the server
[09:51:09] RubyPanther: joshua___: Then when I'm on the windows server box, tinytds uses the normal windows ODBC and looks for the same DSN
[09:52:42] RubyPanther: joshua___: http://www.freetds.org/userguide/freetdsconf.htm#FREETDSCONFFORMAT
[20:22:18] RubyPanther: Yeah, if you do somehting like PATH=$PATH:~/foo then bash expands that before it gets added, the ~ isn't going to be in $PATH
[20:23:09] RubyPanther: it is wrong, but in a way that creates land mines by looking too much like normal ground
[20:24:49] RubyPanther: Only add intelligence to your code where it is strictly beneficial for clear and known reasons and does not create land mines
[20:26:12] RubyPanther: ~ is portable because you know where you expand it, and expand it in the right place.
[20:26:28] RubyPanther: not knowing where it is expanded so stuffing it in everywhere, that doesn't do anything for portability
[20:27:21] RubyPanther: The user who fiddles $PATH will generally expect you to just use the PATH normally and not to try to play clever tricks. You're not helping that person by being clever.
[20:28:00] RubyPanther: Other software isn't clever, and use and abuse of $PATH assumes the software will just be properly stupid and not worry about what you stick in there, just check those directories
[20:28:35] RubyPanther: The idea that some cleverness would somehow _help_ the people who fiddle their paths, that is just nuts.
[20:35:17] RubyPanther: export FOO=~ ; export BAR='~'; ruby -e 'puts ENV["FOO"]' ; ruby -e 'puts ENV["BAR"]' ; ls -d $FOO $BAR # this should explain it all
[20:48:11] RubyPanther: exactly, ~ is not a general meta-character, it is only a metacharacter to the shell, and the shell expands it when it is set, and all that is set is a regular dumb string
[20:50:22] RubyPanther: trying to add extra logic that expands crap in those strings is a security hole. Not a theoretical, a known one, because where things do and don't expand is part of the security strategies being used. You could accidentally expose the user of your gem to attack from by their users
[21:07:09] RubyPanther: human filters will ban more stuff, if that results in "solving" a particular problem depends on a lot of assumptions, and the problem
[21:11:29] RubyPanther: My direct ancestor killed Charles II of England in order to free the individual to talk to their deity directly, to receive inspiration directly. Incidentally, they also created the modern English parliamentary system at the same time. I'm not a deist, but I'd fight for their rights to come up with their own answers, and to bloviate about them.
[21:12:10] RubyPanther: How is a bot any different than a Buddhist prayer wheel spinning in the wind?
[21:16:16] RubyPanther: OffTheRails: The bicycle doesn't need any fixing. I need it to be fixed, so that my wife will be happy about it.
[20:47:35] RubyPanther: thinking back to my 80s RPG experiences, we used square grid graph paper for custom maps, they easily have 8 directions of movement, hex maps work good for combat simulation like battletech, but it sucks for campaigning