code logs -> 2012 -> Thu, 11 Oct 2012< code.20121010.log - code.20121012.log >
--- Log opened Thu Oct 11 00:00:15 2012
00:09 * TheWatcher replaces all of iospace's code with perl, let's see if she notices
00:23 * gnolam gets to use "Helicopter *parent", giggles.
00:32
<&McMartin>
You are a bad person
00:39 You're now known as TheWatcher[T-2]
00:42
<@TheWatcher[T-2]>
Idly, anyone have any ideas why wget might only save part of a file? It's apparently losing "a chunk" of the start of the file (I'm trying to establish now much): everything after a point is saving fine, everything before is not there... except that this only appears to happen sometimes (I'm also trying to find out exact frequencies - the person telling me this is not being entirely useful). To make it weirder, I can't reproduce the problem
00:42
<@TheWatcher[T-2]>
at all
00:43
<&McMartin>
Are you getting a 206/316 back?
00:43
<&McMartin>
Er, is he
00:43
<&McMartin>
Also, he should see if curl -O works
00:44
<@TheWatcher[T-2]>
hmm, that's a point
00:44 * TheWatcher[T-2] goes check the access log to see what that's returning
00:44
<&McMartin>
wget might be losing its shit and asking for ranges
00:45
<&McMartin>
(Or thinking it needs to pick up where it left off when it should be restarting, or...)
00:48
<@TheWatcher[T-2]>
Well, looking at the access logs, it's sending back status 200, same byte size transferred, so it's something on his end
00:48 You're now known as TheWatcher[zZzZ]
00:48
<&McMartin>
Fair enough
00:48
<&McMartin>
He should try curl instead of wget, to see if wget is just outfreaking
00:49 Derakon[AFK] is now known as Derakon
00:50 * Derakon gets home from work, has two waiting pull requests for Pyrel and a bunch of questions in the angband-dev IRC backlog.
00:50
<&Derakon>
So much for taking a nap. >.<
00:58 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
00:58 mode/#code [+o himi] by ChanServ
01:33
< gnolam>
MY QUATERNION-FU IS STRONG
01:34
<&McMartin>
MANY QUARTERNIONS KNEW WHAT IT WAS TO BE ROASTED IN THE DEPTHS OF THE SLOR THAT DAY, I CAN TELL YOU
01:39
< iospace>
TheWatcher[zZzZ]: we use C
01:39
< iospace>
i doubt Perl would work for what we use it for :D
02:09 Reiv [NSwebIRC@D4E70A.D52DB0.820B13.98C775] has joined #code
02:43 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has quit [Client closed the connection]
02:43 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
03:17 Attilla [Obsolete@Nightstar-31dc2af6.as43234.net] has quit [[NS] Quit: ]
03:31 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has quit [[NS] Quit: Reboot]
03:36 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
04:23 mac [NSwebIRC@Nightstar-fe8a1f12.il.comcast.net] has joined #code
04:23 mac [NSwebIRC@Nightstar-fe8a1f12.il.comcast.net] has left #code [""]
05:01 Tamber [tamber@furryhelix.co.uk] has quit [Connection closed]
05:06 Tamber [tamber@furryhelix.co.uk] has joined #code
05:06 mode/#code [+o Tamber] by ChanServ
05:06 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:16 Derakon is now known as Derakon[AFK]
07:00 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:45 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
08:17 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Client closed the connection]
09:09 You're now known as TheWatcher
09:09 Attilla [Obsolete@Nightstar-31dc2af6.as43234.net] has joined #code
09:44 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
09:54 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has left #code ["Leaving"]
10:04 Vash [Vash@Nightstar-3ba4108e.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
12:42 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
14:04 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has quit [Ping timeout: 121 seconds]
14:53 * iospace eyes her changes
14:54 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
14:55
< iospace>
work pl0x :<
14:56 * RichyB hugs iospace.
14:58 * iospace hugs RichyB
15:02 Outpost [Outpost@Nightstar-798f08ac.pa.comcast.net] has quit [[NS] Quit: ]
15:02 Outpost [Outpost@Nightstar-798f08ac.pa.comcast.net] has joined #code
15:05
< RichyB>
What are you hacking on?
15:07 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:10
< iospace>
[REDACTED]
15:10
< iospace>
:P
15:11
< iospace>
(really it's BIOS devel)
15:11
< iospace>
beyond that i'm not going to go into much other details
15:11
< RichyB>
Work stuff that's NDA'd to Hell and back?
15:11
< RichyB>
NDAs are usual for where I work.
15:11
< iospace>
oh you wouldn't believe :P
15:12
< RichyB>
Yeah I would.
15:12
< iospace>
lets see
15:12
< RichyB>
There are advertising people working in the same building as me; everything in the building is secret-by-default
15:12
< RichyB>
their customers are real cagey about leaks ruining their marketing campaign timing.
15:13
< iospace>
well not only do we have our company's NDA, we have other NDAs from our vendors
15:13
< iospace>
huzzah! It works :D
15:13
< RichyB>
IMO, unless you're signing the Official Secrets Act (or some local equivalent) and therefore are subject to jail time or being shot for treason, it's not really *nuts*. :)
15:13 * iospace shrugs
15:14
< RichyB>
Our company signs NDAs from its customers, we have all signed an NDA from our company.
15:15
< RichyB>
Do you actually get NDAs from your *suppliers*?
15:18
< iospace>
yup
15:18
< iospace>
we do
15:19
< iospace>
^^;;
15:19
< iospace>
we have an Intel NDA actually as well
15:19
< iospace>
and that's just the tip of it :D
15:21
< iospace>
(no really, we need access to the intel specs for their chipsets and processors as we are doing BIOS devel)
15:21
< RichyB>
Cool!
15:21
< RichyB>
Makes sense.
15:21
< RichyB>
Kinda sucks that they don't just publish all of their manuals (from the Linux hippy perspective) but that's hardly your fault. :)
15:22
< iospace>
trade secrets and what not
15:23
< iospace>
i've done BIOS devel, VxWorks devel, and Linux devel ^^;;
15:27
< iospace>
tiem to break the build :D
15:30
< froztbyte>
vxWorks devel....you poor soul
15:31
< iospace>
froztbyte: eh, the default shell though is amazing ^_^
15:31
< froztbyte>
euh
15:31
< froztbyte>
not on the ones I've been exposed to
15:31
< iospace>
oh?
15:31
< froztbyte>
but that's typically been production equipment and stolen debug creds
15:32
< froztbyte>
so it might not be the default shell you get on the dev stuff?
15:32
< iospace>
maybe
15:33 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
15:35
< froztbyte>
so what sort of amazing is there?
15:35
< froztbyte>
is it like zsh amazing?
15:35
< froztbyte>
or other sorts of integration added amazing?
15:36
< iospace>
like taking the C functions that are used in the build files and running them out of the shell
15:42 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:47 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has quit [Ping timeout: 121 seconds]
15:49
< froztbyte>
ah
15:50
< froztbyte>
yeah, stuff like that is pretty cool
15:50
< froztbyte>
have seen it in one or two other things as well
15:58
< iospace>
:P
15:58
< iospace>
amazing when you're doing development
16:00 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
16:03
< iospace>
HUZZAH
16:03
< iospace>
it works
16:03
< iospace>
somewhat ._.
16:14 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has quit [Ping timeout: 121 seconds]
16:17 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
16:43 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has quit [Ping timeout: 121 seconds]
16:47 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has joined #code
16:49 RichyB [richardb@7D8456.14C5E0.08BE20.B646E9] has quit [[NS] Quit: Leaving]
17:27 Derakon[AFK] is now known as Derakon
17:32
< iospace>
so for the first half of my time here I was the only alex, now there's another one :<
17:39
<@TheWatcher>
Heh
17:41
<@TheWatcher>
When I started, there was one other Chris in the department. Now there's 5 others. Don't want to even think how many there are across the uni...
17:42
<&Derakon>
But you'll always be Other Chris when I'm around~
17:53
< iospace>
well, when I started there was a David Becker (me) and a David Barker (guy in sales)
17:57
< iospace>
The other Alex is Alexander, legally it's simply "Alex" for me ^^;;
18:13
< iospace>
this if is horrible
18:13
< iospace>
if { } else if { } else { if { } else { if {} } }
18:25 ErikMesoy [Erik@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has joined #code
18:26 Azash [ap@Nightstar-339920e6.net] has joined #code
18:26 * Azash looks around
18:28 Schleiermacher1 [Martin@D553D1.93D8F9.2E2A33.D7B450] has joined #code
18:32 * iospace hugs Azash ^_^
18:33 Einar [Classified@Nightstar-1575ca56.range109-157.btcentralplus.com] has joined #code
18:37
< ErikMesoy>
Bitching about today's programming exam! There's a fine gradation between Things You Ought To Know, like the fact that A[2] will get you the third element of A, not the second, and Things You Have Quick Reference/Google For.
18:38
< ErikMesoy>
I expect people disagree about what exactly goes in the second category, but the test I took today had more of it than I expected nonetheless.
18:39
< ErikMesoy>
For instance, how to get a graphic plotter to output dots indicating the data points it has. (The plotter draws a line by default.) I spent quite some time being uncertain as to which argument made the plotter draw DOTS, and which argument made the plotter draw a DOTTED LINE.
18:41 Vash [Vash@Nightstar-3ba4108e.wlfrct.sbcglobal.net] has joined #code
18:41 mode/#code [+o Vash] by ChanServ
18:43
< ErikMesoy>
There were also quite a lot of are-you-paying-attention questions such as for x,y (...) print '%.1f %.1f' % (y, x)
18:44
< EvilDarkLord>
I don't think we had quite that much memorization in early programming courses. Lots of paying-attention ones though.
18:45
< Schleiermacher1>
It's misaimed and dumb, like 90% of mathematics education.
18:45
< ErikMesoy>
For one point: what will be the output of this bad Python code with four different points of obfuscation and bad writing?
18:46
< ErikMesoy>
I giggled at the time when they defined a function one way, then defined it another way, then called it twice.
18:46
< ErikMesoy>
"Hmmm, that means one call to each definition, right?"
18:48
< Schleiermacher1>
Were there any questions that required more than trace amounts of individual thought?
18:48
< Schleiermacher1>
*independent thought.
18:48
< ErikMesoy>
Yes. A couple of "Write a function".
18:49
<&Derakon>
My "favorite" weird edge case in Python is when you have a function that, some ways down, names a variable the same name as a module you've imported at the top of the file.
18:49
<&Derakon>
And earlier in the function you try to use the imported module.
18:49
<&Derakon>
Python will complain that the variable hasn't been initialized yet.
18:56
< ErikMesoy>
Schleiermacher1: My cynical side says it might not be misaimed. Sure it's not aimed at me, but this is a country where the average person is nudged towards university.
19:01 You're now known as TheWatcher[afk]
19:04 * Azash hugs iospace tentatively
19:05
< Azash>
ErikMesoy: Oh the joys of paper coding
19:05
< ErikMesoy>
:|
19:08 * Azash greets Schlei
19:09
< iospace>
Azash: new? :)
19:10
< Azash>
20:32 * iospace hugs Azash ^_^
19:10
< Azash>
Aye
19:13
< iospace>
so what brings you to #code here on nightstar then? :)
19:21
< iospace>
Azash: also, what do you focus on in terms of coding, like specialties and such ^_^
19:23
< Azash>
I was brought here by someone mentioning the channel name elsewhere
19:23
<&ToxicFrog>
Welcome
19:23
< Azash>
My interest is mostly in systems programming, networking and security - but what I'm interested in does not overlap very well with what I have actual experience with so far. :b
19:23
< Azash>
Thank you kindly
19:24
< Azash>
ErikMesoy: Sorry for the terse comment, I was on the phone for a while
19:25
< Azash>
Our programming exams tend to feature a pleasant 4-6 pages of code because there isn't really any work done in doing exams on computers
19:26
< iospace>
ah :P
19:27
< iospace>
i'm probably the resident embedded dev ^_^
19:27
<&ToxicFrog>
I've done a fair bit of embedded work and systems work, but it's not really my focus (or my pleasure)
19:28
< Azash>
Ah, sounds interesting
19:28
< Azash>
Embedded work would be great to do
19:29
< iospace>
i like it a lot
19:30
< iospace>
though right now i'm not doing like microcontroller devel, it's BIOS
19:30
< iospace>
which still counts :P
19:30
<~Vornicus>
Der: my "favorite" is that mutable default arguments don't get remade each time.
19:30
<&ToxicFrog>
I am so over low-level programming @.@
19:31
<&ToxicFrog>
Going to finish my thesis and then spend a few years working in nothing but python, lua and lisp
19:31
<&ToxicFrog>
Maybe a bit of scala when I'm feeling statically typed
19:31
< Azash>
I'm involved in a troika with plans to write a hobby OS but we still haven't figured out where to start..
19:31
< Azash>
ToxicFrog: Haha, good plan
19:32
< iospace>
ToxicFrog: low level is fun :P
19:33
<&ToxicFrog>
noooo
19:33
<&ToxicFrog>
I need my closures
19:33
<&ToxicFrog>
my beautiful closures and garbage collection
19:33 * iospace makes ToxicFrog write in ASM
19:33
< iospace>
:D
19:34 * Einar makes Toxic write in Brainf*ck
19:34
< iospace>
:D
19:34 * iospace fucks with SMBIOS tables
19:35
< iospace>
oh wow
19:35
< iospace>
the SMBIOS spec is open o_O
19:36
< Azash>
Also, if anyone is bored, I'd appreciate feedback https://github.com/haeroe/NewRepo/blob/master/newrepo.sh
19:36
< Azash>
I'm.. well, very green when it comes to sh
19:37
< iospace>
it's ok
19:37 * ToxicFrog replaces both iospace and Einar with small lisp macros
19:37
< Einar>
http://scienceblogs.com/goodmath/?s=Pathological+programming <- Choose from any of these languages, Toxic
19:37
< iospace>
we all have our weaknesses ^_^
19:37
< Einar>
They're all Turing complete. And crazy
19:37 * iospace finds herself replaced by a lot of parens
19:38
< Azash>
If you do lisp research, are you working on your parenthesis?
19:39
<&ToxicFrog>
Azash: what's your goal with $DIR?
19:40
<&ToxicFrog>
If it's just to save/restore the current directory, use pushd and popd: mkdir -p "$3" && pushd "$3"; ...; popd
19:40
< Azash>
ToxicFrog: A lazy man's way to avoid looking up running git commands into different direct-
19:40
< Azash>
Aha! Thank you
19:41
< Azash>
Is that a core function?
19:41
<&ToxicFrog>
(running git commands in a separate directory can be done by setting GIT_DIR and GIT_WORK_TREE, but it's easier to just pushd into the directory you want to play with)
19:41
<&ToxicFrog>
It is in bash, don't know about sh
19:41
<&ToxicFrog>
ben@thoth:~/opt/1DC/cc1dc/imap/lib/xc$ type pushd
19:41
<&ToxicFrog>
pushd is a shell builtin
19:42
< Azash>
I see, I see
19:42
< Azash>
That's great, thanks
19:42
< froztbyte>
Azash: just as a side nitpick, you may want to refer to bash when it's bash
19:42
<&ToxicFrog>
"git add *" should be "git add ." - * won't pick up .gitignore unless the user has changed their dotglob setting
19:42
< froztbyte>
sh is actually another thing that bash can (badly) provide
19:43
< froztbyte>
I actually think the bash dudes just backronymed the "bourne again" part. it really must stand for "ba(d)sh" ;D
19:44
<&ToxicFrog>
Azash: also, if you clone rather than init/remote add, you can simplify this a lot
19:44
<&ToxicFrog>
curl ...
19:45
< froztbyte>
also, maybe do USER="$1" somewhere early on
19:45
< froztbyte>
then you have a named variable you can always look at, and not have to mentally track which is where
19:45
<&ToxicFrog>
git clone "git@github.com:$USER/$REPO.git" "$LOCALREPO"
19:45
< Azash>
I did that and managed to cause an error so I was just like "forget it"
19:45
< Azash>
Probably left spaces around the =
19:46
<&ToxicFrog>
And don't forget your quotes!
19:46
<&ToxicFrog>
(you can pass a nonexistent directory as the second argument to 'git clone' and it'll create it as mkdir -p would)
19:46
< froztbyte>
ToxicFrog: on that I'd actually recommend ${USER}/${REPO}
19:46
< froztbyte>
half because explicit is better than implicit, and half because it's a good habit to start developing early on :)
19:47
< Azash>
What does {} do? Explicitly say where the variable name ends?
19:47
< froztbyte>
it just delimits, yeah
19:47
< froztbyte>
but sometimes, when working whole a very large chunk of them, that gets very helpful
19:48
< froztbyte>
also if you have something like stringer="$fooBAR$monkeys$cakes"
19:48
< froztbyte>
(bad example, but it gets the idea across)
19:48
< Azash>
Yeah
19:49
< Azash>
Thanks for that
19:50
< Einar>
http://scienceblogs.com/goodmath/2007/02/02/pathological-programming-as-pa-1/
19:51
< Azash>
$ git commit -m "Using pushd/popd and clarified code using {} and vars. Thanks TF/fr"
19:51
< Azash>
(????)
19:52
<&ToxicFrog>
Don't forget your quotes
19:52
<&ToxicFrog>
quooooooooooootes
19:53
< Einar>
Why are you programming in a laguage like that? Use SNUSP
19:53
< Einar>
http://scienceblogs.com/goodmath/2009/09/10/two-dimensional-pathological-b/
19:53
<&ToxicFrog>
This will go sproing as soon as someone runs it as 'newrepo user repo ~/devel/"my totally sweet program"'
19:53
< Azash>
Where, ToxicFrog?
19:53
< Azash>
Ah
19:53
< Azash>
Hm
19:53
<&ToxicFrog>
Lines 14, 15, 17, 18, 25
19:56
< Azash>
How should I add the quote marks to line 25? And do I need to add them again when the variables have been assigned using them?
19:57 * iospace gets an eye twitch
19:58
< iospace>
oh oh oh!
19:58
< iospace>
Azash: Vim or Emacs?
19:58
< Azash>
Well.. I'm planning to move to vim but I'm using nano so far
19:58
< iospace>
blank?
19:59
< froztbyte>
select it
19:59
< iospace>
oh, nano
19:59
<&ToxicFrog>
whut
19:59
< iospace>
froztbyte: i'm on irssi, doesn't work that well :P
19:59 Schleiermacher1 [Martin@D553D1.93D8F9.2E2A33.D7B450] has quit [Client closed the connection]
19:59
< iospace>
(irssi through putty to be specific)
19:59
< froztbyte>
iospace: and your terminal emulator doesn't .... ah
19:59
< froztbyte>
yeah, you're boned :P
19:59
< iospace>
yeah yeah
19:59 * iospace smacks froztbyte with a SPI flash
19:59
< Azash>
You can paint spoilers and paste into the send buffer to see it
19:59
<&ToxicFrog>
I would go completely brain-foaming crazy if I had to do everything nano
19:59
< froztbyte>
terminal emulation is so horrible :(
19:59
<&ToxicFrog>
*in nano
20:00
< froztbyte>
it is pretty bad, yeah
20:00 Schleiermacher [Martin@Nightstar-92e426ef.bb.online.no] has joined #code
20:00
< iospace>
froztbyte: well it's putty connecting to my friend's SSH server and i'm running screen with irssi in it
20:00
< iospace>
:P
20:00
< Azash>
My only complaint with putty-irssi is that I can't see ( ???) very well
20:00
< froztbyte>
one of my junior colleagues used to use it, because he didn't know how to use vim
20:00
< froztbyte>
so I spent the 6min just getting him going on the vim basics
20:00
< froztbyte>
nano == gone
20:00
< Azash>
I have everything set up, there just isn't a good monospace font to use that would display unicode well
20:01
< iospace>
!!!
20:01
< iospace>
there
20:01
< iospace>
found how to disable colors :P
20:01
< froztbyte>
iospace: I think it's mostly just the putty part that causes crap
20:01
< iospace>
yeah yeah
20:01 * Vornicus hates console text editors.
20:01
< froztbyte>
not that I have a good recommendation of a replacement
20:01
< froztbyte>
Vornicus: well, there's gvim too
20:01
< froztbyte>
but it's basically nano == notepad
20:02
< froztbyte>
just without the mouse selection bit (easily done)
20:02
< iospace>
i'm technically using gvim but i really only use it to copy and paste :P
20:03
< iospace>
plus, i work in a console all day :P
20:03
< iospace>
yay 115200 baud serial ^_^
20:05
< froztbyte>
heh, lucky
20:05
< froztbyte>
some of the network devices I have to interact with now and then only really work at 9600 with echo
20:05
< froztbyte>
so. slow.
20:08
< iospace>
hold on...
20:08
< iospace>
i can throttle the baud rate all the way down to 1200
20:08
< iospace>
and i have done it
20:08
< iospace>
your 9600 means nothing to me D<
20:09
< Azash>
What's everyone working on?
20:09
< iospace>
BIOS devel still :P i'm at work ^^;;
20:09
< froztbyte>
iospace: well, no
20:10
< froztbyte>
iospace: I mean that 9600 was the max possible on the console port
20:10
< froztbyte>
I bet those things could prolly roll 900
20:10
< froztbyte>
though I didn't dare try
20:10
< iospace>
i got 2 baud to work once back when i took data comm
20:10
< froztbyte>
good lord
20:10
< iospace>
don't ask how the fuck ti worked but it did
20:10
< froztbyte>
massochist
20:10
< froztbyte>
iospace: "slowly"
20:10
< iospace>
it was an error!
20:10
< iospace>
we used "getSelectedIndex" instead of "getSelectedValue"
20:12
< Azash>
Brilliant
20:12
< iospace>
indeed
20:13
< froztbyte>
Azash: right now I'm working on making my nerves feel better after the last two days of work
20:13
< iospace>
hell the professor didn't catch that either XD
20:13
< froztbyte>
and I'm using Kill Bill to do so
20:14
< Azash>
Sounds good
20:14
< Azash>
I was looking forward to some R&R after my exam week, too, but looks like I'll be putting down 40 hours on our SE project on my free week..
20:15
< Azash>
In case anyone is interested in the area, we're parsing JavaScript syntax trees to track program flow between DOMXSS sources and sinks to identify vulnerabilities
20:16
< froztbyte>
SE?
20:16
< Azash>
Software engineering
20:16
< froztbyte>
ah
20:16
< froztbyte>
also, good luck.
20:17
< froztbyte>
(that sounds like it could be extremely painful)
20:17
< Azash>
One of the two finals for our BSc structure
20:17
< iospace>
i switched to compsci
20:17
< Azash>
Thanks
20:17
< Azash>
And yeah, it really is
20:17
< Azash>
We're going in a sine wave between "we might just do this" and suicidal tendencies
20:17
< Azash>
:b
20:17
< Azash>
iospace: Do tell
20:18
< froztbyte>
I'm honestly not surprised
20:18
< iospace>
it was more "UML Diagrams yay!" than actual code -_-;;
20:19
< Azash>
Aw :(
20:19
<&ToxicFrog>
Azash: I'm working on my thesis! Still!
20:19
< Azash>
ToxicFrog: What's it on?
20:20
<&ToxicFrog>
Well, strictly speaking I'm demoing the results of my research at TEXPO, but the demo pretty much runs itself, so whenever someone isn't coming over to talk, I'm thesing.
20:21
<&ToxicFrog>
(it's up to 44 pages now, not counting appendices)
20:21
<&ToxicFrog>
It's a port of the Pilot cluster computing library to the IMAP5 reconfigurable embedded image processor.
20:26
< Azash>
I'm afraid I've no experience with Pilot or IMAP5, but hey, distributed systems, so it's probably awesome
20:26
<&ToxicFrog>
(Pilot is a message-passing, CSP-based, printf-inspired MPI wrapper for supercomputing clusters. None of the code is applicable here, but the underlying concepts and API map well to the capabilities of the IMAP5)
20:27
<&ToxicFrog>
(the IMAP5, in turn, is a realtime image processor. It has two operating modes: single core with 128-way SIMD, or 33 core with no SIMD capability. In multicore mode, however, it has no cache coherency, and the on-chip message passing network is full of spiders and deadlocks. My project is an attempt to make programming for the multicore mode tractable.)
20:28
< Azash>
Ah, I see
20:28
< Azash>
So you're dropping Pilot down to OS level, basically?
20:33 * iospace head desks
20:36
<&ToxicFrog>
Well, not quite - I mean, we do have a libc
20:36
<&ToxicFrog>
And this isn't really an application space that has an "OS" anyways
20:36
< iospace>
this is what i get for using hacky code, things could go wrong
20:37 * Azash nods
20:39
<&ToxicFrog>
You write your program, link it against libautopilot (and libutil and libvideo and whatever else), and then load it onto the chip and jump directly into it
20:39 * iospace eyes this code
20:39
< gnolam>
Azash: our software engineering projects were awesome. We were handed real projects ordered by external customers (who knew full well that the chances of them getting something /useful/ out of it were slim, but still).
20:39
< Azash>
ToxicFrog: Gitcha
20:40
< iospace>
Cast as a UINTN then cast it as UINT8*
20:40
< Azash>
gnolam: Same here
20:40
< gnolam>
Ah, cool.
20:40
<&ToxicFrog>
iospace: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20:40
< Azash>
We're doing work for a guy at a security consulting company who explained that anything that saves his time in trawling through 10,000-line javascript files is good
20:40
<&ToxicFrog>
grep~
20:41
< Azash>
Backtracking to look for XSS still takes time with grep
20:41
< gnolam>
Heh. Ours were for the most part either doing it out of charity - because they used to study at the same programme - or as basically feasability studies.
20:41
< iospace>
var1 = (UINT8*) (UINTN) (var2->x) more or less ._.
20:42
< gnolam>
*feasibility,
20:42
< Azash>
Yeah, for us it's like, the client doesn't pay anything, the university pays for the TA (one per 4-5 man group), and then we do the work and maybe it becomes something
20:42
< gnolam>
Just like for us then. But we had bigger groups, and simulated being even larger groups.
20:43
< Azash>
Usually it doesn't, but the point is just to train teamwork routine, not succeed right off the bat
20:43
< gnolam>
(Something like 8 or 9 people simulating a group of 40-50)
20:43
< Azash>
Ah
20:43
<&ToxicFrog>
iospace: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20:43
<&ToxicFrog>
murder them
20:43
< Azash>
We also have a master's-level version which is used as basically a set of guinea pigs for agile research
20:43
< Azash>
iospace: Wow
20:43
< iospace>
ToxicFrog: oh, that's just one of the reasons why we want to murder that company ^_^
20:44
< gnolam>
(I.e. lots and lots of paperwork)
20:44
< iospace>
this is C mind you
20:45
< Azash>
Is x meant to store an address or is this just some strange wizardry?
20:45
< iospace>
Azash: it's just a dummy variable i was using as an example
20:45 * iospace has an NDA :P
20:45
< Azash>
Alright
20:46
< gnolam>
And when summer came, so did a job offer from our client. :)
20:46
< gnolam>
This wasn't unusual.
20:46
< Azash>
It could just be something that the cast from a pointer to UINTN does that is desired
20:46 * iospace shrugs
20:46
< Azash>
gnolam: Nice
20:46 * Azash wouldn't mind working in security, but his department has very little security presence
20:47
< iospace>
... oh god
20:47
< iospace>
i have to use that line
20:47
< iospace>
Dx
20:47
< gnolam>
Been doing odd jobs for them ever since.
20:47
< gnolam>
Surprisingly awesome ones at that.
20:47
<&ToxicFrog>
iospace: what is the declared type of x?
20:48
< iospace>
uh
20:48
< iospace>
UINT32
20:48
<&ToxicFrog>
welp
20:48
< iospace>
yeah, UINT32
20:48
< iospace>
so it's converting a UINT32 into a UINTN into a UINT8*
20:50
< iospace>
ahhhh ok
20:50
< iospace>
i know why it does that
20:50
< iospace>
32 bit systems vs 64 bit systems
20:51
< iospace>
this is BIOS code
20:56
< iospace>
well, not even 32 bit vs 64 bit, but it allows it to work on any system really
20:57
< iospace>
yeah, it makes sense
20:57
< iospace>
i'd explain more but NDA D:
20:57
<&ToxicFrog>
:gonk:
20:58
<&ToxicFrog>
Isn't the way to make it portable across systems to use intptr_t or void*?
20:58 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
20:58 mode/#code [+o himi] by ChanServ
21:04
<@TheWatcher[afk]>
TF: but that would be entirely too clean and boring.
21:06
< Azash>
We're talking about BIOS code in C, I don't think "clean and boring" ever enters the picture
21:06
< Azash>
:b
21:07
< iospace>
indeed
21:07
< iospace>
at the root level it allows you to convert an address to a pointer and not worry about how many bits the system is
21:13
<&Derakon>
Man, it's amazing how slow just drawing a bunch of characters to a screen can be if you don't do it intelligently...
21:13
<&Derakon>
Like, .1s to do an 80x24 grid.
21:16
<&ToxicFrog>
iospace: yeah, but I mean, here's how you do that without worrying sanely:
21:16
<&ToxicFrog>
intptr_t addr; uint8_t * ptr = (uint8_t *)addr;
21:17 * Derakon implements smooth scrolling in Pyrel by drawing the old screen on top of the new one, offset by the necessary number of tiles.
21:17
<&Derakon>
Unfortunately this breaks completely when the old screen was from a previous level.
21:17
<&Derakon>
And the artist currently has no way to know that the level has been changed out from under it.
21:21 * Derakon ponders setting up a simple pubsub system so the UI can be notified of various game events.
21:22
<&Derakon>
That is, there'd be a central event-processing system; the UI would subscribe to the "new level generation" event with a function, and when any part of the engine publishes a "new level generation" event, the function would be called.
21:22
<&Derakon>
It's a simple system; I've set them up before.
21:22
<&Derakon>
But it does kind of break locality and make it hard to trace stuff.
21:26
< iospace>
ToxicFrog: you sure that works? :)
21:26
<&ToxicFrog>
iospace: yes?
21:27 * TheWatcher[afk] eyes iospace
21:27 * iospace eyes TheWatcher[afk]
21:28
< iospace>
ToxicFrog: ok, let me ask you this. will that work with every compiler, OS, and bit count?
21:28
<@TheWatcher[afk]>
... yes
21:28 * iospace shrugs then
21:29
< iospace>
actually shit
21:29
< iospace>
it's open source
21:29
< iospace>
well BSD licensed
21:33
< iospace>
intptr_t is an int of size what?
21:33
<&ToxicFrog>
Depends on the platform. That's kind of the entire point.
21:33
<&ToxicFrog>
"The following type designates a signed integer type with the property that any valid pointer to void can be converted to this type, then converted back to a pointer to void, and the result will compare equal to the original pointer: intptr_t"
21:34
< iospace>
yeah no
21:34
<&ToxicFrog>
There's also uintptr_t for unsigned integer types.
21:35
< iospace>
yeah that's not going to work
21:35
< iospace>
considering that the addr has to be in 32 bit space
21:36
< iospace>
if you have a problem with that you're free to write to DMTF
21:36
<&ToxicFrog>
DMTF?
21:36
< iospace>
Distributed Management Task Force
21:37
<&jerith>
Not Dual Multi Tone Frequency?
21:38
< iospace>
the reason it has to be in 32 bit space? this is /BIOS code/. last time i checked ARM is still in 32 bit :P
21:41
<&ToxicFrog>
Ok, so what you're saying is that it doesn't work at all on systems that don't have that restriction~
21:41
< iospace>
uhm... define "restriction" here
21:42 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
21:43
<&ToxicFrog>
Ok I don't even know what your objection is anymore
21:43
<&ToxicFrog>
Or the constraints this code is meant to adhere to
21:43
< iospace>
ok
21:43
<&ToxicFrog>
Pointers can be 32 or more bits, but this pointer is always known to be at most 32?
21:44
< iospace>
the address of the structure is no more than 32 bits.
21:44
<&ToxicFrog>
But that wouldn't make intptr_t unusable, just wasteful (since on a 64-bit system it will be 64 bits wide)
21:44
< iospace>
yes, and we're talking about something that needs to use as little memory as possible
21:47
<&ToxicFrog>
Ok
21:47
<&ToxicFrog>
So these platforms use >32bits memory space, but this pointer is always guaranteed to be <=32bits?
21:48
< iospace>
not quite
21:48
< iospace>
the platforms could either be 32 or 64 bit memory space
21:48
< iospace>
however the address has to be in 32 bit space
21:49
< iospace>
it's more or less to assure that it's compatable with 32 bit systems
21:51
<&ToxicFrog>
Aah
21:51
< iospace>
considering this is part of UEFI which is designed to work on 32 or 64 bit systems
21:51
< iospace>
well, SMBIOS really
21:55 Schleiermacher [Martin@Nightstar-92e426ef.bb.online.no] has quit [Client closed the connection]
21:55 Schleiermacher1 [Martin@Nightstar-92e426ef.bb.online.no] has joined #code
21:56
< iospace>
so while yes, your idea would work, it's just not a good idea here
21:59
< iospace>
i just wish they implimented a better way to access the elements of the SMBIOS table better :<
22:08
< iospace>
also, damn you case sensativity!
22:41 * Derakon eyes this bit of code...
22:41
<&Derakon>
class AsciiArtist(gui.base.artists.artist.Artist): def __init__(self, *args): gui.base.artists.artist.Artist.__init__(self, *args)
22:42
< iospace>
ok, one last build and then therapy D:
22:42
< iospace>
and failed? o_O
22:42 Schleiermacher1 [Martin@Nightstar-92e426ef.bb.online.no] has left #code []
22:42 * iospace runs out the door
23:35 * Azash pats iospace
23:44 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
23:44 mode/#code [+o himi] by ChanServ
--- Log closed Fri Oct 12 00:00:30 2012
code logs -> 2012 -> Thu, 11 Oct 2012< code.20121010.log - code.20121012.log >

[ Latest log file ]