Yes, I did to (in saying that if you didnt program outside of work, you must not like coding), but it should be somewhat obvious that if you dont have *time* to code outside of work, because you have family to spend time with, or other hobbies, sure.. moot point.
Trouble is, at least in the U.S., you're not allowed to ask questions that would tell you if the candidate doesn't contrinute to Open Source projects because he spands time with his family, other charities, other hobbies, etc.
Your point is valid--I've seen some really bad contributions to Open Source projects, and I've known some truly talented coders who didn't participate in them.
Maybe the correct approach is: 1. Ask "Do you participate in any open source projects?" 2. If true, after the interview, download the projects, use cvs to find out what the person actually did, and judge them on the merits of their code.
(Not that code quality is the sole criterion for hiring somebody, of course, but this approach might be just about the only way to get some non-trivial sample code to look at).
You assume that they're only buying software and libraries from MS. Throw in some bug tracking software seats, the Rational suite, a good non-free source control system (not SourceSafe), whatever commercial libs they might be using, MS Office, MS Project, some DB seats...
I can believe $20k. It's a little high, but not that much.
If you have physical access to the box, there are n ways to get your code executed in a Windows app. WM_TIMER (the callback version) is one, as are window hooking, CBT hooks (computer-based-training, although I've never seen it used for this purpose) forcible DLL loading (if you have access to the Registry), debug process attachment, CreateRemoteThread, thunking well-known DLLs (which is why Red Alert 1 won't play on Win2K without a patch--they can't thunk kernel32), etc., etc., etc.
Windows programmers have been using these methods for non-evil reasons for many years--the "3D look" of MS Office apps before Windows 95 was done this way.
The insecurity of the desktop model for Windows shouldn't surprise anyone. It wasn't designed to be secure OR multi-user, and patching after the fact doesn't make it so. It's comparable to complaining that telnet and ftp send passwords in clear text. Well, no kidding, they weren't designed to be secure, so they're not.
And like the case of telnet, making a secure but still 100% backwards compatible solution is pretty much impossible, as the article states.
A few years ago, you could have said the same thing about PNG. Now, every major image editor supports it, as do all the major image viewers and web browsers.
The existence of a defacto standard doesn't mean that you shouldn't try to improve on that standard.
If you nearly miss something, you've come close to missing it, therefore, you've hit it. If you nearly hit someone, you've come close to hitting it.
I think George would agree with me when I say, "GAAAH!" Don't take Carlin's remarks so damned seriously. For cripes' sake, it's a JOKE!
For the grammar-impaired, it's a "near miss", not a "nearly-missed event". Near is an adjective. Therefore a "near miss" is a miss that happens to be near its target.
Carlin is hella funny, but his jokes aren't something on which to base your life view.:-)
Re:In all seriousness, random libs *suck*
on
Pet Bugs?
·
· Score: 2
I also thought Solaris had one.
Rumor has it that there will be a good one in Solaris 9, but no word on whether it's/dev/random or a syscall.
In the meantime, the workaround I'm using is to collect various system statistics, stir with SHA-1, and use that as a seed for a good PRNG (I'm debating between Yarrow and the Mersenne Twister right now).
Re:In all seriousness, random libs *suck*
on
Pet Bugs?
·
· Score: 2
On most modern UNIX-like systems there's a/dev/random which gives you the result of operating-system collected entropy from various timing-related operations which the OS performs anyway. You can just read as many bytes from it as you need.
Hmm... must be how you define "most". Of the Unices I use (Linux, Solaris 2.7, Solaris 2.8, AIX 4.3, HP-UX 10.2, HP-UX 11.0),/dev/random exists only on Linux. Makes generating UUIDs a pain.
The bigger issue is that once you have it compressed with a DivX-like format, you're done. No more editing, reuse, etc.
If you ever intend to use the video for anything other than simple playback, you have to use lossless compression, which translates into "bring on the terabyte drives". I do DV editing on a 13GB drive, and it makes me very, very sad.
System tray icons can only exist when a program is running, right? So therefore, find out which program is running to display the icons and kill it using Task Manager.
Then go through your startup programs group and the "Run" keys in your registry (HKEY_LOCAL_MACHINE/Software/Windows/CurrentVersio n and HKEY_CURRENT/Software/Windows/CurrentVersion) and delete the shortcut to or reference to those programs from those places. Done.
There is a tremendous difference that these kinds of analogies ignore.
Software IS different from non-software engineering, in that it is mutable. You CAN make changes after the fact.
Some of your points are valid (impossible performance requirements, and users forgetting what they specified), but comparing construction of software to construction of a building is one of the most incorrect (and unfortunately common) false analogies in the trade.
If you disagree, and you are a coder, programmer, analyst, software architect, or software engineer, I challenge you: for one month, do your job according to the constraints imposed by the world of building construction. I'm guessing I'll get no takers.
Not in any useful form. His patent covered submarines propelled by a water jet heated by a fission reactor. As it happens, such a device would be noisy and therefore unsuitable for anyone with the wherewithal to build a nuclear-powered sub (i.e., a national navy).
I don't know PHP, but it looks to me like like your function allocates memory proportional to the size of the given string. Did you read the question?
Actually, not to be pedantic or anything, but his answer does fit the letter of the question. You specified "using a finite amount of memory", not "using a constant amount of memory."
Given a finite input string, any algorithm that uses any finite amount of memory (whether it be O(n), O(n^2), or O(n!) ) passes.
The subtext is that, apparently, they signed a rather foolish deal with a company that distributed B2000. So they bailed on it citing vague liability issues, and released Cinelerra.
Anyway, I've written video editors before (on other platforms), and neither B2k nor Cinelerra do much for me.
This is a well-known problem. Do a search on "secret sharing". Ideally, you want to make sure that no single (or more) key holder who goes rogue can use the information on his own, but if one (or more) key holders cease to exist, the secret can be recovered.
I've been reading the late Stephen Jay Gould's book Dinosaur in a Haystack, in which he notes that Jurassic Park-style cloning wouldn't work for a number of basic technical reasons.
Did he ever mention this project in any of his other books? DiaH is the only book I've read so far...
It is? Then please tell me where the gene is that determines blue eyes versus brown ones.
Your reply indicates a shallow reading of the post.
I quote:
The genetic code is understood perfectly well [...] Protein folding is poorly understood, as is the complex cellular feedback loop between protein content, cellular environment, and DNA transcriptional control.
The poster is stating that we know the code. We don't know how the other mechanisms USE the code to generate macroscopic phenomena (like the eye color you mentioned).
In programming terms, we know the opcodes and what they do at the processor level, but we haven't reverse-engineered what the binary actually does with them.
You probably didn't buy the service and support contract that includes same-day service, then.
For our supplier (Dell), the default is next-day onsite if possible, but if you really care about uptime, you need to upgrade to the better contracts (including four-hour service!). And all machine classes have the same programs, from laptops to servers.
Umm... you've just lost the point of this thread. The original poster was complaining that while people claim C++ can be faster than C, he wasn't convinced. In fact, the exact words were, "I'm calling your bluff.".
I responded with a case in which C++ was faster than C, and now you say "I guess I can count you in the group who says that Java and C# are completely worthless because of the much slower speed they operate?" Huh?
I do almost all my day to day coding in C++ and Python, with some straight C when that's what the rest of the project uses and needs. Hardly a worshiper of the little tin god.
If, two months from now, one of them dies and dies hard, you're on your own to figure out what went wrong, find a replacement part, try to get warranty service from wherever you bought that component, etc.
Most of the majors offer very good service. Often it's just a cross-ship for the whole system, and you're in business the next day with no time invested by your IT department.
The most well-known example is using the sort algorithm instead of C's qsort. Because all the comparisons are templatized, and you never end up casting anything to void*, all the comparisons are inlined, and sort shames qsort.
When I tried it last, I didn't get the 6x difference some people claim, but it was about 2.5x faster.
Continue reading the article. It's in the CRT screen--leaded glass, you know, to reduce emissions.
Yes, I did to (in saying that if you didnt program outside of work, you must not like coding), but it should be somewhat obvious that if you dont have *time* to code outside of work, because you have family to spend time with, or other hobbies, sure .. moot point.
Trouble is, at least in the U.S., you're not allowed to ask questions that would tell you if the candidate doesn't contrinute to Open Source projects because he spands time with his family, other charities, other hobbies, etc.
Your point is valid--I've seen some really bad contributions to Open Source projects, and I've known some truly talented coders who didn't participate in them.
Maybe the correct approach is:
1. Ask "Do you participate in any open source projects?"
2. If true, after the interview, download the projects, use cvs to find out what the person actually did, and judge them on the merits of their code.
(Not that code quality is the sole criterion for hiring somebody, of course, but this approach might be just about the only way to get some non-trivial sample code to look at).
You assume that they're only buying software and libraries from MS. Throw in some bug tracking software seats, the Rational suite, a good non-free source control system (not SourceSafe), whatever commercial libs they might be using, MS Office, MS Project, some DB seats...
I can believe $20k. It's a little high, but not that much.
I think you mean www.goodeatsfanpage.com.
If you have physical access to the box, there are n ways to get your code executed in a Windows app. WM_TIMER (the callback version) is one, as are window hooking, CBT hooks (computer-based-training, although I've never seen it used for this purpose) forcible DLL loading (if you have access to the Registry), debug process attachment, CreateRemoteThread, thunking well-known DLLs (which is why Red Alert 1 won't play on Win2K without a patch--they can't thunk kernel32), etc., etc., etc.
Windows programmers have been using these methods for non-evil reasons for many years--the "3D look" of MS Office apps before Windows 95 was done this way.
The insecurity of the desktop model for Windows shouldn't surprise anyone. It wasn't designed to be secure OR multi-user, and patching after the fact doesn't make it so. It's comparable to complaining that telnet and ftp send passwords in clear text. Well, no kidding, they weren't designed to be secure, so they're not.
And like the case of telnet, making a secure but still 100% backwards compatible solution is pretty much impossible, as the article states.
A few years ago, you could have said the same thing about PNG. Now, every major image editor supports it, as do all the major image viewers and web browsers.
The existence of a defacto standard doesn't mean that you shouldn't try to improve on that standard.
Near hit.
If you nearly miss something, you've come close to missing it, therefore, you've hit it.
If you nearly hit someone, you've come close to hitting it.
I think George would agree with me when I say, "GAAAH!" Don't take Carlin's remarks so damned seriously. For cripes' sake, it's a JOKE!
For the grammar-impaired, it's a "near miss", not a "nearly-missed event". Near is an adjective. Therefore a "near miss" is a miss that happens to be near its target.
Carlin is hella funny, but his jokes aren't something on which to base your life view.
I also thought Solaris had one.
/dev/random or a syscall.
Rumor has it that there will be a good one in Solaris 9, but no word on whether it's
In the meantime, the workaround I'm using is to collect various system statistics, stir with SHA-1, and use that as a seed for a good PRNG (I'm debating between Yarrow and the Mersenne Twister right now).
On most modern UNIX-like systems there's a /dev/random which gives you the result of operating-system collected entropy from various timing-related operations which the OS performs anyway. You can just read as many bytes from it as you need.
/dev/random exists only on Linux. Makes generating UUIDs a pain.
Hmm... must be how you define "most". Of the Unices I use (Linux, Solaris 2.7, Solaris 2.8, AIX 4.3, HP-UX 10.2, HP-UX 11.0),
The bigger issue is that once you have it compressed with a DivX-like format, you're done. No more editing, reuse, etc.
If you ever intend to use the video for anything other than simple playback, you have to use lossless compression, which translates into "bring on the terabyte drives". I do DV editing on a 13GB drive, and it makes me very, very sad.
Hmm... could Nessie really be a giant blancmange?
System tray icons can only exist when a program is running, right? So therefore, find out which program is running to display the icons and kill it using Task Manager.
o n and HKEY_CURRENT/Software/Windows/CurrentVersion) and delete the shortcut to or reference to those programs from those places. Done.
Then go through your startup programs group and the "Run" keys in your registry (HKEY_LOCAL_MACHINE/Software/Windows/CurrentVersi
There is a tremendous difference that these kinds of analogies ignore.
Software IS different from non-software engineering, in that it is mutable. You CAN make changes after the fact.
Some of your points are valid (impossible performance requirements, and users forgetting what they specified), but comparing construction of software to construction of a building is one of the most incorrect (and unfortunately common) false analogies in the trade.
If you disagree, and you are a coder, programmer, analyst, software architect, or software engineer, I challenge you: for one month, do your job according to the constraints imposed by the world of building construction. I'm guessing I'll get no takers.
Feynman had the patent on nuclear subs.
Not in any useful form. His patent covered submarines propelled by a water jet heated by a fission reactor. As it happens, such a device would be noisy and therefore unsuitable for anyone with the wherewithal to build a nuclear-powered sub (i.e., a national navy).
I don't know PHP, but it looks to me like like your function allocates memory proportional to the size of the given string. Did you read the question?
Actually, not to be pedantic or anything, but his answer does fit the letter of the question. You specified "using a finite amount of memory", not "using a constant amount of memory."
Given a finite input string, any algorithm that uses any finite amount of memory (whether it be O(n), O(n^2), or O(n!) ) passes.
:-)
The subtext is that, apparently, they signed a rather foolish deal with a company that distributed B2000. So they bailed on it citing vague liability issues, and released Cinelerra.
Anyway, I've written video editors before (on other platforms), and neither B2k nor Cinelerra do much for me.
This is a well-known problem. Do a search on "secret sharing". Ideally, you want to make sure that no single (or more) key holder who goes rogue can use the information on his own, but if one (or more) key holders cease to exist, the secret can be recovered.
I've been reading the late Stephen Jay Gould's book Dinosaur in a Haystack, in which he notes that Jurassic Park-style cloning wouldn't work for a number of basic technical reasons.
Did he ever mention this project in any of his other books? DiaH is the only book I've read so far...
It is? Then please tell me where the gene is that determines blue eyes versus brown ones.
Your reply indicates a shallow reading of the post.
I quote:
The genetic code is understood perfectly well
[...]
Protein folding is poorly understood, as is the complex cellular feedback loop between protein content, cellular environment, and DNA transcriptional control.
The poster is stating that we know the code. We don't know how the other mechanisms USE the code to generate macroscopic phenomena (like the eye color you mentioned).
In programming terms, we know the opcodes and what they do at the processor level, but we haven't reverse-engineered what the binary actually does with them.
The light pollution you see in those images is from misused wide area lighting.
I doubt that all the WLEDs ever created, used in task lighting the way this article mentions, would show up on one of those pictures.
Read the article, and think about it...
You probably didn't buy the service and support contract that includes same-day service, then.
For our supplier (Dell), the default is next-day onsite if possible, but if you really care about uptime, you need to upgrade to the better contracts (including four-hour service!). And all machine classes have the same programs, from laptops to servers.
You get what you pay for, of course.
Umm... you've just lost the point of this thread. The original poster was complaining that while people claim C++ can be faster than C, he wasn't convinced. In fact, the exact words were, "I'm calling your bluff.".
I responded with a case in which C++ was faster than C, and now you say "I guess I can count you in the group who says that Java and C# are completely worthless because of the much slower speed they operate?" Huh?
I do almost all my day to day coding in C++ and Python, with some straight C when that's what the rest of the project uses and needs. Hardly a worshiper of the little tin god.
If, two months from now, one of them dies and dies hard, you're on your own to figure out what went wrong, find a replacement part, try to get warranty service from wherever you bought that component, etc.
Most of the majors offer very good service. Often it's just a cross-ship for the whole system, and you're in business the next day with no time invested by your IT department.
The most well-known example is using the sort algorithm instead of C's qsort. Because all the comparisons are templatized, and you never end up casting anything to void*, all the comparisons are inlined, and sort shames qsort.
When I tried it last, I didn't get the 6x difference some people claim, but it was about 2.5x faster.
We're running into the same issues as you with the memory high-water marks. How do you deal with them?