code logs -> 2013 -> Sun, 14 Jul 2013< code.20130713.log - code.20130715.log >
--- 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
code logs -> 2013 -> Sun, 14 Jul 2013< code.20130713.log - code.20130715.log >

[ Latest log file ]