code logs -> 2013 -> Fri, 27 Sep 2013< code.20130926.log - code.20130928.log >
--- Log opened Fri Sep 27 00:00:54 2013
00:29 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
00:55 Turaiel[Offline] is now known as Turaiel
01:08 Derakon[AFK] is now known as Derakon
02:06
<&ToxicFrog>
McMartin: it looks like he's apologizing not for CAD as such, but for the fact that it's a three key chord rather than a dedicated key on the keyboard.
02:09
<@Azash>
I think anyone who has had a sleep key on their keyboard agrees that is a terrible idea
02:13
<@Alek>
amen
02:51 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
02:51 mode/#code [+qo Vornicus Vornicus] by ChanServ
02:54
<&McMartin>
Was https://www.usenix.org/system/files/1309_14-17_mickens.pdf linked in here?
02:54
<&McMartin>
Because it is fantastic
02:57
<&ToxicFrog>
It was.
02:58 Kindamoody[zZz] is now known as Kindamoody
02:58
<&ToxicFrog>
Indeed, I linked it after being linked it at work
02:58
<~Vornicus>
McM: that is fantastic
02:59
<&ToxicFrog>
"You go to work hung-over, and you realize that, during a drunken conference call, you told your boss that your processor has 32 registers when it only has 8, but then you realize THAT YOU CAN TOTALLY LIE ABOUT THE NUMBER OF PHYSICAL REGISTERS, and you invent a crazy hardware mapping scheme from virtual registers to physical ones, and at this point, you start seducing the spouses of the compiler team, because itās pretty clear that
02:59
<&ToxicFrog>
compilers are a thing of the past, and the next generation of processors will run English-level pseudocode directly."
02:59
<&McMartin>
"at a certain point, the transistors became so small that they started to misbehave. They randomly switched states; they leaked voltage; they fell prey to the seductive whims of cosmic rays that, unlike the cosmic rays in comic books, did not turn you into a superhero"
03:04
<~Vornicus>
"As a child in 1977, John had met Gordon Moore; Gordon had pulled a quarter from behind Johnās ear and then proclaimed that he would pull twice as many quarters from Johnās ear every 18 months."
04:20
<@Alek>
oh God no
04:40 iospace is now known as iospace|AWA
04:48 himi [fow035@Nightstar-36db723c.ffp.csiro.au] has joined #code
04:48 mode/#code [+o himi] by ChanServ
05:05 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
05:12 Derakon is now known as Derakon[AFK]
05:12 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
05:15 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
05:24 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has quit [Client closed the connection]
05:24 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has joined #code
05:24 mode/#code [+o gnolam] by ChanServ
05:28
< Syka_>
oh my god why
05:29
< Syka_>
people :(
05:29
< Syka_>
people misunderstanding science :(
05:29 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has quit [Client closed the connection]
05:30 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has joined #code
05:30 mode/#code [+o Alek] by ChanServ
05:33
<@Alek>
@Vorn
05:33
<~Vornicus>
what
05:33
<@Alek>
The topologist thinks that the glass is full of glass, and all else is outside it.
05:34
<~Vornicus>
well duh
05:35
<@Alek>
:D
05:53 Turaiel is now known as Turaiel[Offline]
05:57 Kindamoody is now known as Kindamoody|afk
05:59 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
06:21 ErikMesoy|sleep is now known as ErikMesoy
06:58 thalass [thalass@Nightstar-4ab061cc.bigpond.net.au] has joined #code
07:18 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has quit [Ping timeout: 121 seconds]
07:23
<~Vornicus>
battleship solver first run: pretty successful, though not being able to bring it to the living room does kind of cramp my style.
07:24
<~Vornicus>
also, being able to mark kills would probably reduce the number of states to test in the later stages.
07:39 himi [fow035@Nightstar-36db723c.ffp.csiro.au] has quit [Ping timeout: 121 seconds]
08:14
< AnnoDomini>
Raspi. I want to run a certain command upon reboot. How do I do that? Is there some autoexec.bat here?
08:19
<~Vornicus>
it runs a *nix, right?
08:20
< AnnoDomini>
Debian.
08:22
<~Vornicus>
uh. There's a variety of places you might want to put it, depending on when you want it to run and who you want it to run as.
08:23
< AnnoDomini>
It's the noip2 thing that updates the DNS. I think it needs to run as root.
08:23
<~Vornicus>
noip doesn't need to run as root.
08:24
<~Vornicus>
Or shouldn't.
08:25
<~Vornicus>
You should be able to run it with basically no privileges: the ability to open an outgoing socket and read ifconfig (ipconfig?) are both available to everybody, I think.
08:25
< AnnoDomini>
Then I think I need to chmod it and its config file too.
08:26
< AnnoDomini>
*chown
08:28
< AnnoDomini>
OK.
08:28
< AnnoDomini>
Now then, how do I make it start being automatic?
08:30
<~Vornicus>
Oh, you don't need to chown a file to make it run as a different user.
08:30
<~Vornicus>
Uh...
08:32
< AnnoDomini>
Well, I could have given it different permissions, I guess.
08:32
<~Vornicus>
blast. I can't remember how to do this. There's a file you put a call to the script into; I believe it's got .rc as the extension, but I'm not sure where it is or even which one you'd want because there's quite a few.
08:32
< AnnoDomini>
I've found this: "update-rc.d servicename defaults"
08:32
< AnnoDomini>
Does this look like it?
08:35
< [R]>
If you have a one-line thing (IE: not a service) /etc/rc.local (this is a shell script) is your friend, alternatively /etc/inittab (this is /not/ a shell script). If it's a service (IE: it had an /etc/init.d/ program) then there are distribution specific ways to activate it.
08:35
< [R]>
But for something like a dyndns update push? It'd actuall crontab that.
08:36
< [R]>
Better, if your dhcp client daemon has an event system, hook it into that (this also saves you from having to scrape out the IP from `ip` or `ifconfig`)
08:38
< AnnoDomini>
Does ifconfig even give you the router's IP?
08:38
< AnnoDomini>
I mean, the IP the router is dynamically assigned by the ISP.
08:39
< [R]>
I was assuming that this device was getting the IP that you needed to push to your DNS provider.
08:39
<~Vornicus>
As was I. As it is, the router should have DDNS service available to itself, the raspi shouldn't need to handle it.
08:39
< [R]>
If that is not the case (IE: it's behind NAT) then you are correct. `ifconfig` would not provide the IP.
08:39
< AnnoDomini>
It is behind NAT.
08:40
< AnnoDomini>
noip2 still works to make the whole setup work.
08:40
< [R]>
Thus my DHCP suggestion isn't applicable (unless your NAT device allows you to hook into it)
08:40
< [R]>
However, I believe crontab is your best option at this point thne.
08:41
<~Vornicus>
Unless your router has noip available as a known ddns service; it should, it's a popular one.
08:41
< [R]>
`crontab -e` or `crontab -u USER -e`
08:42
< [R]>
Ah right, yeah.
08:42
<~Vornicus>
nearly all consumer routers have this ability already built in.
08:43
< AnnoDomini>
OK, so you're saying that I should be configuring the router to talk with no-ip, rather than try to set this up on the raspi.
08:44
< [R]>
That's ideal, yes.
08:44
<~Vornicus>
That's the gist of it. The router knows when its IP changes, and probably knows to update itself once in a while when it doesn't hcange.
08:44
< [R]>
Since the router is likely using a DHCP hook, or a decent cronjob.
08:46
< AnnoDomini>
OK.
08:46
< AnnoDomini>
Now, moving backwards to the issue of configuring that damn webserver... [R], you said you know nginx. How do I change the directory it shows to the world?
08:47
< [R]>
Is google not helping you on that?
08:48
< [R]>
You basically want to look for the `root` line.
08:48
< [R]>
(I have no idea what your current config looks like, so it's possible you have multiple location blocks.
08:49
< [R]>
http://blog.martinfjordvald.com/2010/07/nginx-primer/
08:58
< AnnoDomini>
It's the default config. I have no 'root' line. I have no 'location' blocks either.
08:58
< AnnoDomini>
I have only one block, and it's called 'http'.
08:58
< [R]>
Paste it?
08:58
< [R]>
(You might also have include lines?)
09:00
< AnnoDomini>
http://pastie.org/8359408
09:04 You're now known as TheWatcher
09:07
< [R]>
Yeah, there's two include lines
09:07
< [R]>
Well twothat matter
09:07
< [R]>
include /etc/nginx/conf.d/*.conf;
09:07
< [R]>
include /etc/nginx/sites-enabled/*;
09:10 Alek [omegaboot@Nightstar-4093ec22.il.comcast.net] has joined #code
09:10 mode/#code [+o Alek] by ChanServ
09:11
< AnnoDomini>
OK. I've edited the sites enable default thing. What command was it to restart nginx?
09:11
< [R]>
/etc/init.d/nginx reload (try restart instead if that doesn't work)
09:12
<@froztbyte>
`service nginx reload`
09:13
< AnnoDomini>
Hmm. It's still 403 forbidden.
09:13
<@froztbyte>
403 means "your request routing is right, but I'm not allowed to give you this content"
09:14
<@froztbyte>
usually the reason for the disallowance is file permissions
09:14
<@froztbyte>
anyway, lemme check your config quickly
09:14
< [R]>
su -c 'ls /path/to/file/really/' NGINX_USER
09:15
<@froztbyte>
wat
09:15
< [R]>
(Then keep going up the path until it works.
09:15
< AnnoDomini>
What does that do?
09:16 * froztbyte prefers something like `find . -type d -exec ls -l {} \\; | grep -v $user`, less manual work
09:16
< [R]>
Runs `ls` as nginx's user. But yeah, there's a config issue possibly too (I'm kind of sleepy ATM)
09:16
<@froztbyte>
AnnoDomini: su is a command which means "switch user", -c says "I only want to run one command, it follows (usually in quotes)", and NGINX_USER would get substituted with 'www-data' or somesuch
09:17
<@froztbyte>
so it'll try to list things until it can't
09:17
< [R]>
froztbyte: that doesn't actually do the same thing.
09:17
<@froztbyte>
[R]: it doesn't, but it's a lot quicker for me to eyeball
09:17
< [R]>
Something like: su -c 'find /path/suspected/ 2>/log.txt' USER
09:17
< AnnoDomini>
"No passwd entry for user 'NGINX_USER'"
09:18
< [R]>
*headdesk*
09:18
<@froztbyte>
AnnoDomini: yes, it's 'www-data' in this case
09:18
<@froztbyte>
AnnoDomini: do this for me please: ls /etc/nginx/sites*
09:19
< AnnoDomini>
http://pastie.org/8359441
09:19
< [R]>
(ALL-CAPS things in provided commands tend to be replaced by the actual thing, can't use [] or <> since those might actually be relevant to the command.)
09:20
<@froztbyte>
AnnoDomini: okay, so there's one file, and one symlink. the /etc/nginx/sites-available/default is the file, and ...-enabled/default is a symlink to the file
09:20
<@froztbyte>
AnnoDomini: `cat` that file to see what 'root' parameter it has in its config
09:20 * TheWatcher eyes xkcd. snerks
09:21
< [R]>
I like the alt-text
09:21
<@TheWatcher>
Indeed
09:22
< AnnoDomini>
froztbyte: http://pastie.org/8359449
09:23
<@froztbyte>
AnnoDomini: ah, I see; okay, so what you need to now do is run `su -c 'ls /mnt' www-data; su -c 'ls /mnt/hitachi' www-data;`
09:23
<@froztbyte>
see which one breaks
09:24
< AnnoDomini>
Problem: I don't know the root password. I've been using passwordless sudo.
09:25
< [R]>
sudo su -c 'ls /mnt' www-data; sudo su -c 'ls /mnt/hitachi' www-data
09:25
< AnnoDomini>
ls: cannot open directory /mnt/hitachi: Permission denied
09:26
<@froztbyte>
and there we go
09:26
<@froztbyte>
ls -l /mnt | grep hitachi
09:26
<@froztbyte>
(also maybe `mount | grep hitachi` because I have a hunch)
09:26
< AnnoDomini>
drwx------ 10 pi pi 4096 Sep 26 21:38 hitachi
09:27
< AnnoDomini>
/dev/sda1 on /mnt/hitachi type ext4 (rw,relatime,data=ordered)
09:27
<@froztbyte>
alrighty, there we go
09:27
< [R]>
Because it's a mount-point I would chmod a+rwx that. (Do NOT use -r)
09:28
< [R]>
(Also chown it back to root.root)
09:28
<@froztbyte>
so, the permissions for the path /mnt/hitachi are "owner is allowed to read, write, and execute; no-one else is allowed anything"
09:28
< [R]>
But you could also chown it to www-data if you wanted.
09:28
< Syka_>
once i chmod'd /* to 777 on a production webserver
09:29
< Syka_>
that was fun
09:29
< [R]>
Not recursive hopefully?
09:29
< Syka_>
yep
09:29
< [R]>
D:
09:29
< [R]>
Welp, AIDE's your friend there.
09:29
< [R]>
Sucks to be you if you weren't using it.
09:29
<@froztbyte>
so yeah, what [R] said about chmod, so the command looks like or so: `chmod g+rx,o+rx /mnt/hitachi`
09:29
< Syka_>
what is AIDE?
09:29
<@froztbyte>
(you don't need +w because your webserver won't be writing there)
09:29
< [R]>
cfengine/puppet/chef could also help.
09:30
< Syka_>
heh, well, that was at oldwork :D
09:30
< Syka_>
i don't care about them
09:30
< AnnoDomini>
froztbyte: OK. Will this survive a remounting?
09:30
<@froztbyte>
AnnoDomini: "probably"
09:30
< AnnoDomini>
OK.
09:30
< [R]>
Syka_: it's basically a really suped up *sum program, it's marketed as a host-based intrusion detection system.
09:30
<@froztbyte>
depends on what the reason for the permissions was
09:30
<@froztbyte>
AnnoDomini: you might need to pass in a mount-opt in /etc/fstab
09:31
<@froztbyte>
AnnoDomini: very quick to find out, though :)
09:31
< [R]>
But it can also check file permissions, file-node types (IE: character, buffer, fifo, socket, directory, real file) and more.
09:31
< [R]>
Err, yes, a+rx (not a+rwx) durr.
09:32
< AnnoDomini>
Thanks for the help.
09:32
< [R]>
Night all
09:33
< [R]>
AD: good luck with your thing.
09:33 * AnnoDomini needs to go now, but will return with config questions about vsftpd.
09:33
<@froztbyte>
"run"
09:34
< AnnoDomini>
(I want it to live in /mnt/hitachi too!)
09:34
< [R]>
(If you can, scp/sftp are better options than ftp)
09:36
<@froztbyte>
AnnoDomini: you probably don't
09:36
<@froztbyte>
(unless you really have no other choice)
09:36
<@froztbyte>
(ftp is terrible)
09:36
<@froztbyte>
(but sure, I can help)
10:02 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:02 mode/#code [+o himi] by ChanServ
10:31 thalass is now known as thalaway
10:44 thalaway is now known as Thalass
10:58 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code
11:22
< Syka_>
Tamber: coughotherchancough
11:26 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving]
11:35 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
11:36 Orth is now known as reivles
11:39 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
12:24 reivles [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
12:25 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
12:26 Orth is now known as reivle
12:44 reivle [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
12:45 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
12:59 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
13:12 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
13:13 mode/#code [+o himi] by ChanServ
13:13 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
13:16
< AnnoDomini>
froztbyte: Why would FTP be terrible
13:16
< AnnoDomini>
?
13:23 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
13:24
<@froztbyte>
not would be, it is
13:25
<@froztbyte>
http://mywiki.wooledge.org/FtpMustDie has a nice list of reasons
13:28 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
13:31
< AnnoDomini>
Okay. So what would I use instead? I want to make this server my go-to place for archiving my cat pictures and a website for my character sheets. I expressly do NOT want to write my web pages in the command line, and I do NOT also want to have to use scp from the command line to transfer files.
13:32
< AnnoDomini>
(That's what I'm currently doing, because the server I'm using has broken FTP.)
13:33
<@froztbyte>
you don't really need to be forced to use the command line
13:33
<@froztbyte>
filezilla supports sftp perfectly, for instance
13:33
<@froztbyte>
and sftp is just a sub thing on openssh
13:33
<@froztbyte>
so you basically get it for free
13:34
<@froztbyte>
(afaik finder also supports sftp, and gnome and kde's default file managers definitely do too)
13:35
< Syka_>
nautilus does, yes
13:42 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
13:42 mode/#code [+o himi] by ChanServ
13:47
< AnnoDomini>
OK, so what you're telling me is I need to install some kind of sftp server or is that already included?
13:47
< Syka_>
sftp is done through ssh isn't it
14:03
<@TheWatcher>
Yep
14:05
<@TheWatcher>
AD: sftp and scp functionality are provided by the sshd service running on your pi. You should be able to connect to it using, say, Filezilla with host: sftp://yourpihere and your normal username and password
14:06
< AnnoDomini>
OK.
14:08 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
14:15 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
14:30 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
14:39 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
14:46
< AnnoDomini>
Neat!
14:46
< AnnoDomini>
Everything works now.
14:47
< AnnoDomini>
I must only get started on designing a new website. The old one is largely obsolete due to lifestyle changes.
14:49 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
14:49 mode/#code [+o himi] by ChanServ
14:58
< AnnoDomini>
Silly aptitude. When installing znc, it turns out my Perl is too old. So the first solution it comes up with is to remove half of the critical packages installed.
14:58
< AnnoDomini>
Second solution is to upgrade Perl.
14:59
< Syka_>
debian unstable?
15:00
< AnnoDomini>
raspbian
15:01
< Syka_>
...is that based on debian unstable?
15:02
< AnnoDomini>
I doubt it.
15:02
< Syka_>
heh
15:03
< Syka_>
i had that happen to me on my debian unstable
15:03
< Syka_>
perl broke my entire install :(
15:32
<@froztbyte>
you did by blindly pressing 'y' ;p
15:36 Turaiel[Offline] is now known as Turaiel
15:37
<&ToxicFrog>
AnnoDomini: you can also just mount it with sshfs: sshfs user@host:/ /path/to/mountpoint
15:37
<&ToxicFrog>
(this is what the Nautilus support for sftp:// URLs is doing under the hood, although it mounts it someplace awkward)
15:37
< Turaiel>
I think I recall Perl breaking my install at one point
15:37
< Turaiel>
It threw an update into a ridiculous loop and broke things
15:38
< Turaiel>
Oh, that conversation was a while ago. Meh.
16:02
< RichyB>
ToxicFrog, I think nautilus likes to mount things at ~/.gvfs/../
16:03
< RichyB>
If you drag and drop an icon from nautilus into a terminal, it'll type a shell-quoted absolute path at which that file is visible into the terminal
16:03
< RichyB>
Makes getting paths out of weird .gvfs things and aiming command-line applications at them much easier.
16:04
<&ToxicFrog>
RichyB: yes, I know. That doesn't make "~/.gvfs/$protocol for $user on $host" less awkward.
16:22 Turaiel is now known as Turaiel[Offline]
16:29
<@froztbyte>
It's pretty ridiculous that gvfs still isn't nicely accessible without rolling a whole bunch of custom crap
16:29
<@froztbyte>
Anyway, that's gnome for ya
16:35
<@Tamber>
Syka_, very belatedly. If I wasn't at work, I probably would have seen it and whomped it. I was, though; and thus couldn't. Thanks, though.
16:48 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds]
16:49 Orth [Reiver@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code
17:47 Turaiel[Offline] is now known as Turaiel
17:47 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code
17:47 mode/#code [+o celticminstrel] by ChanServ
18:03 AnnoDomini is now known as Wires
18:25
<@celticminstrel>
...Github's contact page says "If you just want to say hi, that's cool too".
18:53 Turaiel is now known as Turaiel[Offline]
19:17 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
19:26 Turaiel[Offline] is now known as Turaiel
19:27 Turaiel is now known as Turaiel[Offline]
19:31 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
19:31 mode/#code [+o himi] by ChanServ
19:37 Wires is now known as AnnoDomini
19:37 AnnoDomini is now known as Wires
19:48 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
20:01 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
20:01 mode/#code [+o himi] by ChanServ
20:07 Kindamoody|afk is now known as Kindamoody
20:09 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
20:09 mode/#code [+ao Derakon Derakon] by ChanServ
20:10 * Derakon blarghs, eyes the frankencode he has to massage into something usable.
20:10
<&Derakon>
First step is getting the stuff to compile.
20:10
<&Derakon>
Which isn't helpful when it says "invalid or corrupt file" when I try to link against the third-party DLL.
20:10 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
20:10 Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds]
20:11 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
20:18 Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
20:18 mode/#code [+o Pandemic] by ChanServ
20:18 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
20:20
<&Derakon>
Ah, my problem is that I have a .dll and no corresponding .lib. Fantastic.
20:20 Kindamoody is now known as Kindamoody[zZz]
20:23 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
20:23 mode/#code [+o himi] by ChanServ
20:26
<&Derakon>
Hm, can anyone decode these errors? Welcome to #Code! || Don't ask to ask, just ask. || Rants and monologues are en
20:26 Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
20:27
< Derakon_>
Argh, sorry about that.
20:27
< Derakon_>
Windows commandlines have shit support for copy/paste.
20:27
< Derakon_>
I meant to link to http://pastebin.com/QX8ZZCqm
20:28 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Operation timed out]
20:29 Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
20:29 mode/#code [+ao Derakon Derakon] by ChanServ
20:30 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
20:32
< Derakon_>
Hm, okay, I think my problem may stem from trying to make a DLL out of code that was originally meant to be an application. I think.
20:35
< Derakon_>
Aaaand now it can't find windows.h.
20:35
< Derakon_>
There are times I really hate dealing with code compilation.
20:37
< Derakon_>
I have '/I"C:\Program Files\Microsoft Platform SDK\Include"' in my flags, and Windows.h is in that directory, so why can't it see the damn thing?
20:41 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
20:42 Wires is now known as AnnoDomini
20:51
< [R]>
Compiling is much nicer when you use an OS that doesn't hate developers. Also, maybe it's being case-sensitive about the filename?
20:52
< Derakon_>
...right, that time the problem was that I was using "INCLUDE" as a definition in my makefile, overwriting the existing environment variable.
20:52
< Derakon_>
It's not case-sensitive.
20:52
< Derakon_>
...shit, the third-party library I'm using insists on being an MFC app, I think. >.<
20:54 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
20:54 mode/#code [+o himi] by ChanServ
20:55 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
21:20 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
21:20 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:03 Turaiel[Offline] is now known as Turaiel
22:24
< xybre>
Whoever posted that James mickens article article gets loads of kudos, that was hillarious.
22:24
<&McMartin>
TF gets the credit
22:24
<&McMartin>
I ran into it elsewhere and thought it looked familiar and linked it again
22:24
<&McMartin>
It looked familiar, of course, because TF had linked it
22:28 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Operation timed out]
22:30
< ErikMesoy>
Yeah, it was great. And inspired me to a few unhelpful suggestions. "Code compilation trouble? Throw engineers, rum, and money at the problem until they invent a language that doesn't need compiling because it runs on high-level hardware."
22:30
<&McMartin>
Except Satan has defeated this dream =(
22:30
<&McMartin>
After the branches summoned him!
22:35
< xybre>
Didn't Dykstra have a rant about "english-like" languages that was pretty good?
22:38
<&McMartin>
He's most famous for "Why Pascal Is Not My Favorite Programming Language" which can largely be rebutted by "Borland Turbo Pascal 5.5 had none of these flaws"
22:38
<&McMartin>
There is a saying to the effect of "make it possible to program a computer in English and you will find that people cannot program in English."
22:39
<&McMartin>
A statement that is both true and false, imo, at least twenty and quite possibly forty years on.
22:39
<&McMartin>
True because getting the syntax right is not the hard part of programming
22:39
<&McMartin>
False because natural language contains many useful and highly expressive technologies that can be meaningfully appropriated for the right problem domains.
22:40
<&McMartin>
I know of two languages that did this, explicitly, as part of the design.
22:40
<&McMartin>
One of them is Perl, so, well, take that as you will
22:40
<&McMartin>
(The other is Inform 7, which exploits its problem domain (text adventures) in a way that the specifications are very english-like indeed, but doing so can be justified by many other principles)
22:41
<&McMartin>
(Like single-point-of-truth; an English-lite parser is part of the runtime and the user's primary mode of interaction; it needs to be configurable, and there's no reason to not have power that the *player* will have also available to the developer.)
22:41 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
22:41 mode/#code [+o himi] by ChanServ
22:42
< [R]>
Ah... Borland, my first compiler. And second. And now they're dead.
22:42
<&McMartin>
MS headhunted everyone good and left the corpse to rot, more or less.
22:43
<&McMartin>
(My first, second, third, and fourth, if you count version differences)
22:43
< [R]>
I was
22:44
<&McMartin>
But yeah, one of the big critiques Dijkstra had of Pascal was "the size of an array is part of its type, which means that you can't write a general routine that operates on strings, and if you standardize on a size, nobody else did and so you can't interoperate with them"
22:44
<&McMartin>
To which the correct answer is "um, string is totally a type, check it out"
22:45
< [R]>
That name seems familiar
22:45
<&McMartin>
And by TP5 you also had inline assembler and pointers, and by TP7 you had a full object system that you generally didn't need to use because modules are enough for an awful lot.
22:45
< [R]>
I want to say "C++ guy?"
22:45
<~Vornicus>
Dijkstra's a big grumpy name in computer science
22:45
<&McMartin>
That's Stroustroup.
22:45
<&McMartin>
Vorn pretty much has it.
22:45
<&McMartin>
He's the You Damn Kids Get Out Of My Spanning Tree And Off My Lawn man of CS.
22:45
<~Vornicus>
His most famous actual /work/ is Dijkstra's Algorithm, a weighted graph traversal algorithm.
22:47
< [R]>
Ah
22:47
< [R]>
That'd be why (lib I'm using has that included)
22:48
< xybre>
McMartin: just becasue it *reads* like english, doesn't mean writing it is as simple as constructing any arbitrary sentance.
22:49
< xybre>
http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html
22:49
<~Vornicus>
Which is a standard graph traversal algorithm where your "next node to look at" rule is "distance to get to the current node from the start + distance to get from current node to the next one"
22:51 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
22:53
<~Vornicus>
That mickens article made boingboing.
22:54
<&McMartin>
xybre: When people say "I want to program a computer in English" they mean "I want a robot butler that does everything I ask it to and knows everything it needs to to do those things, even when I don't, and which can resolve ambiguities in the way I intended even when I didn't know there were ambiguities"
22:55
<&McMartin>
They don't get to have nice things; you don't get to have that even with a fully sentient servant. =P
22:56
<&McMartin>
Also, yes, I7 took some heat for looking like it isn't a programming language, except for the part where it is *really obviously* a programming language
22:56
<&McMartin>
I like to describe it as people fearing lack-of-braces. =P
22:57
<~Vornicus>
I'm reminded suddenly of http://imgur.com/gallery/n8gnC2Q
22:57
<&McMartin>
And "now all red doors are open" is a better command than "objloop (d : Door) { if d.color == RED { d.open = true; } }"
22:58
<&McMartin>
But seeing a list of assertions like "A person can be on fire. A person is seldom on fire." does not leave a lot of room for doubt that you are dealing with an assertion-and-rule-based system.
22:59 ErikMesoy is now known as ErikMesoy|sleep
22:59
<&McMartin>
Exactly how best to map this to models of execution is a matter of some debate; the creators of the language clearly are using a logic-programming-like paradigm, but I've always felt that I7 semantics were closer to ML's case-matching.
23:01 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
23:01
< ErikMesoy|sleep>
It strikes me that Python approaches fairly close: "for door in doors: if door.color is red: door.open()"
23:01 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code
23:01 mode/#code [+o celticminstrel] by ChanServ
23:02
<~Vornicus>
i don't even know what language McM is playing with that has "objloop"
23:04
<&McMartin>
That's I6.
23:04
<&McMartin>
(And that's basically the I6 that that I7 compiles into)
23:07
<~Vornicus>
aha
23:09 * Derakon_ mutters at MicroManager.
23:09
< Derakon_>
It's kind of telling when my program becomes less stable only when it uses your libraries~
23:10
< Derakon_>
(MicroManager is a hardware abstraction system, so it's reasonably possible that the fault in fact lies with the hardware it's controlling, but then I'd still say it should fail more gracefully than just by randomly hanging the program)
23:19 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
23:20 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
23:20 mode/#code [+qo Vornicus Vornicus] by ChanServ
23:26 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
23:31
< xybre>
McMartin: yeah people really are afraid of lack of braces. I'm a Ruby coder by trade and I write my code in the anti-lisp style, so there's as little line noise as possible, almost no parens needed. People freak out.
23:33
<&McMartin>
I've come around on the unwisdom of going as brace-free as possible in C
23:33
< Derakon_>
Braces are necessary in C if only because "if (condition) doThing();" is a terrible idea.
23:34
<&McMartin>
That's the precise thing, yeah.
23:34
<&McMartin>
It's what gave us the deliciously evil and thankfully obsolete
23:34
<&McMartin>
#define for if (0); else for
23:34
< [R]>
Anti-Lisp style?
23:34 * Derakon_ makes a little OpenGL drawing widget, draws a sadface onto the array of mirrors sitting in the microscope's light path.
23:35
<&McMartin>
:(
23:35
< Derakon_>
(It was not meant to be sad, but it's hard to draw with this thing)
23:35
< [R]>
McM: why would people redefine for like that?
23:36
< Derakon_>
R: to force use of braces.
23:36
< xybre>
Wait, did Blackberry *buy* QNX?
23:36
<&McMartin>
[R] Because earlier versions of the C++ standard had the construct "for (int i = ...)" be equivalent to "int i; for (i = ...)"
23:36
<&McMartin>
Which is basically never the thing you want
23:36
< Derakon_>
http://derakon.dyndns.org/~chriswei/temp2/DMDControlFace.png
23:36
<&McMartin>
So that #define changes the semantics of for to make "for (int i = ...)" have i expire at the end of the for loop
23:37
< xybre>
[R]: anti-lisp, a joke, since lisp is full of parens.
23:37
<&McMartin>
The standard eventually changed to be that behavior.
23:37
< Derakon_>
(That's the output of the camera, indirectly imaging the mirror array)
23:37
<&McMartin>
But, for instance, some versions of MSVC++ have the old behavior, because that was what the standard said
23:37
<&McMartin>
While gcc said "fuck that noise" and did its own thing
23:37
<&McMartin>
See also: reasons why C++ was not a viable language in general until like 2005
23:38
<@Azash>
s/wa/i/ s/ i.+//
23:39
<@Azash>
Oop
23:39
<@Azash>
I messed that up, switch the order
23:39
<&McMartin>
Empirically untrue~
23:39 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
23:39 mode/#code [+o himi] by ChanServ
23:41
< Derakon_>
If C++ still isn't viable, then it's amazing how much code is being written in a nonviable language~
23:41
< Derakon_>
Then again, people still use Java for new projects.
23:41
<&McMartin>
The "in general" is important.
23:41
<&McMartin>
C++ was a constellation of only coincidentally-related dialects during the 1990s.
23:44 * Derakon_ goes poof.
23:44 Derakon_ [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
23:46
<&McMartin>
It wasn't really possible to get portable C++ source that made better guarantees than C until standard compilers were available and boost had seen some development
23:50
< xybre>
Derakon: people still use PHP and Cobol too.
23:51
<&McMartin>
COBOL is a DSL for dealing with punchcard stacks~
--- Log closed Sat Sep 28 00:00:09 2013
code logs -> 2013 -> Fri, 27 Sep 2013< code.20130926.log - code.20130928.log >

[ Latest log file ]