« first day (1028 days earlier)      last day (4157 days later) » 

18:00
Very few candidates thought about qsort() (or Array.sort()), and for those we noted "good thinking" and then asked for a version which does not use a predefined function.
We asked that question only if the candidate did not have previously demonstrated, through his answers to questions, that he did not know what a computer was.
About 30% of candidates seemed to know what a computer is.
Then only 25% or so of these people could produce, in 45 minutes, a ten-line program which compiles.
Whoa.
Only about 20% of the compiling programs actually sorted integers.
I probably wouldn't create the most efficient algorithm but you'd get something out of me in 45 mins for sure, lol.
I was actually impressed when I first encountered a candidate who knew no programming language at all, but was planning on following a 10-hours course on Java before the assumed date of hiring.
@ThomasPornin LOL.
18:03
I thought that this guy was good salesman stuff
"I'm gonna fulfill your needs of programming by following a 10-hours class!"
In all the candidates which went through the routine, only one ever produced an n*log(n) implementation.
But the cleanest code was done was a simple bubble sort (quadratic) written in less than two minutes, with proper indentation and comments.
@ThomasPornin Hand written?
@DavidFreitag No, keyboard on machine, compiler available.
I've used FizzBuzz fairly extensively in interviewing. It seems to be fairly effective. Despite the fact that it's a fairly well known interview tool, most fail it miserably. Many, in fact, can't even really get started solving it.
18:06
@ThomasPornin Oh... that should be beyond simple...
One candidate resorted to opening a Web browser and ask Google ; the requests were hilarious
Hahaha
(the guy could not code, but he had trouble making good search requests too)
Use of the Web browser was explicitly forbidden, but he thought we were not seeing him
Is it an automatic fail if a candidate uses google?
Ah.
18:08
@DavidFreitag Well, first we had forbidden it, so he fails the trust test.
Bubble sort is the algorithm I'd implement.
No idea what this whole n*log(n) algorithm looks like.
But, also, he searched the Web ineffectively, since he did not obtain a solution either. And that failure is also a show-stopper.
@Simon Try to look up quick sort, merge sort and heap sort.
@ThomasPornin How did you find out, don't tell me he didn't even clear his browser?
@ThomasPornin I see. I'm not sure how well i would do on your tests. But if i had access to a compiler I'm sure i would at least vomit some working code..
The heap sort is most fun, but maybe more complex than the two others.
@Simon Eh. There was an in-company HTTP proxy.
18:10
@ThomasPornin Oh, lawl.
I assume filtering traffic by IP in wireshark would also work too.
@DavidFreitag Well, now, both wireshark and the proxy would fail, because Google defaults to HTTPS. But not at that time.
I really liked to code in Java, I don't know why I completely dropped it.
I'm realizing now that I'm looking at Mergesort algorithms.
@ThomasPornin mm good point, but you should at least be able to see some network activity. the existence of activity should be enough to call it.
@Simon Mergesort is efficient and easy to understand, but it requires some extra space.
Quick sort is quick, but has a bad worst case.
18:12
Worst case as in the order of numbers?
Or I should say caused the initial order of the numbers.
Basic quick sort is quadratic when the list is already sorted, or close enough.
A worse problem is that when it is quadratic, it also tends to use a linear amount of stack space, so you end up with a stack overflow.
@ThomasPornin How much data were you asking them to sort?
In fact that's why I really like the heap sort: no extra space, including on the stack, and guaranteed O(n*log n) complexity.
@DavidFreitag Not much; there was no performance issue.
Some scanners are written in Java, right? Is there a reason for that?
@Simon As long as it works...
18:18
@ThomasPornin I didn't think it would have been much
@ThomasPornin So it's the personal choice card again?
@Simon some people just prefer java over c/c++, like most prefer not using PHP.
@DavidFreitag For such a test, we are interested in the ability of the candidate to write code which works, and also in his "coding style habits". That's the most revealing test: by seeing whether his indentation is systematic or not, we know how much reliable he is.
@ThomasPornin IDE or notepad?
But most video games are coded in C/C++ and the reason is the efficiency, right?
18:20
@Simon Yes. Any programming language which is able to open a TCP connection and read or write bytes can be used for a scanner.
@Simon Strangely enough, not really. For instance, Civilization IV is written in Python.
@Simon No, it's c/c++ for games for direct access to hardware.
@ThomasPornin Doesn't the engine they use run C++ though?
Video games are written in what will allow the game to run properly and be developed for the least cost.
@DavidFreitag I see.
@DavidFreitag Ah, down to the wire there is always some assembly somewhere.
Like DirectX and OpenGL are written in C++ (iirc..) for that reason.
@ThomasPornin Well, yeah.
18:22
@DavidFreitag OpenGL is a C-based API, so any implementation would probably use C, not C++
Nowadays, game developers also think about an Android version, so they may think about using Java for the game logic.
Some other think Web/HTML5 and go for Javascript.
Then there's F# which Microsoft is trying to market as multi-threaded and thus better for gaming....
I can't park my car closer than 1 km from where I live because they might need to come and clean the street.... somewhere between 3 am and 3 pm ...
@LucasKauffman Sacrebleu!
@LucasKauffman 1km? That sounds horrible.
@DavidFreitag We provided emacs, vim, eclipse and netbeans. One candidate wanted gedit.
18:24
But i suppose there isn't anything wrong with a few minutes walk to the car
I should go back to Java. I loved Eclipse.
@ThomasPornin really?
However, it's always the same problem: I have no idea what to code.
@ThomasPornin Good god, how can people not write working code with eclipse and netbeans? You would have to be brain damaged...
@LucasKauffman Yes, gedit. We did not hire him (but not for that reason).
18:25
@Simon try IntelliJ
@ThomasPornin what was the reason?
@ThomasPornin did he request Ice weasel instead of FF?
I loved BlueJ
@LucasKauffman The usual: code does not even compile.
Even though it was kinda broken
@ThomasPornin how can your code not compile when you use an IDE?
@LucasKauffman 's what i'm sayin..
18:26
@LucasKauffman I think it takes a lot of actual talent. But not the kind you'd want to hire.
@DavidFreitag I used it for about 3 weeks when learning my first programming language
IT'S MARKED RED, IT'S WRONG
@LucasKauffman Yeah, i used it in high school to learn java. The graphical approach helped me figure it out a bit better :]
@DavidFreitag it took me 4 months to make the click
hahaha
Our computers weren't setup properly, so if you wrote something in notepad and opened up cmd, it would bitch and scream at you for not having javac installed properly
when I broke up with my gf I aimed all my anger at building a bad ass IRC bot in Java
it's the first time I actually was able to write a decent program using several patterns
18:29
Hehe, gotta love war bots
I made quite a few mIRC warbot scripts back in the day
How many miRC connections can you have on 1 IP?
@Simon uh... a lot...? I sat in 40 or so channels on at least 12 servers
@DavidFreitag I mean multiple client connections to the same server.
I'm assuming an effective script would have multiple bots spamming or whatever.
@Simon You would have to have multiple instances of mIRC running, but i don't know. As many as you want, or rather as many as your ram can support i think.
@Simon Nah, that's too easy.
This was my learning tool back then: mircscriptsarchives.angelfire.com/mirc-scripts.html
18:33
@DavidFreitag Interesting. No need proxies like when you wanted to flood/load channels on battle.net :)
Battle.Net has its own IRC?
I suppose that helps for D3
Nah, I'm just remembering a similar situation on a different architecture/network.
I got my friend's IP banned from Warframe because i broke into their secure IRC server and started messing around
I wish I would have been interested in programming back then.
scripting
18:37
Or yeah, scripting.
I might try to implement a bitcoin miner in JS for the lols.
Or invent your own bitcoin.
Kind of a bigger project, isn't it?
Nah
you got it
Cool. I should be done by tomorrow then.
Can you manipulate the GPU through JS?
@Simon Good question. I doubt it, unless it's non-browser JS.
18:43
@DavidFreitag Awww.
@Simon You might also have to write your own JS parser, or add to one so you can call custom binaries
@Simon You can use WebGL to do some fairly complicated stuff on a GPU from Javascript.
@DavidFreitag You keep saying words I don't understand.
There may be an OpenCL library for JS
@ThomasPornin Such as using it for hashing purposes?
Ah, lol. Just like WebGL, there is WebCL. Look into those @Simon
@ThomasPornin yeah, just got around to actually looking it up
Cool, cool.
Actually, that is a good question, which would be better for hashing, GL or CL?
@DavidFreitag CL
i thought so
18:47
GL is for graphics so it is all floating-point types
for hashing, especially SHA-1 and SHA-256, you want 32-bit integer types and arithmetic and logic operations
you will get that with OpenCL / WebCL
One weekend, I'll park in front of @ThomasPornin's house to code and knock on his door to ask programming questions.
@DavidFreitag There we go, I found my bedroom reading. Thanks.
eh, its mostly picures and ~45 pages long. It should take you a minute to read
you basically want to skip everything before page 35 too
@Simon You could first try to implement a few hash functions, and try to make them run fast. This is a good programming exercise and you will learn a lot.
18:49
@ThomasPornin Ran by the GPU, right?
FYI @Simon
> BitCoin uses the SHA-256 hash algorithm
@Simon First begin with the CPU, it's easier and you'll need to understand the function thoroughly.
Cool, thanks boys.
A few years ago, I tried running SHA-1 on my CPU and on my GPU
A "normal" implementation could achieve about 20 millions SHA-1 per second (with four cores) but I could make one which achieved 48 millions per second with SSE2.
18:52
My GPU (NVidia 9800 GTX+) could do 160 millions per second
and a PS3 could do almost 100 millions per second
Jeeeesus.
That's 100% use, right?
@Simon Rather 400%: I was using the four cores
Oh, haha.
In fact, with SSE2, each core was computing four SHA-1 simultaneously, so that's 16 SHA-1 instances running together.
See, a weekend hanging out with you sounds fun.
18:56
@ThomasPornin I assume you were on your GPU running many SHA-1 simultaneously (since the GPU essentially provides lots of parallelism) rather than updating one hash "context"? If I understand it correctly the speedup is by the number of concurrent hashing operations you can do, so calculate the hashes of multiple passwords, rather than more quickly compute a single hash (although that could be the case if the clock speed is quicker/you get better throughput using 128-bit registers like xmm1 etc)?
@AntonyVennard Yep. GPU is all about concurrency.
@DavidFreitag I thought so, just wanted to make sure.
for some reason, I doubted my understanding for a minute.
a perfect explanation as to CPU vs GPU ;]
@AntonyVennard Yes, the context was password cracking.
In fact, the GPU has 128 "cores" but each core runs a lot of "threads" because though it can execute one instruction per core and per cycle, it also has a 22-cycle latency
so, to get the full speed of the GPU, you have to run 22·128 = 2816 SHA-1 instances in parallel (at least)
in practice, there are rounding issues in the allocation algorithms, so make it 4096 instances
@ThomasPornin I remember reading about this when looking at CUDA a few years back. CUDA gives you the ability to ask for a specific "kernel" of code to be loaded (not an OS kernel, just a function) and some fancy matrix of numbers which represent the specific instances, then it loads a copy of the kernel into each thread and off you go.
I don't remember the exact details and don't even have CUDA installed any more, but it was interesting :)
19:10
@AntonyVennard No, you are interesting.
@Simon do you hit on everything with legs? God i would hate to see you in a bar in a few years..
@DavidFreitag Haha.
I'm faithful guy, chances are you wouldn't see me do that.
@Simon True, but not because you are faithful.
@DavidFreitag Because I'll be dead in a few years? Whoa, that's harsh.
It's that time of the year: I listen to sad songs.
19:17
Judging by a thumbnail, it does look very sad.
> STARKILL - New Infernal Rebirth
Great title.
not sad in the slightest. Awesome is the word you're looking for.
very little hardcore, very lot of awesome
@DavidFreitag KAAAAAAHN
@ScottPack It's a shame that's their only good song though
19:20
Fuck off Olay with your cream commercials on youtube.
@AntonyVennard huh. I was sure you already were. I remember being connected to you...??
could have easily just told you to send it to [email protected]...
hotmail/10
On the CPU I only have four cores, so 16 parallel instances with SSE2 registers (128-bit register, can compute the same operation on all four 32-bit words), but I can do two operations per cycle, and the clock rate is higher.
Oh cool, I now am officially CISM.
Congrats.
@ThomasPornin congratulations!
though I would ask if that's not a bit useless for you?
the U.S. DA doesnt need to bother with an LLB...
19:35
@AviD It is not useless if my employer pays for it and gives me 1500$ of bonus when I get it.
Haha.
@ThomasPornin congrats!
I am a mercenary; I am sold through formal procedures where some bureaucrats tend to require sufficiently many "certifications".
@ThomasPornin fair enough.
The CISM makes me more expensive, and my employer really likes it that way.
19:36
@ThomasPornin even if they are irrelevant to the task at hand...
sure, I've worked with government clients.
@AviD Absolutely.
@AviD In Québec (the city), 90% of IT consultant work is for the government of Québec.
@ThomasPornin I am not surprised.
in Israel, approx. 60% (little bit less or quite a bit more, depending on how you count it (and who you ask...)) of total IT jobs (not just consulting) is government related.
The last 40% is religion related, right?
and thats taking into account the overly large number of startups and international companies with big dev centers here.
hides
19:40
@Simon meh. it was vaguely amusing.
Phew.
@Simon and not completely baseless... ;-)
:P
wut
19:51
yo face
goddamnit
Oh, and i finally worked out all of the sql errors, now on to runtime bugs...
I need 3 screens, not 2.
@Simon or bigger ones.
still getting used to the 27incher...
@AviD Yeah, except it's easier to simply press the "maximize" button
19:54
actually thats not true, I got used to it pretty quickly.
Thinking about getting another one...
though I think in this case it would be most useful to get a 23". at this size, one main screen is enough.
maybe two 23"...
would have to get rid of my laptop, though - its taking up desk space.
my "monitors" at home are just stupid.
I hate CSS so much.
@Simon I used to use 3, then I realized I was more productive with 2.
@ScottPack The 3rd one was used for entertainment?
I Eyefinity 3 60" class 1080p televisions at home.
19:57
@ScottPack I think if I was limited to 23" or less, three would be right.
The two side monitors are on swivel mounts, so i can completely surround myself with screen
as it is, whatever I'm working on - even multiple windows - would fit nicely on the 27". I would need to turn my head to much to get to the next one.
@AviD I had a 22, a 23, and a 19 when I went down to just 2.
@AviD Now I'm quite happy with my 13" laptop and a 23".
Is anyone here decent at CSS?
@DavidFreitag thats cool. I would probably have just email / trello / bugtracker / dmz on side monitors.
@Simon I am, but I will never admit to it.
Damn.
19:59
@AviD I have datasheet / board design / schematic design
@AviD Alright, you're getting a question then.
@ScottPack crowded....
I have a table with class="tblRows"
in the CSS, tblRows is defined like this:
@Simon no, that's wrong.
.tblRows tr:nth-child(odd) { background-color: #ccc }
20:00
tblRows obviously needs to be applied to tr, not table.
Yeah but I can't do that because of dynamic rows.
So I wanna do something like this: .tblRows table > tr
@Simon meh, whatever. your naming conventions suck, though ;-)
Either I got the syntax wrong or my other styles are fucking me over.
@Simon no good, that would expect a table inside the table.
@Simon Are you using chrome?
20:01
Damnit!
@DavidFreitag Yes.
@AviD Any idea how I can solve that?
@Simon Are you using the developer panel?
you want to do that, to ensure that only tables would have this class effective?
@DavidFreitag Rarely.
@AviD Only some tables which will be the ones with the class defined.
Not all of them.
@Simon You should check out the sources panel, it does css analysis and will kill whatever it thinks is invalid
@Simon right, but the point of putting table > in there is to prevent any other class from having it apply. right?
20:03
Or the elements tab. that is probably more usable
otherwise - you just limit it to .tblRows tr and youre good.
not clear why your original css is not good for you?
True, I omitted that point.
okay, then how about table.tblRows > tr?
in fact table.tblRows tr should do the job, too.
Basically, there are rows where I don't want to be colored but I cannot know which ones they are (dynamic generation again)
So, I want to add <thead></thead> to surround those rows
@Simon depending on the odd child?
20:05
So, .TblRows table > tr wouldn't pick up those rows
@Simon only use that if you're defining a table header section...
@AviD Boo, I have no idea how to fix this thing.
can you not put a class on the tr?
I could but it wouldn't be able to figure out if it's the odd or even one, right?
or you could put a more specific class on those rows, so the generic table-level one wont cascade to the ones you dont want.
@Simon why not?
hang on, I'm not clear on something.
you want to color all even/odd rows. But with some exceptions. What are those excetpions?
top/bottom?
"sub" rows?
20:09
Yeah, sub rows.
@Simon ahh, yeah that gets tricky.
Basically, it should have been multiple tables but it's not.
My boss said he didn't mind it at all but I think it would be cleaner.
I think I'll go with the boss' opinion, haha.
@Simon no no, hang on... lemme puzzle this out.
Hehe
btw your thead idea still wouldnt have worked - it still would be included in the n children. Not sure about TH.
20:13
or can you have multipl tbody?
But the sub rows should be headers in a different tables.
I assume you want the sub-row to be the same color as its parent, right? and not to be included in the color-changing.
Thing is they're not.
Well, I want them to be a specific color.
Which is the background color of the page
So yeah, no coloring.
@Simon okay! thats easier.
Basically, if I could surround them with thead or tbody, that'd work.
As long as I could make a rule with table > tr which would ignore table > thead > tr
@Simon no, thats less clean than nested tables.
so explain - row 1 = blue, row 2 = red, row 3 (subrow) = green, row 4 = ?
(odd=blue, even=red, subrow=green)
20:17
Row 1 - 2: same as page (no changing)
The followings #ccc (changing)
huh? you said you want them alternating?
And the last one no color
not clear to me at all.
Yeah, it's pretty fucked up.
paint me some rows.
20:18
Hang on.
hey, didn't someone say earlier that we shouldn't talk about things that you wouldn't want your teenage daughter to see?
paint me some words!
@Gilles heh. my teenage daughter did take one year of university level CS classes last year. She decided shes not as interested as she thought.
(I think it was too much work....)
Probably didn't want to turn into someone like her father. I can't blame her.
@Simon cmooooon then! I'm hungry
I'm making it all sweet sec!
20:21
@ScottPack yes, she did blame me for trying to talk geek to her.
@Simon words man!
didnt you ever hear that a few words are worth a thousand pictures?
or something like that.
but a single graph is worth a thousand pictures....
who the hell is... WAIT A SECOND.
God I suck.
Header/dynamic/footer is repeated X times
twss
lulz
how is there multiple headers/footers?
and in the middle of the table?
That's the thing, they're not real headers/footers.
20:24
I think you may not understand what a header is.
They are normal rows but should be treated as headers/footers in this situation.
Basically it's X tables merged in 1.
why?
I didn't make this, no idea.
because they dont get striped?
I think it's a size matter.
They wouldn't be the same size and etc.
20:25
@Simon thats.... thats not what a header is!
LOL
The tables wouldn't be the same size.
nevermind. its solvable...
can you put a class on the dynamic rows?
Ya.
sorted then.
Without screwing up the odd/even order?
Like the first row after the "headers" has to be colored.
(If I want it to be clean)
20:27
.tblRows tr.dynamic:nth-child(odd) { background-color: #ccc }
hmm, actually, no that wont work.
I say you should go eat. My shift is over anyway.
Thanks for the help.
nth-child works on the DOM tree, IMMS.
bimbo. Wrap the dynamic sections in <TBODY>'s, apply the css to that.
that is legitimate...
OH.
Yes it is!
just dont abuse headers and footers.
Nice nice.
I'll do that tomorrow morning, thanks!
bbl
20:29
@Simon you owe me a beer.
hmm, we should talk boring webdev stuff more often, it gets the other kids to shush up.
@AviD Can I get in on that?
@ScottPack sure. @Simon you owe @ScottPack a beer too.
or, if you see him first, he can have mine.
@ScottPack now you owe me one.
@AviD Sorry, I only drink bacon beer.
@ScottPack IS THIS REAL
IT'S NOT KOSHER
20:37
THE UNIVERSE IS PERFECT AND JUST
@ScottPack is that even beer?
It's in a pink bottle. I refuse to consider that beer.
It certainly violates the Bavarian Purity Act
Just another day at work :)
@ScottPack I did a beer mile Monday night. The mile was the easy part. The horrible horrible beer I was expected to drink took longer to deal with than the running.
@JeffFerland Miller?
20:44
@ScottPack obviously it was dos equis. Because @Jefff is so interesting.
it is also the most putrid beer I've ever tasted.
If Miller tastes like piss, Dos Equis tastes like the piss of three sweaty mexicans after a long day of horse smuggling.
3
(and sorry if I get my racist comments from old cowboy movies....)
@ScottPack Coors, Bud, Bud Light. :(
@JeffFerland To be fair, I've had worse.
Those all have a bite, and are too fizzy, but at least they don't really have any discernible flavor.
@ScottPack budweiser is kinda like beer-flavored soda.

« first day (1028 days earlier)      last day (4157 days later) »