--- Log opened Sun Jul 14 00:00:11 2013 |
00:07 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
00:07 | | mode/#code [+ao Derakon Derakon] by ChanServ |
00:07 | < RichyB> | I tell youse |
00:08 | < RichyB> | I tell youse I'm almost tempted to switch everything to Clojure just for the sake of being able to run Leiningen. |
00:08 | < RichyB> | The choice of name of that program is a stroke of genius. |
00:10 | <&ToxicFrog> | It's pretty nice to actually use, too |
00:17 | < RichyB> | Do you think I care about practicality here? I've already been won over by the promise of defeating the black writhing hordes of insects with the application of almighty brain power. |
00:17 | < [R]> | How's it compare to Quartz? |
00:17 | < [R]> | (Note: I haven't used either, and I'm likely to look into Quartz, just so see what it is) |
00:22 | <&ToxicFrog> | I've never even heard of Quartz |
00:23 | < [R]> | AFAICT it's like a crond in a jar. |
00:23 | <&ToxicFrog> | ...what does that have to do with build systems? |
00:24 | < [R]> | I thought they were the same class of thing... |
00:25 | < [R]> | Though from liningen's github page I can't help but think "make does all that..." |
00:25 | < [R]> | Unless I'm missing something. |
00:25 | <&ToxicFrog> | If you want to write makefiles for Clojure programs, you're welcome to~ |
00:25 | <&ToxicFrog> | I mean, strictly speaking, make can do anything, because it can execute arbitrary shell commands, and can use the output of those commands as input to the dependency graph |
00:26 | <&ToxicFrog> | And by the time you finish writing all the rules to turn make into a clojure build and dependency resolution tool, you will have reimplemented Leiningen. |
00:26 | <&ToxicFrog> | Badly. |
00:26 | < [R]> | Then I've missed something :p |
00:27 | <&ToxicFrog> | Lein is clojure specific build system. |
00:27 | < [R]> | Ah |
00:27 | <&ToxicFrog> | Among other things, it can automatically resolve and download external library dependencies from common repositories such as clojars, start a REPL with or without loading your project code, set the classpath for you, and pack your project and the transitive clojure of its dependencies into a single monolithic jar. |
00:28 | <~Vornicus> | "clojars" |
00:28 | | Typh|offline is now known as Typherix |
00:28 | <~Vornicus> | is a good name |
00:28 | <&ToxicFrog> | You could write a makefile that does all this for you but it would be a colossal pain in the ass. |
00:28 | < [R]> | Aye |
00:29 | <&ToxicFrog> | As for Quartz - crond is not a build system, it's the daemon that executes cron jobs (scheduled background tasks) |
00:29 | < RichyB> | I once saw someone attempt to settle an argument about build systems by embedding the SKI combinator calculus into a makefile and doing some arithmetic with Church numerals. |
00:29 | <&ToxicFrog> | ...were they arguing for or against Make? |
00:29 | < RichyB> | This was at one of the "AngloHaskell" events. |
00:29 | < [R]> | I am well aware of what crond does thanks. That's why I made the comparison. |
00:30 | <&ToxicFrog> | ...the comparison makes no sense, though |
00:30 | < [R]> | For Quartz it does |
00:30 | < RichyB> | The person who did that was arguing that make should be used as a *target* for build systems rather than tryiing to replace the whole thing. |
00:30 | < [R]> | I asked the question |
00:30 | < [R]> | /then/ I started looking into both |
00:31 | < [R]> | That's reasonable IMO. |
00:31 | < RichyB> | The person he was arguing against had written a build system which did both dependency-detection by looking at the .c .java .hs etc files, and invoked the compiler. |
00:31 | <&ToxicFrog> | RichyB: that's what Premake does and it's actually not a completely insane position |
00:31 | < [R]> | Since make is a fuckton more common than anything else. |
00:31 | <&ToxicFrog> | Make is installed on everywhere, but sucks |
00:32 | <&ToxicFrog> | Using something that doesn't suck to generate a makefile, which you then distribute with the source tarball, is a sensible thing to do |
00:32 | < RichyB> | The gentleman embedded SKI into Makefiles was arguing in favour of using Something, Anything Else, Please to generate makefiles and then running them with plain make. |
00:32 | < RichyB> | *embedding |
00:32 | < RichyB> | I have mixed feelings. |
00:33 | < RichyB> | Common make implementations are pretty good already at things like doing parallel builds for you. |
00:33 | < RichyB> | (gnu make which is the relevant one, but also BSD make) |
00:33 | <&ToxicFrog> | ...yes, but they fucking suck at the important part, which is letting the programmer tell the build system how to build the project |
00:34 | <&ToxicFrog> | And are wholly incapable of some things, like handling files with spaces in |
00:34 | < RichyB> | Hence the argument in favour of Something, Anything Else, Please to generate the makefile which is just a glorified shellscript with mtime-based partial-rebuild support. |
00:34 | < [R]> | Spaces in filenames is a sin anyways |
00:36 | < RichyB> | The counterargument is that some of the tools for invoking compilers are better at it than gnu make is. The one I saw being shown off there had things like built-in profiling of the build so that you could see where the time was going or arrange for the longest-running serialised part of a given project to start as early as possible. |
00:37 | <~Vornicus> | I used rake for my ps -> graphics thing, some long time ago. |
00:38 | <~Vornicus> | that I was generating 10-120 outputs per input file didn't help make's problem. |
00:39 | < RichyB> | I don't know of (m?)any build tools that actually deal with multiple outputs per compiler invocation well. |
00:42 | < [R]> | Make seems to handle it when javac does... |
00:42 | <&ToxicFrog> | [R]: that's no excuse for having a tool that's completely, fundamentally incapable of coping with them |
00:42 | <~Vornicus> | Mine went something like -- complete pseudocode here -- `gs $OPTIONS --sides=$SIDES --color=$COLOR die.ps die/$COLOR/$SIDES.png` for SIDES in [1..6] for COLOR in [white, red] |
00:43 | <&ToxicFrog> | RichyB: lein~ |
00:43 | < RichyB> | So, you "javac Foo.java" and it generates "Foo.class" and "Foo$Inner1.class", right? |
00:43 | <~Vornicus> | oh, and then there was the size parameter |
00:43 | < [R]> | Yeah |
00:43 | < [R]> | It works fine enough because I'm bulk targeting the directory I guess. |
00:44 | < RichyB> | Can you set up a Makefile so that after changing Foo.java, I will cause exactly one invocation of "javac Foo.java" when I type any of, "make Foo.class" "make Foo$Inner1.class" or "make Foo.class Foo$Inner1.class"? |
00:44 | < RichyB> | I don't know if you can actually, say, list several targets to the left of the ":" in a given make rule. |
00:44 | < [R]> | I think you might be able to. |
00:45 | < [R]> | classes/%.class: src/%.java classes |
00:45 | < [R]> | RichyB: serveral targets like that^ |
00:45 | < RichyB> | *hurp* |
00:47 | < [R]> | You can also have the opposite |
00:47 | < [R]> | Multiple targets |
00:48 | < [R]> | Trying to find out how to make it know how to do that though |
00:51 | < [R]> | This pattern rule has two targets: |
00:51 | < [R]> | %.tab.c %.tab.h: %.y |
00:51 | < [R]> | bison -d $< |
01:02 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Client closed the connection] |
01:08 | < [R]> | Ugh, I think make doesn't like the $ in the name |
01:38 | | Turaiel[Offline] is now known as Turaiel |
01:59 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
02:03 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
02:28 | | Vorntastic [Vorn@Nightstar-4c492073.sub-70-211-10.myvzw.com] has joined #code |
02:49 | | ktemkin[awol] is now known as ktemkin |
03:01 | < [R]> | public int hashCode() { |
03:01 | < [R]> | return super.hashCode(); |
03:01 | < [R]> | } |
03:01 | < [R]> | Java. Is that useful at all? It looks like a no-op to me. |
03:03 | < Vorntastic> | Not useful. |
03:10 | <&ToxicFrog> | [R]: likely |
03:10 | <&ToxicFrog> | make is bad at names; not supporting spaces is just the most obvious manifestation of this. |
03:17 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [[NS] Quit: Going dooooown...] |
03:55 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
03:55 | | mode/#code [+o Orthia] by ChanServ |
04:02 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
04:02 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:05 | | Vorntastic [Vorn@Nightstar-4c492073.sub-70-211-10.myvzw.com] has quit [[NS] Quit: Bye] |
04:14 | | Kindamoody[zZz] is now known as Kindamoody |
04:36 | < [R]> | ... thankyou Gentoo for shipping JDK 1.6 |
04:36 | < [R]> | Fuckers |
04:38 | <@celticminstrel> | ... |
04:38 | | * [R] has been targeting 1.7 |
04:39 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
04:41 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
05:12 | < [R]> | I will assume that an abstract class does not require and can't use an empty constructor. |
05:29 | | Derakon is now known as Derakon[AFK] |
05:57 | | Karono [Karono@Nightstar-a97724cd.optusnet.com.au] has quit [[NS] Quit: ] |
06:05 | | Typherix is now known as Typh|offline |
06:21 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
06:21 | | mode/#code [+o himi] by ChanServ |
06:33 | | Serah [Z@Nightstar-ab9723d2.customer.tdc.net] has quit [[NS] Quit: :tiuQ] |
07:02 | | ErikMesoy|sleep is now known as ErikMesoy |
08:09 | | Karono [Karono@Nightstar-a97724cd.optusnet.com.au] has joined #code |
08:16 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has quit [Ping timeout: 121 seconds] |
08:18 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has quit [Ping timeout: 121 seconds] |
08:20 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
08:20 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
08:23 | | celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:24 | | Turaiel is now known as Turaiel[Offline] |
08:45 | | Syka_ [the@Nightstar-6e6cf865.iinet.net.au] has quit [Operation timed out] |
08:58 | | Kindamoody is now known as Kindamoody|out |
09:12 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
10:02 | <&McMartin> | [R]: Correct, but you will need to do tricky things in the subclasses to get those constructors called. |
10:29 | | You're now known as TheWatcher[swim] |
10:40 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
10:56 | | Syka [the@949DD1.271E08.48373F.358F36] has joined #code |
11:06 | | Syka [the@949DD1.271E08.48373F.358F36] has quit [Ping timeout: 121 seconds] |
11:08 | | Syka [the@949DD1.271E08.48373F.358F36] has joined #code |
11:17 | | Syka [the@949DD1.271E08.48373F.358F36] has quit [Ping timeout: 121 seconds] |
11:38 | | Karono [Karono@Nightstar-a97724cd.optusnet.com.au] has quit [Ping timeout: 121 seconds] |
12:34 | | Syka [the@Nightstar-ed184475.iinet.net.au] has joined #code |
12:35 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
12:48 | | Syka_ [the@Nightstar-ed184475.iinet.net.au] has joined #code |
13:00 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
14:16 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [[NS] Quit: ] |
14:33 | <&ToxicFrog> | Vornicus: ok, you may want to use the latest master of vstruct for your investigations rather than 1.1.3, considering the bug I just fixed~ |
14:35 | <~Vornicus> | Oh, nice |
14:37 | <&ToxicFrog> | (reported by a guy I now know is, no shit, using it in test control software for cancer treatment radiotherapy machinery) |
14:38 | <~Vornicus> | Oh, even nicer. |
14:47 | <&ToxicFrog> | "A while ago, I started a bit of a guerrilla project to create a bunch of building blocks in Lua to automate all kinds of operations with the various embedded subsystems, from moving the robot arms or couch, to reading out and changing all kinds of internal parameters, to automating Excel to create pretty graphs of recorded motion data. It's grown into a set of tools that most of those in my team use now; in some cases we managed to a |
14:47 | <&ToxicFrog> | utomate previously tedious engineering tests with a greater degree of coverage, etc., etc. |
14:47 | <&ToxicFrog> | "PS: So in the furthest sense, I guess you could say that your library may have helped save someone's life." |
14:48 | < ktemkin> | Neat. |
14:48 | | * ToxicFrog bounces |
14:50 | <~Vornicus> | %Bbest day%B |
14:50 | <~Vornicus> | er. |
14:50 | <~Vornicus> | best day |
14:53 | <&ToxicFrog> | Yes :D |
15:06 | < Azash> | ToxicFrog: Very good |
15:38 | <&ToxicFrog> | I suspected that there were people using my library somewhere, but I didn't expect this :D |
15:41 | | celticminstrel [celticminst@Nightstar-8403057e.dsl.bell.ca] has joined #code |
15:41 | | mode/#code [+o celticminstrel] by ChanServ |
16:28 | | You're now known as TheWatcher |
17:15 | | Derakon[AFK] is now known as Derakon |
17:31 | | * Alek claps! |
17:55 | | Syka [the@Nightstar-ed184475.iinet.net.au] has quit [[NS] Quit: leaving] |
18:06 | | [R] is now known as DrDREAM |
18:15 | <&ToxicFrog> | Alek: for vstruct, or something else? |
18:15 | <@Alek> | for vstruct. |
18:16 | <@Alek> | what's the functions it carries anyway? |
18:16 | <&ToxicFrog> | Binary (de)serialization a la Python's struct module. |
18:16 | <&ToxicFrog> | Except slower, more portable, and more powerful. |
18:17 | <@Alek> | ah. |
18:18 | <&ToxicFrog> | And for Lua. |
18:19 | <@Alek> | :P |
18:20 | | Syka_ [the@Nightstar-ed184475.iinet.net.au] has quit [[NS] Quit: leaving] |
18:48 | | Turaiel[Offline] is now known as Turaiel |
18:53 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
19:06 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
19:06 | | mode/#code [+o himi] by ChanServ |
19:18 | < ktemkin> | Lua's a nice little embeddable language. I wish more tools used it; I much prefer it to the more prevalent tcl. |
19:20 | <&ToxicFrog> | It's gradually catching on in toolspace; you've got stuff like nmap, luaTeX, wireshark using it |
19:21 | <&ToxicFrog> | It's hugely popular in gaming, of course, but I don't think the games industry ever really developed a habit of using stuff like TCL; there it was supplanting C/++ and a bunch of ad hoc homebrew scripting languages. |
19:23 | < ktemkin> | I'd really like to see some of the major engineering companies (like Xilinx) switch. |
19:24 | < ktemkin> | Their applications in particular are just tons of unrealted C/C++/Java binaries glued together by thousands of illegible tcl scripts. |
19:25 | < DrDREAM> | That sounds horrible |
19:25 | < ktemkin> | Having to debug those to get your own projects working can be a nightmare. |
19:25 | < ktemkin> | The worst part is that all of the IPC is done by writing to temporary files. |
19:25 | <&ToxicFrog> | ...also, "for our next game, let's use Lua instead of our terrible homegrown scripting language" is probably a much easier sell than "for our next release, let's break compatibility with the entire goddamn world by replacing the TCL interface with a Lua one" |
19:25 | <&ToxicFrog> | Fuck Xilinx, in hell, forever |
19:26 | < ktemkin> | I see you've had to use their tools. |
19:27 | <@gnolam> | Come now. At least they gave us BUFGMUX, a unit whose abbreviation is impossible to read as anything other than BUGFUX. |
19:27 | < ktemkin> | (That's not as bad as matlab, whose cumulative trapezoidal Riemann sum is called "cumtrapz".) |
19:28 | <@gnolam> | Haha |
19:28 | <@gnolam> | You could have ended that sentence after "matlab" though.~ |
19:29 | < ktemkin> | Synthesizing a design using the Xilinx xst toolchain involves something like fifteen different binaries, which each read in something like ten files in ten unique formats, and then output a different ~ten files, in a different ten unique formats. |
19:29 | < ktemkin> | I had the IT guys install it in one of our labs, and tried synthesizing something to see it it would work for my students. Their home folders are on a NFS partition a building over. |
19:30 | < ktemkin> | It took twenty minutes to synthesize a trivial design due to sheer io overhead. |
19:30 | < ktemkin> | Of course, the tool keeps all of the files in the working directory, rather than the system's temp folder. |
19:32 | < ktemkin> | Move the project to a ramdisk and the synthesis time drops to 30 seconds. =\ |
19:32 | < DrDREAM> | Worst IPC ever |
19:32 | <&ToxicFrog> | ktemkin: yep. Two semesters of digital systems design using Xilinx tools. |
19:33 | <&ToxicFrog> | On windows. |
19:33 | < ktemkin> | Which version were you working with? |
19:33 | <&ToxicFrog> | On the ass-slow engineering network. |
19:33 | <@gnolam> | If it makes you feel any better, their UNIX tools are no better than their Windows tools. |
19:33 | <&ToxicFrog> | gnolam: yeah, but at least the CS network is fast |
19:33 | < ktemkin> | Their unix tools /are/ their windows tools. It's all one big multiplatform horror. |
19:34 | <&ToxicFrog> | So I'm not using shitty tools and taking ten minutes to log in and another ten to load the project |
19:34 | < ktemkin> | If it makes you feel better, the other vendor's tools are as bad or worse. |
19:35 | < ktemkin> | Altera's Quartus is a bit nicer; but not all that significantly. |
19:38 | < ktemkin> | If they just provided a simple wrapper that would allow you to do something like "xst -p xc3s250e hello_world.vhd how_are_you.vhd -o test.bit", the whole tool would be worlds better. |
19:44 | <@Alek> | didn't Lua start off as scripting language for WoW? XD |
19:45 | < ktemkin> | Lua's something like 20 years old, now. |
19:46 | < ktemkin> | I have no idea when WoW came out, but that's way too early for a MMO. |
19:46 | <@Alek> | actually, there were MMOs 25 years ago, I believe? 20 certainly. |
19:46 | <@Alek> | the original Neverwinter, how old is that? |
19:47 | <@Alek> | WoW is almost 9 years old. is that ALL? |
19:47 | <@Alek> | Nov 23, 2004. the 10th anniversary of the Warcraft franchise. |
19:48 | < ktemkin> | Can you call those original games MMOs? |
19:48 | <@Alek> | the term was coined in 1997, by Richard Garriott (who else?) |
19:49 | <@Alek> | before then, they were called graphical muds. |
19:49 | <@Alek> | The first fully graphical multi-user RPG was Neverwinter Nights, which was delivered through America Online in 1991 |
19:49 | <@Alek> | so, more than 20 years old. XD |
19:50 | <@Alek> | Finally, MMORPGs as defined today began with Meridian 59 in 1996 |
19:50 | <@Alek> | :P |
19:50 | < ktemkin> | You learn something new every day. |
19:50 | < ktemkin> | ... and some days, the stuff you learn is even useful. |
19:53 | | * ToxicFrog slaps Alek |
19:54 | <&ToxicFrog> | Lua started out as a scripting language for research projects at PUC Rio, replacing two older languages named Sol and DEL. |
19:54 | <@Alek> | yeah, okay. |
19:54 | | Turaiel is now known as Turaiel[Offline] |
19:54 | <&ToxicFrog> | (in 1993) |
19:55 | < ktemkin> | IIRC, Lua was made because their only choice was to use tcl, or spin their own embeddable language. |
19:55 | <@Alek> | just, I first came across Lua as a scripting language for UI extensions in WoW. |
19:55 | <&ToxicFrog> | ktemkin: their choices were TCL or Perl, and their existing in-house language, DEL, wasn't powerful enough |
19:56 | <@froztbyte> | I still need to read the lua implementation source someday |
19:56 | <@froztbyte> | apparently you can read it in about a day |
19:56 | <&ToxicFrog> | They wrote Sol to replace it, then after finishing the prototype implementation they realized it could be combined with DEL to make something more powerful that would replace both. |
19:56 | <&ToxicFrog> | froztbyte: the reference manual, easily. The source, maybe not. |
19:57 | <@froztbyte> | hmm |
19:57 | | Turaiel[Offline] is now known as Turaiel |
19:57 | <&ToxicFrog> | Alek: a lot of people did. Every week or so we get someone in #lua asking questions about WoW, completely unaware that Lua isn't a WoW-specific thing designed by Blizzard. |
19:57 | < ktemkin> | The source is old-style C; and I seem to recall it being poorly commented. |
19:57 | <@froztbyte> | ktemkin: I'm used to networking software |
19:57 | <&ToxicFrog> | At this point I'm pretty sure the bot has a canned "you are actually looking for #wowuidev" respnse. |
19:58 | <@froztbyte> | which is pointer magic and shitty overall code design |
19:58 | <@froztbyte> | with state best tracked by having a very good memory |
19:58 | <@Alek> | I see. |
19:58 | <@Alek> | sorry, TF |
19:58 | <@froztbyte> | and implicit transforms on random shit |
19:58 | <&ToxicFrog> | ktemkin, froztbyte: yes. It's very consistently styled and suchlike, but also very sparsely commented and with extremely terse names. |
19:58 | <@froztbyte> | so I can probably follow it fairly easily |
19:58 | | * froztbyte tries to find the "view source online" button |
19:59 | < ktemkin> | https://github.com/LuaDist/lua/ |
19:59 | <@froztbyte> | ta |
19:59 | <@froztbyte> | I was digging on their site |
19:59 | <&ToxicFrog> | The PUC team doesn't have public version control; the site just has tarballs. |
20:00 | < ktemkin> | I tend to search github if I want to quickly see code online. If it's not publicly hosted there, usually /someone's/ pushed their own repo. |
20:01 | < ktemkin> | I'd really like to take the time to get comfortable in Lua. I use it once every few weeks for small scripts-- never enough for the language to really feel familiar. |
20:02 | <@froztbyte> | <ktemkin> ... hosted there, >>>usually /someone's/ pushed their own repo.<<< |
20:02 | <@froztbyte> | ^ that is not a good thing |
20:02 | < ktemkin> | Depends on who's pushed it. |
20:02 | <&ToxicFrog> | Why not? |
20:02 | <@Alek> | code a major UI extension for a program you use extensively. you'll be an expert by the end. XD |
20:03 | < ktemkin> | Most people have the good sense to push the original and then branch. |
20:03 | <@froztbyte> | most people do not, in fact, bother at all |
20:04 | <@froztbyte> | ToxicFrog: because it gets tricky to track which is the "main"/"official" repo |
20:04 | <@froztbyte> | even more so with fork disease |
20:04 | < ktemkin> | It depends on what you're looking for when you search. |
20:04 | <@froztbyte> | *even more* when you start seeing multiple branches get developed simultaneously |
20:04 | <@froztbyte> | s/branches/repos/ |
20:05 | <&ToxicFrog> | froztbyte: ...not really. The official "repo" is the developer website. Everything else is unofficial. |
20:05 | <@froztbyte> | I don't see that being a truth |
20:05 | <&ToxicFrog> | And if you mean "it's bad practice to do this in general", Lua specifically encourages incorporating the source tree into your own projects, so, no. |
20:05 | <@froztbyte> | if the project is basing all its stuff on github, then that's as official as it gets |
20:05 | <@froztbyte> | not everything has a website |
20:06 | <@froztbyte> | ToxicFrog: well, yes, I'm just saying that there's likely a special kind of hell reserved for that approach |
20:06 | < ktemkin> | You can run into the same issue outside of github, as well. It's pretty easy to grab a source tarball off of a lagging mirror or old project page. |
20:06 | <&ToxicFrog> | froztbyte: that is a specifically intended use of the language and for many projects is unambiguously the correct thing to do. I'm sorry you don't like it. |
20:06 | | DrDREAM is now known as [R] |
20:07 | <@froztbyte> | ktemkin: in that case it's slightly less "specific", I think |
20:07 | <@froztbyte> | ktemkin: my issue is with people's stupidity causing unnecesary fuckups |
20:07 | < ktemkin> | Again, it depends on what you're trying to do with the code. |
20:07 | <@froztbyte> | ToxicFrog: does the language have any provisions for easy updating and such on said projects? |
20:07 | <@froztbyte> | like, if you ship your project with the runtime in the same folder |
20:07 | <@froztbyte> | is the runtime just isolated to that folder? |
20:07 | <@froztbyte> | no spaghetti all over the show? |
20:08 | <&ToxicFrog> | Generally, yes |
20:08 | <@froztbyte> | then I have no issue with it |
20:08 | <&ToxicFrog> | The thing you have to remember is that this is an embedding language; the assumption is that projects embed their own complete copy of the VM |
20:08 | <&ToxicFrog> | The flip side of these is that even minor version updates may break API and ABI compatibility if necessary |
20:08 | <@froztbyte> | my issue in the github case (re general project) is when you start seeing multiple heads of a thing, with no clear source of authority; this gets exacerbated when multiple things see simultaneous development |
20:09 | <@froztbyte> | I understand that riakasaurus was actually one of these things at one point |
20:09 | <&ToxicFrog> | What this is coming across as is "I don't want people to fork things ever" |
20:09 | <@froztbyte> | it's /like/ forking the project, but because the names of the things don't implicitly change, it becomes problematic |
20:10 | <@froztbyte> | it's marginally lessened by referring to "owner/project" |
20:10 | <&ToxicFrog> | Except in github there's actually a "forked from _____" indicator |
20:10 | <@froztbyte> | but 1) few people do that; 2) people seem to abandon things quite a lot |
20:10 | < ktemkin> | If you use their built-in mechanism, it actually shows "forked from"-- |
20:10 | <&ToxicFrog> | Which is actually better than what you usually get |
20:10 | <@froztbyte> | ToxicFrog: which means nothing, really |
20:10 | <&ToxicFrog> | And it even shows you where development is relative to the original |
20:10 | <@froztbyte> | ToxicFrog: maze's ranrod repo is dead |
20:10 | <@froztbyte> | I've spoken to him in person, it's dead |
20:10 | <@froztbyte> | so now I can fork it from that, and continue dev |
20:11 | <@froztbyte> | which do you now consider official/production/"to be used"? |
20:11 | | ErikMesoy is now known as DelegatedST |
20:11 | < ktemkin> | If you want to be the official one, at that point, the owner of the old repo can hand it over to you; or you can change the name. |
20:12 | < ktemkin> | Poweful tools often give you enough rope to hang yourself-- or to be hanged by someone else. |
20:12 | <@froztbyte> | and then maybe later I lose time for it, and also stop. someone else picks up dev, but goes off on a completely different philosophy of how it should work, rewriting *, things changing entirely |
20:12 | <@froztbyte> | ktemkin: yes, I know it *does* have that capability |
20:12 | <@froztbyte> | ktemkin: I've yet to see it actually being used |
20:13 | <@froztbyte> | I'm complaining about this because I've actually been bit by it multiple times ;p |
20:13 | < ktemkin> | Some things are going to be persistent problems in programming, though; you're not always going to have an ideal world where people signal their intentions exactly. |
20:14 | < ktemkin> | Package managers (like rubygems) tend to help, as they associate a package name with a single repository. |
20:14 | <@froztbyte> | this issue is made worse by github, much like I see php's "ease of use" making the prevalence of terrible code a thing |
20:14 | | Typh|offline is now known as Typherix |
20:14 | <@froztbyte> | if people weren't dumb, it wouldn't be a problem |
20:15 | <@Alek> | "php" "ease of use" um? |
20:15 | <@Alek> | NOT what I'd heard in here before. XD |
20:15 | <@froztbyte> | it's very easy to write some php |
20:15 | <@froztbyte> | it's not at all easy to write good php |
20:15 | <@Alek> | heh. good distinction. |
20:15 | <@froztbyte> | it's also terribly hard to tell the difference, and see why it matters |
20:15 | <&ToxicFrog> | Alek: what? No, that's a really common complaint. PHP makes it really easy to hack together something that mostly sorta works if you don't look too closely. |
20:15 | <&ToxicFrog> | It makes it very difficulty to write something that works well. |
20:16 | <@froztbyte> | "seems to do what I want" |
20:16 | < ktemkin> | "makes it really easy to hack together something that mostly sorta works " <-- You could very easily say the same thing about bash scripting, though. |
20:16 | <@froztbyte> | would be a very good way to describe it |
20:16 | <@froztbyte> | (and also likely be a common excuse for PHP code) |
20:16 | <@froztbyte> | ktemkin: I wonder if that generalizes to shell scripting en masse |
20:16 | | Kindamoody|out is now known as Kindamoody |
20:17 | <&ToxicFrog> | ktemkin: yeah, and I wouldn't actually call bash a good language either |
20:17 | <&ToxicFrog> | A useful one, yes, but not a good one |
20:17 | <@froztbyte> | I've abandoned bash some time ago in favour of zsh |
20:17 | <&ToxicFrog> | It's harder to cause widespread damage with bash, though |
20:17 | <@froztbyte> | just because it's generally nicer |
20:17 | <@froztbyte> | but I've sometimes found myself wishing that "old-school unix training" was still a thing |
20:17 | < ktemkin> | My point wasn't that bash is a good language; but rather that PHP became the monstrosity that it was because it's so accessible, not because the language is easy to "hack things together with". |
20:18 | <&ToxicFrog> | ...how are those different? |
20:18 | <@froztbyte> | like, in the days of when you were trained about how to use a system |
20:18 | <@froztbyte> | (as opposed to where you just dick around on it, learning by yourself) |
20:18 | < ktemkin> | Bash requires you to have a *nix computer (or equivalent) in front of you. |
20:18 | <@froztbyte> | (I'm not saying autodidacts didn't exist, just a time reference) |
20:18 | <&ToxicFrog> | Oh. You mean the PHP runtime is accessible. |
20:19 | <@froztbyte> | ktemkin: I don't understand your last sentence |
20:19 | <&ToxicFrog> | froztbyte: I think what he's getting at is that PHP is preinstalled on every shitty webhost on earth |
20:19 | <@froztbyte> | ToxicFrog: ah |
20:19 | < ktemkin> | I was trying to contrast that bash requires you to actively choose to use a unix-like environment; whereas PHP is what's thrust at you when you decide you want a website. |
20:20 | <@froztbyte> | ToxicFrog: on that note I'm kinda happy that shipping other languages are becoming so much more accessible for "easymode hosting" |
20:21 | < ktemkin> | On the contrary, I think that GitHub has done the open-source world a lot of good. There are a ton of useful projects that would never be made public were it not so easy to get them out there. |
20:21 | | [R] is now known as DrDREAM |
20:21 | <@froztbyte> | meh, sourceforge was a thing before |
20:22 | <@froztbyte> | as was stuff like freshmeat |
20:22 | <@froztbyte> | and many others, I'm sure |
20:22 | <@froztbyte> | so I don't buy that argument |
20:22 | < ktemkin> | I used to use those; github's a lot easier to use and navigate. |
20:22 | <@froztbyte> | I'm not disputing that |
20:22 | <@froztbyte> | lots of things have gotten easier |
20:22 | | DelegatedST is now known as ErikMesoy |
20:22 | <@froztbyte> | I'm just complaining about github making it easy for people to fuck us around |
20:22 | < ktemkin> | There's a lot of crap, too-- that's a natural result of lowering the entry bar. |
20:22 | <@froztbyte> | (even if they don't mean it) |
20:22 | <&ToxicFrog> | Sourceforge and Freshmeat were things, but let's be honest |
20:22 | <&ToxicFrog> | They were godawful |
20:23 | < ktemkin> | GitHub does make it easier to be fucked over if we're not willing to do the research. |
20:23 | <@froztbyte> | one of them was also orange at one point |
20:23 | < ktemkin> | There's a huge difference between going on github to sate a moment's curiosity and going on github, pulling up the first source tree you see, and then cloning it as a base for your own project. |
20:25 | < ktemkin> | I enjoy being able to pull up github and sate a moment's curiosity. (For example, when we discovered that this ircd allows one more ban than the limit, it was very easy to verify that they had, in fact, used > instead of >=). |
20:26 | < ktemkin> | It was good for exactly that-- for very quickly looking for piece of non-critical informaiton. |
20:27 | < ktemkin> | You can be screwed over every time you trust a piece of information on the internet-- and sources like web forums make it a lot easier for people to get some very bad advice. |
20:27 | < ktemkin> | That's not a reason to eschew those tools. |
20:29 | < ktemkin> | You just have to be relatively lucid about what you accept. |
20:35 | < ktemkin> | In any case, popping back up to Lua. |
20:38 | < ktemkin> | I have a web system that automatically generates (and grades) student homework and quiz questions as part of an online learning environment. |
20:39 | < ktemkin> | It used one of those horrible systems where you can specify the ranges for each variable, and then write an arithmetic expression which is a correct answer in terms of those variables. |
20:40 | < ktemkin> | I became irritated at having to struggle with a dozen UI controls and create awkward expressions to generate answers and question prompts; and ripped the whole thing out and replaced it with a sandboxed Lua interpreter. |
20:42 | < ktemkin> | Now I can generate question text (and evalute student answers) using simple blocks of lua, which allows me (and theoretically other instructors) to actually construct decent randomized questions. |
20:42 | < ktemkin> | *evaluate |
20:42 | < ktemkin> | ... and I just have to figure out if there's a way to port the same kind of ease-of-use to non-technical instructors. |
20:43 | <&ToxicFrog> | You could just teach them lua~ |
20:43 | < ktemkin> | A noble goal, but not the kind of proposal that gets money from the higher-ups. |
20:48 | < ktemkin> | Perhaps I should focus more on making a web interface that makes it easy to write good lua; rather than creating an environment in which lua is easier to write. |
20:48 | < ktemkin> | Every effort I've seen to making programming "easier" tends to end badly. |
20:49 | <&ToxicFrog> | What does the API look like right now? |
20:49 | <&ToxicFrog> | What did it used to look like? |
20:52 | < ktemkin> | In the old system, there was zero programming involved. |
20:52 | < ktemkin> | (I'll find a UI picture.) |
20:53 | < ktemkin> | http://docs.moodle.org/22/en/Simple_calculated_question_type <-- It was essentially this horrid thing. |
20:53 | < ktemkin> | (You can tell it's horrid, as it's part of Moodle.) |
20:58 | <&ToxicFrog> | (at least it's not Blackboard, Desire2Learn, or WebCT) |
20:59 | <&ToxicFrog> | And what does it look like now? You could probably rig it so that you type in a formula and it splices that into a function body and compiles it. |
20:59 | < ktemkin> | http://www.ktemkin.com/misc/newui.png |
21:00 | < ktemkin> | (The Lua interpreter is running as an extension to PHP, so I can natively pass data back and forth between them.) |
21:01 | < ktemkin> | I haven't really had a chance to work on the UI yet; so it's still in need of an overhaul. |
21:04 | < ktemkin> | What I really want (and what I've been given a grant to do) is to get this proof-of-concept idea into a form such that it can be used at any university that's using Moodle. |
21:06 | < ktemkin> | It would be /really/ nice if it could be leveraged in such a way as to let people who are not throughly technical create randomized questions. |
21:07 | <&ToxicFrog> | Hrm |
21:07 | <&ToxicFrog> | It would be, yes. |
21:08 | < ktemkin> | I've been toying with the idea of having a simple GUI editor that lets you employ simple behaviors, and which generates lua. |
21:09 | < ktemkin> | I'm hoping that, if my audience sees that "A random element from the following list: a, b, c" translates to "one_of{'a', 'b', 'c'}", they'd be able to easily pick that up and run with it. |
21:10 | < ktemkin> | It would make it easy for people like English teachers, while not getting in the way of power users. |
21:18 | | Kindamoody is now known as Kindamoody[zZz] |
21:49 | | Serah [Z@Nightstar-ab9723d2.customer.tdc.net] has joined #code |
21:57 | | Typherix is now known as Typh|offline |
22:06 | | Turaiel is now known as Turaiel[Offline] |
22:07 | | Typh|offline is now known as Typherix |
22:08 | | Turaiel[Offline] is now known as Turaiel |
22:21 | | Typherix is now known as Typh|offline |
22:36 | | ErikMesoy is now known as ErikMesoy|sleep |
22:38 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has joined #code |
22:48 | | * Serah slaps Vornicus around a bit with a large trout |
22:48 | | ktemkin is now known as ktemkin[awol] |
22:57 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has quit [Ping timeout: 121 seconds] |
22:58 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has quit [Operation timed out] |
23:09 | | DrDREAM is now known as [R] |
23:13 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
23:14 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
23:14 | | mode/#code [+ao Derakon Derakon] by ChanServ |
23:14 | | Typh|offline [Typherix@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
23:14 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
23:30 | | Typh|offline is now known as Typherix |
23:30 | | Karono [Karono@Nightstar-0e4527e4.optusnet.com.au] has quit [[NS] Quit: ] |
--- Log closed Mon Jul 15 00:00:27 2013 |