POV-Ray : Newsgroups : povray.off-topic : Crazy ideas for Monday morning Server Time
6 Sep 2024 05:13:29 EDT (-0400)
  Crazy ideas for Monday morning (Message 20 to 29 of 69)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Jim Henderson
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 16:31:51
Message: <4a301837$1@news.povray.org>
On Wed, 10 Jun 2009 21:26:26 +0100, Orchid XP v8 wrote:

> Yeah, I guess. But take a look at the application form. There isn't a
> whole heap of space there. "I wrote a raytracer" doesn't seem very
> impressive. Did it trace spheres and planes? Or did it do full global
> illumination with physically-correct refraction, light attenuation and
> volumetric sampling? It makes kind of a difference.

So summarize a bit on the projects that impressed you the most ("I've 
written simple raytracers, foobars, and binfizes.").  Supply the code and 
let them evaluate.  Remember that an application isn't a confessional of 
the things that don't work in things you've built, it's a place to talk 
positively about what you've built.

>> Doesn't really matter if it's relevant to the positions they have open
>> (you don't know what they are, do you?).  They're asking about projects
>> you've worked on to get a sense of your capabilities when dealing with.
> 
> I read it as "can this guy actually finish a big project, or will he get
> bored and never finish it?"

So use the DR project because it was finished.  I imagine that given a 
professional goal to complete some of the projects you've started on, 
you'd finish them, but your interests are so varied that it's difficult 
to focus on a personal project for a long time.  I know a lot of people 
like that.

And for people like that, being paid to do what they find interesting is 
a good incentive to finish a project that's been started.

>> The DR project might be a good one.  You'd do well, I think, doing
>> technical writing, and that type of project shows an aptitude for it.
> 
> That's what I'm using. The form is basically filled out and ready to go.

Good. :-)

>> But while you're at it, if there's a place on the application to list
>> things like that
> 
> Click the link at the start of this thread to see the exact form I'm
> filling in.

Yeah, I saw it - you should know that from the next paragraph.

>> (such as the part to provide code samples - you could zip them up and
>> supply them there), include some of the ones like the language stuff,
>> the mini-Mathematica engine, that sort of thing - that shows an
>> aptitude for the sort of thing they look for in coding - but even if
>> you don't end up doing coding, you're demonstrating a knowledge in the
>> area that can tie back to being able to write technical documents about
>> it.  It's much easier to write technical materials if you understand
>> what you're writing about.
> 
> I don't know - is dumping a bunch of Haskell code on them which they
> have no way of compiling going to prove anything? I could be making it
> all up for all they know...

Don't assume what their capabilities are.  You compiled it, they can get 
a compiler.  They may even look at it and say "hey, I've never heard of 
this language before", in which case you get bonus points for introducing 
them to a new language.  (I know it's hard, but resist the temptation to 
reply to this with "well, obviously it's not useful for anything so why 
would they have heard of it?" or something along those lines.)

Like I said, don't do their thinking for them.  They're capable of doing 
that.

Jim


Post a reply to this message

From: Orchid XP v8
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 16:56:42
Message: <4a301e0a$1@news.povray.org>
>     Probably all of these are good enough for the resume. Some may need 
> rephrasing or more details.

Really? They're all pretty tiny little things that took me a day or two. 
They specifically said "large projects".

>> - Built a recursive Turtle-style fractal plotter.
> 
>     What the heck is this? You mean similar to Logo? You may want to add 
> a line beneath it (indented a bit) that has a one line explanation of 
> what this is (but don't change the above description if it's accurate).

Imagine Logo, but with a command and re-executes the entire program, but 
with all the lengths scaled down. (And starting from the Turtle's 
current position. And restoring that position when the sub-program 
ends.) Makes it very easy to draw ferns, the Kock snowflake curve, etc.

It's more or less equivilent to an L-system. But I'd never heard of those.

>> - Built a Lambda calculus interpretter.
> 
>     Put this in. Specify what language you used, though (and spell it 
> properly!)

*cough* Haskell.

Actually, a Lambda calculus interpretter is fairly trivial. What I wrote 
was a CGI script which shows a complete reduction sequence, and can also 
"compile" an extended Lambda calculus expression into plain Lambda 
calculus, and then into SKI combinator calculus, and finally into Iota 
calculus. It accepts any of these 4 languages as input. Simultaneously.

This is not as trivial as it sounds. (!!)

>> - Built a mini-Mathematica engine.
> 
>     Give more details - perhaps as bullets beneath it. What were its 
> capabilities and in which language?

Borland TurboPascal 5.5 for DOS. And I basically implemented 
Mathematica's pattern-matching and expression transformation language. 
Of course, the thing that makes Mathematica so powerful is the 
stupendously *vast* library of transformation rules it comes with. It's 
the culmination of many man-centuries of R&D. Not something I could 
duplicate in a hurry - especially since I don't know, for example, what 
"hypergeometric functions" even *are*, never mind how to implement them.

>> - Built a modular software sound synthesizer.
> 
>     Good. Again, perhaps some bullets describing features.

TurboPascal again. Each "module" is an MS-DOS program that takes a bunch 
of CLI args and maybe some input files, and dumps some sound data into 
an output file. By writing batch files, you can design complex synthesis 
algorithms. I've got modules for generating envelopes of various kinds, 
an oscilator for generating any Fourier series, a variable amplifier, 
and an FM operator. Any questions?

(If only I'd known DSP back then... I could have added a digital filter!)

>> - Built a collection of data compression modules.
>     
>     What language and which data compression formats (you could just put 
> the latter in parentheses).

Haskell. Again.

It doesn't handle any well-known formats such as RAR or ZIP. Rather, the 
modules implement basic algorithms such as LZW, Huffman, BWT, etc.

>> - Built a Mandelbrot generator with multiple colouring options.
> 
>     Good enough. Language?

Originally BASIC. Then assembly. Then Pascal. Then Smalltalk. Then Java. 
Then PostScript. Then Eiffel. Then Haskell...

Special features include inversion of the complex plane, colouring by 
the final value of Z, or the weighted average of the whole orbit, the 
option of adding "orbit traps" (e.g., the well-known "epsilon cross" 
option of FractInt). Special mention goes to the built-in 
Floyd-Steinburg error distribution dithering built into the Pascal 
version to enable psuedo-truecolour display on a 16-colour VGA monitor. 
Also the special RLE file format for storing and retrieving the images.

>> - Built a mini-Prolog interpretter.
> 
>     Good enough. Language? You could give more details as above (what 
> features did you implement, etc).

Haskell. I believe I may even have posted the source code (or at least 
its derivation here). I *definitely* posted the Windows CLI binary. It's 
basically straight out of a book, with a few Andrewisms added. (E.g., 
VGA colour text!)

Give it a predicate involving some variables. It will attempt to assign 
values to the variables in such a way that the predicate is satisfied. 
There may be zero, one, or multiple ways this can be done...

>> - Built a simple ray tracer.
> 
>     Language? Remove "simple" and put something like "prototype". Maybe 
> list some basic features.

It traced spheres and planes. It had CSG though, so that means it 
basically traces any polyhedron. In fact, there was a nonlinear scaling 
operation which means you could turn a sphere into a cylinder, and then 
a cylinder into a cone, so you actually have quite a few options there. 
There's no particular reason for not adding other quadratics too; I just 
never got round to it. I was too busy playing with texturing.

It had a texturing system based on several different kinds of "maps". A 
scalar map assigns a value to each point in space. By using a [piecewise 
linear] colour map, you could then assign a colour to every point in 
space. You can also apply multilayer textures, where lower ones "show 
through" upper ones. And each element of a CSG operation can be textured 
seperately. (As you can see... it's basically a blatent rip of POV-Ray.)

But there were also "vector maps", which you could use to displace other 
map types. So you could assign a red/green Y-gradient to an object, and 
then sine-displace it in the Y direction, and then again at a different 
frequency in the Z direction. In this way, you could make some pretty 
complex textures. (Not to mention that you can checkerboard textures, or 
have "texture maps" by applying a texture blend to a scalar map... As 
you can see, I kinda went overboard on generality. It's probably 
Turing-complete!)

>> ...should I continue?
> 
>     Sure.

Numerical intergration for physical motion simulations?

CPU emulators?

That grainular synthesis thing I played with?

Fractal image compression? (Maybe not include that one; it ever actually 
worked!)

The graphing tool I never finished?

OK, I'm starting to run out now...

>     There's a danger of your resume becoming too long. In which case 
> you'll want a short version (2 pages) which have only the ones that you 
> think are really prominent or interesting to the job. Then, separately, 
> you can have a CV that has all of the above, with details on most as 
> bullets.

Well, this is specifically for Wolfram Alpha. Check out the application 
form. There's only space for, like, 300 words, and they specifically 
want one "large project". I have many, many, MANY tiny projects.

>> Every single one of these has been a small one-man project totalling
>> less than 1,000 lines of code, I would estimate.
> 
>     Doesn't matter. Most of these are non-trivial.

You think??

Sure, *I* was impressed that I wrote a raytracer and it worked. But from 
what I can gather, *everybody* writes raytracers. Hell, Warp wrote a 
raytracer *inside* a raytracer!! Using a damned macro language. :-P

>     Definitely put the recovery plan in there.

Done.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Orchid XP v8
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 16:59:43
Message: <4a301ebf$1@news.povray.org>
Jim Henderson wrote:

> So summarize a bit on the projects that impressed you the most ("I've 
> written simple raytracers, foobars, and binfizes.").  Supply the code and 
> let them evaluate.  Remember that an application isn't a confessional of 
> the things that don't work in things you've built, it's a place to talk 
> positively about what you've built.

It's more the fact that I didn't know how a raytracer worked (nor how to 
solve simultaneous equations, by the way), and I worked it out from 
first principles, and it actually worked when I typed it in. I was ilated!

...until I discovered that everybody else has already done it, and it's 
considered a trivial college student exercise.

> So use the DR project because it was finished.  I imagine that given a 
> professional goal to complete some of the projects you've started on, 
> you'd finish them, but your interests are so varied that it's difficult 
> to focus on a personal project for a long time.  I know a lot of people 
> like that.
> 
> And for people like that, being paid to do what they find interesting is 
> a good incentive to finish a project that's been started.

I agree.

>> That's what I'm using. The form is basically filled out and ready to go.
> 
> Good. :-)

The form is sent.

>> I don't know - is dumping a bunch of Haskell code on them which they
>> have no way of compiling going to prove anything? I could be making it
>> all up for all they know...
> 
> Don't assume what their capabilities are.  You compiled it, they can get 
> a compiler.  They may even look at it and say "hey, I've never heard of 
> this language before", in which case you get bonus points for introducing 
> them to a new language.  (I know it's hard, but resist the temptation to 
> reply to this with "well, obviously it's not useful for anything so why 
> would they have heard of it?" or something along those lines.)
> 
> Like I said, don't do their thinking for them.  They're capable of doing 
> that.

This is Wolfram. I'm sure they'll have heard of a heavily accademic 
language such as Haskell. Doesn't mean they use it.

Anyway, I don't have any "working" code to hand right this exact second, 
and the application has been sent in now, so...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Jim Henderson
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 17:05:25
Message: <4a302015$1@news.povray.org>
On Wed, 10 Jun 2009 21:59:43 +0100, Orchid XP v8 wrote:

> It's more the fact that I didn't know how a raytracer worked (nor how to
> solve simultaneous equations, by the way), and I worked it out from
> first principles, and it actually worked when I typed it in. I was
> ilated!
> 
> ...until I discovered that everybody else has already done it, and it's
> considered a trivial college student exercise.

Well, I was a college student in Computer Science, and it's not something 
I could work out on my own.  So don't worry about the second part, the 
first part is the important part - you worked it out *on your own*, which 
is more than the college students doing the exercise do, because it's 
part of an assignment for them.

>> And for people like that, being paid to do what they find interesting
>> is a good incentive to finish a project that's been started.
> 
> I agree.

And there's your incentive to look for something more "in your field". :-)

>>> That's what I'm using. The form is basically filled out and ready to
>>> go.
>> 
>> Good. :-)
> 
> The form is sent.

Excellent!

>>> I don't know - is dumping a bunch of Haskell code on them which they
>>> have no way of compiling going to prove anything? I could be making it
>>> all up for all they know...
>> 
>> Don't assume what their capabilities are.  You compiled it, they can
>> get a compiler.  They may even look at it and say "hey, I've never
>> heard of this language before", in which case you get bonus points for
>> introducing them to a new language.  (I know it's hard, but resist the
>> temptation to reply to this with "well, obviously it's not useful for
>> anything so why would they have heard of it?" or something along those
>> lines.)
>> 
>> Like I said, don't do their thinking for them.  They're capable of
>> doing that.
> 
> This is Wolfram. I'm sure they'll have heard of a heavily accademic
> language such as Haskell. Doesn't mean they use it.

Doesn't mean they don't, either.  Hopefully you mentioned your interest 
in Haskell in the application.  Comes under the heading of "don't do the 
prospective employer's thinking for them". :-)

> Anyway, I don't have any "working" code to hand right this exact second,
> and the application has been sent in now, so...

So it's something to bring up in the interview.

Jim


Post a reply to this message

From: Orchid XP v8
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 17:14:13
Message: <4a302225$1@news.povray.org>
>> ...until I discovered that everybody else has already done it, and it's
>> considered a trivial college student exercise.
> 
> Well, I was a college student in Computer Science, and it's not something 
> I could work out on my own.  So don't worry about the second part, the 
> first part is the important part - you worked it out *on your own*, which 
> is more than the college students doing the exercise do, because it's 
> part of an assignment for them.

Well, I guess.

On the other hand, anybody with a real education would already know how 
to do algebra and solve equations. It's only me who's had to guess that 
stuff from what I can scrounge off the Internet and invent off the top 
of my head.

>>> And for people like that, being paid to do what they find interesting
>>> is a good incentive to finish a project that's been started.
>> I agree.
> 
> And there's your incentive to look for something more "in your field". :-)

Hey, I think the entire freakin' server is unanimous in this agreement 
that I need another job. You won't find me arguing! The question is, can 
I actually get one? Am I good enough?

>>>> That's what I'm using. The form is basically filled out and ready to
>>>> go.
>>> Good. :-)
>> The form is sent.
> 
> Excellent!

I'm a little... concerned that I didn't get one of those "thank you for 
your application" type emails when I sent the form in. It asks for an 
email address, and typically they do that kind of them.

Oh... oh God. Did I type my address wrong?!? o_O

Also not amusing: Sending my details over an unencrypted link? What, you 
couldn't afford HTTPS??

>> Anyway, I don't have any "working" code to hand right this exact second,
>> and the application has been sent in now, so...
> 
> So it's something to bring up in the interview.

We shall see.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Jim Henderson
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 17:19:55
Message: <4a30237b$1@news.povray.org>
On Wed, 10 Jun 2009 22:14:12 +0100, Orchid XP v8 wrote:

> On the other hand, anybody with a real education would already know how
> to do algebra and solve equations. It's only me who's had to guess that
> stuff from what I can scrounge off the Internet and invent off the top
> of my head.

In other words, you overcame circumstances rather than giving up.  That's 
more than most people will do.  You did real research instead of having 
it handed to you in a classroom.

>> And there's your incentive to look for something more "in your field".
>> :-)
> 
> Hey, I think the entire freakin' server is unanimous in this agreement
> that I need another job. You won't find me arguing! The question is, can
> I actually get one? Am I good enough?

You can get one, and you are good enough.  Those that turn you down 
aren't good enough for you because they're not willing to look at what 
your capabilities are.

>>>>> That's what I'm using. The form is basically filled out and ready to
>>>>> go.
>>>> Good. :-)
>>> The form is sent.
>> 
>> Excellent!
> 
> I'm a little... concerned that I didn't get one of those "thank you for
> your application" type emails when I sent the form in. It asks for an
> email address, and typically they do that kind of them.

It may be that they don't do that, but rather they send the information 
along and have someone personally reply.

> Oh... oh God. Did I type my address wrong?!? o_O

Give it a couple of days, and if you don't hear anything, write back.  
Hey, it could be that their mail server is down.

> Also not amusing: Sending my details over an unencrypted link? What, you
> couldn't afford HTTPS??

After you get a job there, this would be something to ask about.  Of 
course, maybe not as "you couldn't afford a certificate" but maybe more 
as "hey, you know, when I filled out the application I was a little 
concerned about it being sent in the clear".  Or something during the 
interview, for that matter - if there's an opportunity.  But it has to be 
framed well, too.

>>> Anyway, I don't have any "working" code to hand right this exact
>>> second, and the application has been sent in now, so...
>> 
>> So it's something to bring up in the interview.
> 
> We shall see.

Yep. :-)

Jim


Post a reply to this message

From: Mueen Nawaz
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 18:01:54
Message: <4a302d52$1@news.povray.org>
On 06/10/09 15:56, Orchid XP v8 wrote:
> Well, this is specifically for Wolfram Alpha. Check out the application
> form. There's only space for, like, 300 words, and they specifically
> want one "large project". I have many, many, MANY tiny projects.

	My mistake. I thought it was for a resume.

	Regardless, put it on the resume/CV. Take the details you put in your 
post and make it a bit more organized.

	Also, it'd be great if you make a static web page and put as much of 
the above code there, with the descriptions that your provided. You 
could put that on your resume.

>> Doesn't matter. Most of these are non-trivial.
>
> You think??

	Yup.

	I was talking to a CS Master's student in a program ranked in the top 5 
in this country. He was taking a probability course where he had to 
compute some expected values of stuff like coin flips with certain 
constraints. Some were tricky to calculate, and he was asking for help. 
I was busy/lazy, so I told him to first simulate the system 
(straightforward - some would take less than 10 lines in a decent 
language) and use that as a test of his calculations.
	
	He had a great deal of trouble writing code for this, and he gave up.

	Now granted, his background is not in CS (some other engineering). But 
it gives you an idea of who you're competing with. And people like him 
get hired.

	In any case, I don't see too much harm in putting this stuff in the 
Wolfram application if you can't think of a "big" project. I doubt they 
keep blacklists.

-- 
On a Taxidermist's window:
"We really know our stuff."


                     /\  /\               /\  /
                    /  \/  \ u e e n     /  \/  a w a z
                        >>>>>>mue### [at] nawazorg<<<<<<
                                    anl


Post a reply to this message

From: Jim Henderson
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 18:27:24
Message: <4a30334c$1@news.povray.org>
On Wed, 10 Jun 2009 17:01:54 -0500, Mueen Nawaz wrote:

> Now granted, his background is not in CS (some other engineering).

As a side comment, some of the best problem-solving coders I've ever seen 
(not software engineers, mind) are people who come from engineering 
backgrounds.  I participated in several ACM programming contests when I 
was in college, and one of the top ranked teams in the world was the team 
from the University of Central Florida.  Their top team had no Computer 
Science students in it.  What's more, ACM provided a choice of language 
(C or Pascal) for the contests, and the UCF team worked *only* in Pascal.

The guy who was their coach was amazing as well - also only programed in 
Pascal for the contests (don't know what other languages he knew, never 
thought to ask the few times I met him), but he could solve all 7 
problems in the test set very trivially.  His co-coach would select the 
problems so he had no idea what they were.

I guess part of the point is that knowing C isn't the end-all be-all of 
programming. :-)

Jim


Post a reply to this message

From: Darren New
Subject: Re: Crazy ideas for Monday morning
Date: 10 Jun 2009 19:28:37
Message: <4a3041a5@news.povray.org>
Orchid XP v8 wrote:
> ...should I continue?

Other than the mandelbrot generator, I don't really have the math to do any 
of those projects. (Or the patience anymore, for that matter.)

> But not massively relevant to this specific application. 

Of course it is. It means "I can think, and write, and organize a document."

-- 
   Darren New, San Diego CA, USA (PST)
   Insanity is a small city on the western
   border of the State of Mind.


Post a reply to this message

From: Invisible
Subject: Re: Crazy ideas for Monday morning
Date: 11 Jun 2009 04:22:07
Message: <4a30beaf$1@news.povray.org>
>> On the other hand, anybody with a real education would already know how
>> to do algebra and solve equations. It's only me who's had to guess that
>> stuff from what I can scrounge off the Internet and invent off the top
>> of my head.
> 
> In other words, you overcame circumstances rather than giving up.  That's 
> more than most people will do.  You did real research instead of having 
> it handed to you in a classroom.

On the other hand, somebody taught in a classroom would have a complete 
coverage of the subject, not just bits and pieces of it.

(I tell you, the number of times I've spent weeks working something out, 
only to discover that there's some textbook somewhere with the exact 
solution I was looking for already written down... If I had a thorough 
knowledge of the subject, I'd have known the answer in the first place!)

>> Hey, I think the entire freakin' server is unanimous in this agreement
>> that I need another job. You won't find me arguing! The question is, can
>> I actually get one? Am I good enough?
> 
> You can get one, and you are good enough.  Those that turn you down 
> aren't good enough for you because they're not willing to look at what 
> your capabilities are.

I worry though - on paper, I don't sound very impressive at all. Will I 
ever get past the initial deselection?

>> I'm a little... concerned that I didn't get one of those "thank you for
>> your application" type emails when I sent the form in. It asks for an
>> email address, and typically they do that kind of them.
> 
> It may be that they don't do that, but rather they send the information 
> along and have someone personally reply.

It's a web form. Any 6 year old with a web browser can submit an 
application. They must be getting several hundred million *per hour*. 
Obviously they will have been prepared for this, and will have an 
automated system of some kind to filter out the garbage. I just hope 
they don't filter *me* out!

> Give it a couple of days, and if you don't hear anything, write back.  

Don't have a way to do that.

>> Also not amusing: Sending my details over an unencrypted link? What, you
>> couldn't afford HTTPS??
> 
> After you get a job there, this would be something to ask about.

Heh, yeah...


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.