code logs -> 2015 -> Fri, 09 Jan 2015< code.20150108.log - code.20150110.log >
--- Log opened Fri Jan 09 00:00:34 2015
00:30 Kindamoody is now known as Kindamoody[zZz]
01:05 * Derakon eyes his program.
01:06
<&Derakon>
For some reason, now when I enable fullscreen mode, the display goes grey instead of showing my UI widgets.
01:06
<&Derakon>
This is problematic, as it means the only way out is to force-quit the program~
01:06
<&Derakon>
(Command-Q / alt-F4 don't work because of Reasons)
01:44
< Reiv>
HEY VORNICUS
01:44
< Reiv>
Math, simple math, for you
01:45
< Reiv>
Roll X dice. 6 of 8 sides are a hit, 2 sides are a miss. You may count one miss side as a hit. What're the odds of getting X damage, X-1 damage, etc?
01:48
<~Vornicus>
Aside from the "count one miss side as a hit", this is a standard binomial distribution (excel's binomdist)
01:48
<~Vornicus>
Wait - the "one miss side as a hit" -- do you mean that you have a d8, and either 1s or 8s are a hit, but you pick which one after you roll?
01:49
<~Vornicus>
or do you mean that one of the missed dice gets flopped to a hit afterwards
01:50
<~Vornicus>
('cause that first one is more difficult!)
01:50
<&McMartin>
If this is what I think it is it cannot be the first.
01:50
<&Derakon>
The latter should just bias the distribution by 1, shouldn't it?
01:51
<~Vornicus>
Precisely
01:51
<~Vornicus>
McM: what do you think it is
01:52
<&McMartin>
I think it's the X-Wing Miniatures game, again, with Focus enabled.
01:52
<&McMartin>
Also it doesn't completely bias it because that would be "one free hit", not "turn one miss to hit"
01:52
<&McMartin>
If you throw all Hits then you don't get a bonus
01:52
<&McMartin>
(And if it is XWMG then it can't be the first because the miss faces are visually indistinguishable, being as they are entirely blank)
01:53
<~Vornicus>
Yeah. it's not *exactly* a +1 bias, but it is just like it except that X+1 hits folds down into X hits
02:09
< Reiv>
One of the missed dice gets flopped to a hit
02:10
< Reiv>
(I am mostly curious what are the odds of getting 4-for-4 damage on a Concussion Missile with a focus token, McMartin you are correct)
02:11
< Reiv>
My next curiosity is when there are three sides: Hit, Focus, Blank, and *only* the Blanks qualify for the hit rule.
02:11
< Reiv>
(4 hits, 2 Focus, 2 Blank.)
02:11
< Reiv>
So you can in theory roll 4 Focus and deal 0 damage, because there's no hits and nothing to turn into one.
02:13
< Reiv>
My *next* question is how those answers change when there are 5 dice being rolled instead of 4 dice
02:13
< Reiv>
Because there's That One Dude coming, and he's going to ruin *everything*. <3
02:38
<~Vornicus>
4*(3/4)^3*(1/4) + (3/4)^4 = 189/256
02:41
< Reiv>
huh, that's very good odds indeed
02:41
< Reiv>
I will keep that in mind
03:05
<~Vornicus>
(3 hits is 6 * 3/4^2 * 1/4^2 = 54/256; 2 is 12/256; 1 is 1/256)
03:36
< Reiv>
haha
03:37
< Reiv>
So 3 hits is almost guranteed, 4 hits is 3 in 4 odds
03:37
< Reiv>
That's... useful.
03:37
< Reiv>
IF you can get the double-stack in place, that means they blow the crap outta things
03:37
< Reiv>
(Of course that's kind of the hard part right there)
03:51 Derakon is now known as Derakon[AFK]
04:00 AlienPickle [Alien@Nightstar-mmuvu1.res.rr.com] has joined #code
04:17 AlienPickle [Alien@Nightstar-mmuvu1.res.rr.com] has quit [[NS] Quit: Leaving]
05:22 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:47 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
06:00 celticminstrel [celticminst@Nightstar-de4ll6.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:34 Kindamoody[zZz] is now known as Kindamoody
07:33
< abudhabi>
Is it just me, or did Google's meddling with YT's comment system do approximately nothing about their quality?
08:08 Syka_ [the@Nightstar-c409v3.vividwireless.net.au] has quit [Connection closed]
08:08 Syka [the@Nightstar-c409v3.vividwireless.net.au] has joined #code
09:19 Reivles [orthianz@Nightstar-r1b.8ub.160.203.IP] has quit [Ping timeout: 121 seconds]
09:24 Orthia [orthianz@Nightstar-ijc.59a.184.203.IP] has joined #code
09:24 mode/#code [+o Orthia] by ChanServ
09:46 AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has joined #code
09:46
<@TheWatcher>
abudhabi: not just you.
09:55
< abudhabi>
Hypothesis: The kind of people deterred by a permanent public link between their identity and their online comments are not the same people who make idiotic comments online.
10:24
<@TheWatcher>
Potential student has expressed interest in doing the introductory c programming course, I replied with details, just got this reply
10:24
<@TheWatcher>
"as it's a foundation will this course alone mean further development courses will be needed to make me employable in the discipline?"
10:24
<@TheWatcher>
I think my brain has broken
10:25
< abudhabi>
Lacks a little punctuation, but seems a valid concern.
10:25
<@Tarinaky>
TheWatcher: I can follow the logic.
10:26
<@Tarinaky>
TheWatcher: The answer is, of course, 'yes' with an explanation.
10:26
<@TheWatcher>
I'm trying to avoid replying with "No, of coruse not! Those three/four year degree programmes that just barely get students to a state where they can start being employable? They're just for shits&giggles!"
10:27
<@Tarinaky>
Mind you, further study doesn't have to be a degree program.
10:27
<@Tarinaky>
Plenty of C programmers come from other disciplines. They torture Derakon all the time~
10:31
<@Tarinaky>
But probably best not to tell them that.
10:53
< abudhabi>
TheWatcher: You should probably point out that (documented) experience counts for more than degrees.
11:08
<@Tarinaky>
That's true of any profession.
11:08
< abudhabi>
Of course.
11:09
< AverageJoe>
its how i keep getting work
11:09
< AverageJoe>
i skipped college
11:12
< AverageJoe>
one of my co workers is in debt 120k to private loans at 15% interest
11:12
< AverageJoe>
dat usury
11:12
< abudhabi>
Mhm.
11:19
< abudhabi>
I've never quite understood why people get into so much debt in the US. Are there really no public universities?
11:21
<@Tarinaky>
The public universities are the one charging so much.
11:22
<@Tarinaky>
The private universities are cheaper but the qualifications are worth less as well
11:25
< abudhabi>
Where I come from "public" means "funded by taxpayers".
11:27
< abudhabi>
It seems ridiculous to demand higher education while also not providing it.
11:28
<@Tarinaky>
Public means the same thing in the US
11:28
<@Tarinaky>
They charge twice.
11:34
< abudhabi>
Right. Sounds like an incentive to study abroad.
11:35
< abudhabi>
Or, well, do what AverageJoe does and not study.
11:45
< AverageJoe>
who says i didnt study?
11:45
< AverageJoe>
i just didnt do it at some campus
11:45
<@Tarinaky>
abudhabi: Except for the fact that European universities charge almost as much for foreign/non-EU students /and/ you have to deal with a language barrier as well
11:46
< abudhabi>
Tarinaky: OK. Definitely an incentive to skip university.
11:46
<@Tarinaky>
Plus there will be less financing available because a lot of the American Universities are the ones who offer those loans
11:46
<@Tarinaky>
plus scholarships/discounts and all the rest.
11:46
< AverageJoe>
Here in the states many private colleges leech off of the government for their money. University of Phoenix for example has a stadium but no team to play.
11:47
< AverageJoe>
And is publicly traded
11:47
<@Tarinaky>
And it'll be harder to find work to finance yourself through university in Europe because Visas
11:47
< AverageJoe>
they get about 70% of their money from federal loans and grants
11:47
<@Tarinaky>
AverageJoe: Publicaly Trades != Public Money
11:48
< AverageJoe>
meaning i can buy stock in the company and get dividends
11:48
<@Tarinaky>
Yes, but you don't buy the stocks with public money
11:48
<@Tarinaky>
You buy the stocks with private money
11:48
<@Tarinaky>
Public money is money raised through taxes.
11:49
<@Tarinaky>
(and tarrifs and in principle whatever money-making assets are held by the government)
11:50
< AverageJoe>
anyways, recently the fed govt made it so that private colleges have to prove the degrees they print are worth a shit in the job market before allowing them to collect fafsa (federal financial aide) which at some point in time will lead to the private college bubble burst here in the states
11:51
< abudhabi>
Time to short the universities, then? :P
11:51
< AverageJoe>
Adverstisements for these fly by night colleges are all over the damn place here
11:52
< AverageJoe>
Bus ads, magazines, news papers, movie theatres, tv, radio internet, etc
11:53
< AverageJoe>
Whenever I see a degree on a resume from Devry or ITT Tech (2 of the most notorious fly by night tech schools), they go right into the special blue folder holder
11:53
< AverageJoe>
recycle bin
11:55 Orthia [orthianz@Nightstar-ijc.59a.184.203.IP] has quit [Ping timeout: 121 seconds]
11:55
< abudhabi>
What about degrees from Nowhere, East Sovietistan?
11:57
< AverageJoe>
We dont get many foreigners. I'd prolly end up giving them an interview / benefit of doubt
11:59 AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has quit [[NS] Quit: Leaving]
12:00 Orthia [orthianz@Nightstar-1nt.60m.184.203.IP] has joined #code
12:00 mode/#code [+o Orthia] by ChanServ
12:01 Kindamoody is now known as Kindamoody|afk
12:40 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
12:40 mode/#code [+o Checkmate] by ChanServ
12:46
<@Tarinaky>
"Babies cry so much because they can see the future. *baby scraming* This baby is witnessing the internet and the rise of Al-Qaida... Whatever they are."
12:59 Orthia [orthianz@Nightstar-1nt.60m.184.203.IP] has quit [Ping timeout: 121 seconds]
13:03 Orthia [orthianz@Nightstar-0l9.til.224.119.IP] has joined #code
13:03 mode/#code [+o Orthia] by ChanServ
16:23 celticminstrel [celticminst@Nightstar-de4ll6.dsl.bell.ca] has joined #code
16:23 mode/#code [+o celticminstrel] by ChanServ
16:29
<@Tarinaky>
So. Ruby
16:29
<@Tarinaky>
I have a function receiving a relative path in a unix format (i.e. path/seperators)
16:29
<@Tarinaky>
And I need to emitt the same relative path in a windows format (i.e. path\seperator)
16:29
<@Tarinaky>
Because I need to pass it on to another function that won't just 'do the right thing'
16:33
<@Tarinaky>
Pathname's conversion seems to always be to UNIX
17:28
< simon_>
how would you treat the following claim: "An NFA tests membership in time proportional with its number of states and input size."
17:29
< simon_>
I think this is not true. an NFA tests membership as a function of the input size and the number of transitions.
17:30 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Ping timeout: 121 seconds]
17:31
< simon_>
actually, I'm not sure this is even true. first off, by saying "I have an NFA", I am not saying how I choose to evaluate it (by trying all combinations simultaneously or by backtracking)
17:33 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
17:33 mode/#code [+o gnolam] by ChanServ
17:43
<@Alek>
wait, you're not talking about No Fucking Idea?
17:43
< simon_>
that'd be NFI. no, NFA = Non-deterministic Finite Automaton
18:04
<&ToxicFrog>
Tarinaky: paths with forward slashes are in windows format.
18:04
<&ToxicFrog>
There is nothing you need to do here.
18:15
<@celticminstrel>
I wouldn't say they are in Windows format, but Windows does understand them, I think.
18:16
<@celticminstrel>
It does in most contexts, at least.
18:39 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has quit [Ping timeout: 121 seconds]
18:44
<@celticminstrel>
Has anyone here tried fiddling with WiX for creating Windows installers?
19:02
< simon_>
what's a good function for practicing graph colouring on? GCD is pretty neat, Fibonacci has an empty interference graph.
19:02
< simon_>
what other small functions are there that might be useful for analysing?
19:03
< simon_>
I guess LCM as a variant of GCD.
19:07
<@Tarinaky>
ToxicFrog: celticminstrel: Well, this program doesn't understand it.
19:09 Kindamoody|afk is now known as Kindamoody
19:09
<&ToxicFrog>
Tarinaky: then it's doing something stupid with the paths internally rather than passing them to windows. Unfortunate.
19:14
<@celticminstrel>
Maybe something like splitting on '\\'
19:15
<@celticminstrel>
Would there be something like a "canonocalize path" function? Maybe it'd change slashes to backslashes?
19:15
<@celticminstrel>
^canonicalize
19:18 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has joined #code
19:18 mode/#code [+o Alek] by ChanServ
19:19
<@Alek>
oh d'oh. how'd I miss that? guess I should have had my coffee first. :P
19:20 Turaiel[Offline] is now known as Turaiel
19:23
<&McMartin>
celticminstrel: I have in the past had to contend with WiX
19:24
<&McMartin>
My first answer is "if it is at all your choice, seriously consider NSIS instead because despite still being a cross between assembly and PHP that's still less painful"
19:24
<@celticminstrel>
Hm. I sorta was considering that after trying to wrestle with WiX for awhile.
19:24
<&McMartin>
My second is "make sure you're using a relatively recent version of WiX because as recent;y as a few minor versions ago you had to respect 8.3 constraints"
19:24
<@celticminstrel>
Pretty sure I was using the latest version.
19:24
<&McMartin>
WiX produces raw MSI which is a nightmare for consumer-level software.
19:25
<@celticminstrel>
Oh?
19:25
<&McMartin>
Among MSI's various glorious properties are the fact that the installer database is consulted on uninstall and not cached
19:25
<&ToxicFrog>
celticminstrel: probably, but I've never used win32api directly, so I don't know what it might be called
19:25
<@celticminstrel>
Well, I guess I'll investigate NSIS more closely.
19:25
<&McMartin>
This means that you cannot move *or raname* the downloaded MSI if you want to be able to uninstall it cleanly later
19:26 * McMartin has used/does use both professionally
19:26
<@celticminstrel>
...uh. That's odd.
19:26
<@celticminstrel>
That includes if you're using Add/Remove programs to remove it?
19:26
<&McMartin>
Yes.
19:26
<&McMartin>
InstallShield was a commercial product that existed primarily to not have to deal with MSI's bullshit while still being usable with the enterprise-level MSI tools
19:27
<&McMartin>
MSI's notion of upgrade is also a disaster if you think of it as any end-user does
19:27
<&McMartin>
(It involves actually unpacking as few files as possible and never deleting anything)
19:27
<&McMartin>
(And it does it with manually provided UUIDs instead of, say, SHA1s of the file contents)
19:27
<&McMartin>
NSIS, in contrast, is basically a sharchive generator for Windows
19:27
<&McMartin>
And it's less horrible now that LogicLib exists if you're doing something complicated
19:28
<&McMartin>
If you're basically just doing a self-extracting EXE that also registers with add/remove programs, there are wizards that will autogenerate NSIS scripts for you
19:28
<&McMartin>
I believe the one I used back in '03 for stuff like Sable came with NIS Edit.
19:29
<@celticminstrel>
Alright.
19:29
<@celticminstrel>
I'd like to at least give the option to choose the install directory.
19:29
<&ToxicFrog>
McMartin: this...has not been my experience with MSI.
19:30
<&McMartin>
ToxicFrog: That is interesting, as the Windows Installer and WiX documetnation blares it as a gigantic warning on their pages
19:30
<&ToxicFrog>
I've successfully uninstalled things that I downloaded as an MSI which was deleted after installing, or which installed from physical media containing an MSI that was not present when it was uninstalled.
19:30
<&ToxicFrog>
(or installed from network drives that were not mounted when it was uninstalled)
19:30
<&McMartin>
My understanding is that in those cases the MSI has been wrapped in something that copies the "real" installer into some synthesized directory under %WINDIR%
19:30
<&McMartin>
This is considered a disadvantage by corp IT because (a) it means a user with admin can mess with stuff and (b) it makes the provisioned image larger
19:31
<&McMartin>
(Our MSIs at work are wrapped in an NSIS shell to do a similar trick)
19:31
<&ToxicFrog>
That may have been the case for the stuff on removable media, but for the others it was just "download .msi, double-click" -- maybe it copies itself? I don't know how flexible the msi package format is.
19:31
<@celticminstrel>
Other optional features I considered were: allowing them to not install the editors; adding a registry key to run the program with a modified PATH (which I've heard to be possible); and I can't remember the third one.
19:31
<&McMartin>
OK
19:31
<&McMartin>
Those are all easy - even the second-tier installer generators can do all those things
19:32
<&McMartin>
(MSI/Windows Installer and NSIS are the only two I consider top-tier)
19:32
<&McMartin>
TF: MSIs are literally MS Access databases on their own. They can include archive files (".CAB"s). It's possible that it's the CABs that have to be stashed.
19:33
<@celticminstrel>
Would NSIS also work for cross-building from Linux
19:33
<&McMartin>
That isn't how the docs I read present it though
19:33
<&McMartin>
Yes.
19:33
<&McMartin>
If you want to be able to installer-generate cross-platform, NSIS is your best bet overall, AIUI.
19:33
<&McMartin>
makensis is fully cross-platform.
19:33
<@celticminstrel>
I noticed WiX doesn't have non-Windows binaries.
19:33
< simon_>
I used NSIS some years back. it was nice.
19:34
<@celticminstrel>
There seems to be something called Visual & Installer that integrates NSIS with Visual Studio, so I guess I'll try that out.
19:34
<&McMartin>
I don't know of it, but it shouldn't be too awful
19:34
<&ToxicFrog>
simon_: I used NSIS some years back, and it was a horrifying trainwreck that still managed to be better than the alternatives :(
19:34
<&McMartin>
ToxicFrog: It still is!
19:35
<&McMartin>
But sharchives were always horrifying trainwrecks on all platforms so think of it like that~
19:35
<@celticminstrel>
On second thoughts, maybe I'll find something else.
19:35
<@celticminstrel>
It only has a limited trial version.
19:35
<&McMartin>
Also there's a standard macro package now called LogicLib that gives your installer scripts block-structured if statements and such
19:36
<&McMartin>
But we wrote UQM's absurdly complicated net installer without one
19:36
<&McMartin>
Back when we wore onions on our belts, as was the style at the time
19:36
<&ToxicFrog>
McMartin: sharchives I at least understand the language they're written in, and good documentation exists for that language
19:36
<&ToxicFrog>
And for the tools that the language can call.
19:37
<&ToxicFrog>
That was not remotely the case when I use NSIS; there was a lot of "copy this code which no-one understands and wave your hand and then a miracle occurs" in what passed for the official docs.
19:37
<&ToxicFrog>
...onions?
19:38
<&McMartin>
Grampa Simpson reference
19:38
<&McMartin>
http://nsis.sourceforge.net/Docs/ remains the core reference
19:39
<&McMartin>
There were also loads of crazy people on the Nullsoft forums, but that is like trying to learn C++ by browsing stackoverflow
19:39
<&McMartin>
The core reference doesn't include LogicLib yet and may also include the Unicode stuff that I think they don't acutally support in releases yet
19:40
<&McMartin>
... oh hey, it looks like it's made it to beta though.
19:41
<&McMartin>
It also looks based on the changelog that it isn't remotely stable yet.
19:42
<&McMartin>
celticminstrel's problem doesn't actually require any script instructions other than OutPath and File though (and Delete/RMDir in the unstallers)
19:42
<&McMartin>
Everything else fun falls out of splitting it up into Sections, listing the appropriate pages, and annotating them accordingly
19:42
<&McMartin>
MUI's docs are still kind of awful but (a) they're part of the official docs now and (b) MUI is optional anyway
19:45
<@celticminstrel>
...I don't need a File for every individual file, do I?
19:45
<&McMartin>
You do.
19:45
<@celticminstrel>
It'd be easier if I can just say "copy this whole directory tree".
19:45
<&McMartin>
that's what things like NIS edit get for you
19:46
<&McMartin>
Note that this is still simpler than WiX, which requires you to not only specify a file individually, but also components individually, assign each component to a Feature, and then each one of these must be provided with a manually provided UUID.
19:46
<&McMartin>
(Also: No, it turns out that you don't want that thing - it tends to result in slipping .obj files into the installer you didn't intend~)
19:46
<&McMartin>
One of the usually-a-misfeatures of NSIS is also that the relationship between the installer and the uninstaller is mostly coincidental.
19:46
<@celticminstrel>
It's a data folder.
19:47
<@celticminstrel>
There's no object files in it.
19:47
<@celticminstrel>
It's mostly XML files.
19:47
<&McMartin>
That's true until it isn't~
19:47
<&McMartin>
If you're building on Linux, you would want to exclude .xml~ files at the very least
19:48
<@celticminstrel>
...I guess maybe.
19:48
<&McMartin>
(The flipside of this is that you also have to individually delete files by name in the uninstaller. While there *exists* an rm -rf, actually using it is considered bad form.)
19:48
<@celticminstrel>
Though in my Windows build, I've already copied the directory tree into the build output directory, so if a hypothetical Linux build did the same, the .xml~ files would be omitted.
19:49
<@celticminstrel>
If I can generate the list of files as part of the build process, that would be fine too.
19:50
<&McMartin>
Yeah, it's very common to have a Perl or Python script scan the directories and build an NSI file or an included NSI file on its own
19:50
<&McMartin>
Our one at work is a little overengineered, as it actually takes the target exes and walks their dll dependencies to decide what to include there.
19:50
<@celticminstrel>
I just need to figure out how to tack this onto the end of Visual Studio's build.
19:50
<@celticminstrel>
Probably some sort of empty project that does nothing but execute a script.
19:50
<&McMartin>
As a makefile project
19:51
<@celticminstrel>
Okay, sure.
19:51
<&McMartin>
And it's not empty; it has the NSI file in it.
19:52
<&McMartin>
Hm. I don't have a sample script that uses Sections meaningfully
19:52
<&McMartin>
Ophis only has the one so it skips the component section.
19:52
<&McMartin>
...oh right
19:53
<&McMartin>
What language is this thing written in
19:53
<&McMartin>
If you're building it with Visual Studio you will probably have to also include the C++ Runtime Redistributables
19:53
<@celticminstrel>
Yeah, I figured that out.
19:54
<@celticminstrel>
I wasn't sure which DLLs to distribute, so instead I just tossed the installer into the archive.
19:54
<&McMartin>
That's the traditional approach, yeah
19:54
<@celticminstrel>
It's written in C++.
19:54
<&McMartin>
The installer is smart enough to no-op if it's already been installed.
19:54
<&McMartin>
(Ophis has to do this to work with py2exe)
19:55
<@celticminstrel>
It seems that I broke Visual Studio by restarting while an update was in progress... forcing me to manually redownload the update.
19:56
<@celticminstrel>
Restarting the computer, that is.
19:56
<&McMartin>
FWIW I also am not sold on the idea of putting the installer generator in the main solution
19:56
<&McMartin>
I build much more regularly than I release
19:57
<@celticminstrel>
Any particular reasons to use or not use the "modern interface"?
19:58
<&ToxicFrog>
McMartin: not only is it smart enough to do that, that is the only supported way of checking if it's already installed.
19:58
<&McMartin>
The "modern interface" is slightly harder to use, but it is more flexible and it looks like a "Proper Windows Application"
19:59
<&ToxicFrog>
(which is why you get a "installing directx" and "installing msvs runtime" message every time you install a game on steam)
19:59
<&McMartin>
(yep)
19:59
<&McMartin>
celticminstrel: If you've got something that is doing it for you, pick modern interface
19:59
<&McMartin>
You'll have to use the MUI macros instead of the stuff in Section 3 of the manual, basically
20:00
<@celticminstrel>
One of the options is "add uninstaller". That sounds ugly. :/
20:00
<&McMartin>
Yes
20:00
<&McMartin>
As I said above...
20:00
<&McMartin>
NSIS scripts aren't conceptually reversible
20:00
<&McMartin>
So there's no causal link between installer and uninstaller.
20:00
<&McMartin>
That's one of its usually-a-misfeatures
20:01
<@celticminstrel>
Can it be removed with Add/Remove Programs?
20:01
<&McMartin>
Yes
20:01
<&McMartin>
If you want to remove it with that, you *must* make an uninstaller
20:01
<@celticminstrel>
Good enough then,
20:01
<&McMartin>
Add/Remove programs is literally a registry key that says "when the user asks to uninstall this program, run the following commandline"
20:01
<@celticminstrel>
Do I even need a license page if it's GPL?
20:01
<@celticminstrel>
Ah.
20:02
<&McMartin>
You don't *need* one, but it's customary to use the license page to show it and to replace Accept/Decline with a single "Continue" button
20:02
<&McMartin>
Which Ophis does, one mome
20:02
<&McMartin>
nt
20:02
<@celticminstrel>
I have no idea what "number of component sections" means.
20:02
<&McMartin>
Remember when you said you wanted to select whether or not to install various things with checkboxes?
20:02
<&McMartin>
Each of those "things" is an NSIS Component Section.
20:03
<&McMartin>
The macros to modify the license page for GPL-friendliness are:
20:03
<&McMartin>
; License page
20:03
<&McMartin>
!define MUI_LICENSEPAGE_BUTTON "Install"
20:03
<&McMartin>
!define MUI_LICENSEPAGE_TEXT_BOTTOM "Press the Install button to continue."
20:03
<&McMartin>
!insertmacro MUI_PAGE_LICENSE "..\..\README"
20:03
<@celticminstrel>
Huh, apparently no-one ever bothered to commit a license file to the repository.
20:03 Turaiel is now known as Turaiel[Offline]
20:03
<&McMartin>
(Replace filenames and words appropriately)
20:08
<&McMartin>
Rust-lang has officially hit alpha
20:19
<@Tarinaky>
In other news: apparently my porformance exeeds expectations.
20:19
<@Tarinaky>
I shudder to think how low the bar is :P
20:28 Turaiel[Offline] is now known as Turaiel
20:43
<&McMartin>
Reminder that programmer productivity spans three orders of magnitude
21:00
<@celticminstrel>
There's some way to make nmake do nothing if the source file hasn't changed, isn't there?
21:06 Turaiel is now known as Turaiel[Offline]
21:07
<@celticminstrel>
Ah, found it. The target name needs to be the same as the output file.
21:08
<&McMartin>
Yeah, I think that's true with makefiles in general
21:09
<@celticminstrel>
I keep forgetting that.
21:09
<&McMartin>
If the target name is missing that overrides "have the sourcefiles change"
21:09
<&McMartin>
*changed
21:09
<@celticminstrel>
Now I just have to figure out how to generate the list of data files.
21:09 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
21:11 * McMartin mostly uses Python for cross-platform directory-walking shenanigans.
21:14
<@celticminstrel>
Eh, why not.
21:15 * iospace sighs
21:15
<@iospace>
i hate magic numbers
21:15
<@iospace>
sooooooooooooooo much
21:18
<@iospace>
Stoner jokes aside, 420 is /not/ a magic number
21:18
<@iospace>
*acceptable as a magic number
21:18
<@iospace>
*not acceptable
21:23
<&McMartin>
Well
21:23
<&McMartin>
It's OK as an entry in a 500-entry enum~
21:38
<@iospace>
ok, as an enum, fine
21:38
<@iospace>
THIS ISN'T AN ENUM
21:40
<@Alek>
somebody's hardcoded password hash? :P
21:40
<@Alek>
</badjoke>
21:42
<&McMartin>
TWISTER WALRUS
22:02 Checkmate [Z@Nightstar-pdi1tp.customer.tdc.net] has joined #code
22:02 mode/#code [+o Checkmate] by ChanServ
22:12 Kindamoody is now known as Kindamoody[zZz]
22:20
<@celticminstrel>
...now nmake doesn't want to rebuild when a source file has changed.
22:29
<@celticminstrel>
That aside, I now have a working installer.
22:30
<@celticminstrel>
I suppose there should be some sort of conditional thing so that MSVC redistributables aren't included if it's a non-VS build (eg MinGW), but that can wait until someone decides to build it that way.
22:32
<@celticminstrel>
Just need to fix the makefile so that it works properly if something is changed.
22:47
<@celticminstrel>
The source file is listed as a dependency, so I dunno why it's not working...
23:21 Thalass [thalass@Nightstar-1dh83p.bigpond.net.au] has quit [Ping timeout: 121 seconds]
23:24 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
23:24 mode/#code [+qo Vornicus Vornicus] by ChanServ
23:26
<@celticminstrel>
Fixed, yay.
23:40
<&McMartin>
The source file may be a dependency but the things the source file refers to won't be.
23:40
<&McMartin>
Make is Intrinsically Kind Of Bad At That though custom tools can work around it
23:41
<@celticminstrel>
The actual issue was that the output file was in a subfolder.
23:46 * McMartin installs the Rust alpha.
--- Log closed Sat Jan 10 00:00:49 2015
code logs -> 2015 -> Fri, 09 Jan 2015< code.20150108.log - code.20150110.log >

[ Latest log file ]