Plus they'd see the hacking from the downloaded telemetry, and send someone to visit your ground terminal. Unless, of course, your 12m dish is mobile, and your neighbors didn't see you wheel it into your oversized garage.
When I was a TA, one of the things that seemed to make the most difference for students was help them find the problems in their code on their own. Few of them came to talk to me about any comments I ever wrote on their submissions.
If you expose your automated grading system so that anyone can run it (at least with some subset of the standard test data and expected results) you let every student check their grade as they go. You also make it more like the real world.... run your program against several data sets, and try to characterize the behavior that amkes it fail in certain situations. Once you know what makes an aspect of your program fail, you know where to go dig for solutions.
If it concerns you that they won't work any harder than they have to to meet the passing grade, make sure you save out some dedicated grading data sets that expose the more tricky boundary conditions, and that your students know that.
If you want to be proactive about helping students that need help, track the number of submissions and the associated scores. If you see someone entering a lot of submissions without seeing a steady improvement in their score, they've likely hit a roadblock and may need some questions answered. If someone is seeing steady progress to a bug free solution, give them a pat on the back.
It seems like this could be more than just a tool for automated grading, but also a tool for giving students immediate feedback (think standardized unit tests as a grading method), as well as helping keep track of students' progress and which may need more individual attention (but may not be asking for it).
There's a great sourceforge project that is an ant task that mimics JarBundler. The target takes a lot of parameters to get it just right, but pretty much every option to JarBunder.app is supported.
Check out the sample code for the OSXAdapter, which is an easy way to tie in OSX support in a cross platform way. They also provide AppleJavaExtensions stubs so you can compile for Apple specifics even on non-Apple platforms. All the code uses reflection to determine if the Apple extensions are there, so nothing special needs to be shipped oncce the byte code is built.
My team has also been using JProbe. We used the unsupported free edition for a while and decided it was worth it to go ahead and get the full version. We got a single concurrent license (as opposed to node-locked) and have been able to share it among 4-8 people successfully with little contention. The installation and management of the license server is easy, and hooking the clients up to it was dead simple.
Their performance profiling is great, and their remote profiling works wonderfully as well. We had problems getting it to play nicely when running inside Oracle Application Server, though...
I haven't used the memory leak analysis tools much, but my first impression is that the OptimizeIt tools I used several years ago were more straight forward. Maybe it's just needing to get more experience with it, as I said, I haven't used it much yet.
Btw, why are such areas as that so low-res on Google Map while so good on Google Earth? Also, why are some governmental building edited out in Google Maps, while apparently (didn't check all) not in Google Earth??
I imagine the resolution on Google Maps is restricted because of the sheer number of pre-cached tiles at every possible resolution it would take to make it available to a huge number of users simultaneously. It's simpler to just restrict that and keep the data set smaller. Now in Google Maps, I imagine they can predict where to pre-cache imagery based on where the user is browsing with direct feedback from the client.
As for "governmental building edited out", check out this article at NYTimes, where Andrew McLaughlin, a senior policy counsel at Google rebuffs this idea. "Nor, he said, has the United States government ever asked Google to remove information."
And more specifically, "For a brief period, photos of the White House and adjacent buildings that the United States Geological Survey provided to Google Earth showed up with certain details obscured, because the government had decided that showing details like rooftop helicopter landing pads was a security risk. Google has since replaced those images with unaltered photographs of the area taken by Sanborn, a mapping and imagery company, further illustrating the difficulty of trying to control such information."
Commercial imaging satellites with high resolution is only about 5 years old itself. Space Imaging was first to 1.0 meter resolution with IKONOS in 1999. DigitalGlobe launched QuickBird with 0.6 meter resolution in 2001. Anything with less resolution than 5 meters really isn't worth looking at from this type of mapping application.
As far as updating, here's Google Earth's FAQ entry about when they update their data. I bet Google Map aren't that far behind Google Earth when making updated imagery available.
I've interviewed at places that did have programming skills tests, and those that did not. When I've been in the hiring role, I've occasionally used them. Some people believe they are a good impartial way to evaluate skills. Others believe you can gain the same info by talking to a person informally.
The big thing to remember is that the test should be "shades of grey" rather than "black or white". If you're not sure about an answer, but you can explain why you made that choice, it's better than leaving them with a yes/no answer.
I've seen good tests, with language specific questions (without being syntax nits) like 'What interfaces or classes would you need to extend to implement a J2EE EJB service?' and general questions like 'Describe 2 Gang of Four patterns and where you'd use them?' (Note, you get more points if you admit you don't know which patterns are in GOF than if you guess incorrectly).
I've seen bad tests, like when I was asked to implement a linked list in C. My response of "I wouldn't, I'd use STL", was badly received. Eventually, I got from them that they wanted to see that I could identify boundary conditions and likely places to mess up the pointer manipulations.
The worst are the downright ugly tests. At my previous job, HR asked some engineers why none of the candidates were passing the multiple choice programming exam they were given. It turns out that a third of the "answers" on the key were wrong, and another third were ambiguous because of the wording of the question (ie, both A and C could be argued to be correct).
To sum things up, expect questions related to the skills required for the job, questions related to the skills you've listed on your resume, and questions about general theory and good practices. Often you can get partial credit for a wrong answer if you explain yourself. Always be honest rather than improvising an answer that you don't know. And you can always ask to discuss any questions you get incorrect, so you can explain your thought processes.
I've got the DNRC (Dogbert's New Ruling Class) listed on my resume under my "Professional Memberships" section (along with the ACM, etc).
I've only had one person comment on it, and that was because they knew of a different DNRC group. However, they didn't even ask what this DNRC was after I told them I didn't know anything about the other group.
Either people never feel they have to question me about things they don't know about on my resume, or the people who recognize it know not to draw attention, but quietly boost my chances for job offers.
The first I used was indeed a scummy fellow. Should have been tipped off when he said he got my name and number from a coworker of mine who was talking to him, but wouldn't tell me who. Sent me on a couple badly chosen interviews, and then lined me up with a good one.
The next time around, I was a lot more picky. Found several who didn't mind if I used several head hunters, dropped anyone who wanted an exclusive relationship with me. The most annoying ones were those who only accepted resumes in Word format, because they could then replace the head of your resume with their company logo and an anonymous candidate number so thata companies had to talk through the recruiter.
Some of them seem to find new companies simply by using Monster, but others have a "little black book" of companies that previous placements have liked and keep in touch with.
Anyway, one of them found me a awesome position, lined up interviews, and negotiated salary for me. Every 6 months or so he calls and checks how I'm doing, and asks if we have any openings coming up.
Overall, is's been a great, honest, professional relationship, and I haven't hesitated to refer him to other people looking for jobs. They are out there, you just have to look hard for them. The same way you have to look for those great, honest companies to work for...
After reviewing a lot of resumes, and doing technical interviews for my manager, I've seen that having a PhD can push things in either direction.
In some cases, we'll see a PhD, but since it's not in an area my company is using, that person will probably not be working in their field of choice. Additionally, having those extra letters may indicate a higher salary requirement, which may or may not fit the opening. If you're looking to hire a junior developer, you throw the PhDs out of the pile in the first round.
On the other hand, we recently hired a person with a PhD, even though we had to go to the CTO and create a position for her. Why? Because her PhD matched exactly with a huge need the company had. It's a perfect match all around, she gets a challenging job in her field of specialization, and we filled a very uncommon niche of domain knowledge.
As long as your PhD is applicable to what you want to do, it's an asset. If it only marginally relates to what you want to do, it may be more baggage than its worth.
I've been using TWiki for collaboration notes, and one of its features is a plugin for charting. It manages to draw jpegs and pngs using the perl GD module and the gd library.
Of course, you'd need to write your own server side to generate the chart you want, but these tools put you easily along that path.
I don't htink USA has any shortage of imaging tech., most probably trying to stop Saddam from buying the images How are they going to stop bin Laden tho. , how long can they monopolize commercial satellites?
At least for satellite imaging companies in the United States, one of the conditions in order to get a imaging satellite license is to abide by US government regulations that include a list of 'denied parties' that cannot be sold to, and the ability to issue 'shutter control' directives for sensitive parts of the world.
Of course, these limitations can't be applied to foreign satellites (eg Russian, French or Indian), however, those satellites also do not have the same resolution capabilities as the US satellites.
Plus, Borland just bought StarBase, which produces the StarTeam SCM system, as seen in this press release. (Wow, just look at the way the Borland logo is plastered all over the StarBase website!)
So with Rational and Borland, they knock out 2 competitors in the SCM market!
It's also very hard with C/C++. The most you break on any system without very broken protection-handling is the faulty program itself.
Heh. Now, it's been a few years since I learned C, but I remember one of my first programs utilizing pointers managed to read and overwrite some of the memory resident OS code on a DOS box. (They were the only boxes available int he lab at that time.) It's a quick way to reduce the box to incoherant beeps and chirps while spewing bits of a memory resident executable to stdout until it grinds to an unresponsive halt.
Moving my code to a unix box later introduced me to core debugging after a segfault. What a difference that makes, being able to examine why a program used bad pointers, rather than letting you know it did by crashing the machine...
In addition to having already used the platypus for another title, O'Reilly is following a pattern of using various dogs for the MacOS X titles (Learning Cocoa, Learning Carbon, etc).
How about when they go away when you launch it in a debugger, with no code changes.
I ran into one of these in C++ in Solaris... I think it was a memory alignment issue. Loading the software in the debugger changed the memory allocations just enough that all the problems went away. Stop using the debugger, and they all pop back up again.
Or worse yet, bugs that only reveal themselves in the debugger because of subtle timing issues.
The software normally doesn't hit the race condition, but throw in a few break points and all hell breaks loose. That's a fun one to debug...
My company isn't going until tomorrow... but they are paying for the tickets.
I think that in addition to raising morale, they staved off some of the opening day absences by doing so. But on the other hand, I didn't see nearly as much pre-opening hype as there was for Episode I.
Oh well, I'll just be happy if Episode II is a decent flick.
Actually, "antipattern" is an accepted term in the pattern commnunity for describing a bad process or design that on the surface looks like a good idea. If a Pattern is a good practice distilled from the experiences of many good develoeprs, then an antipattern is a "gotcha" thathas been distilled from experience common to many good developers. This book describes it, but
the name really has nothing to do with Sun's practice of describing things in terms of patterns.
That's right. The AntiPattern is a well established idea, even marked by the publication of an AntiPatterns book just a few years after the publication of Design Patterns by the gang of four.
Plus they'd see the hacking from the downloaded telemetry, and send someone to visit your ground terminal. Unless, of course, your 12m dish is mobile, and your neighbors didn't see you wheel it into your oversized garage.
When I was a TA, one of the things that seemed to make the most difference for students was help them find the problems in their code on their own. Few of them came to talk to me about any comments I ever wrote on their submissions.
If you expose your automated grading system so that anyone can run it (at least with some subset of the standard test data and expected results) you let every student check their grade as they go. You also make it more like the real world.... run your program against several data sets, and try to characterize the behavior that amkes it fail in certain situations. Once you know what makes an aspect of your program fail, you know where to go dig for solutions.
If it concerns you that they won't work any harder than they have to to meet the passing grade, make sure you save out some dedicated grading data sets that expose the more tricky boundary conditions, and that your students know that.
If you want to be proactive about helping students that need help, track the number of submissions and the associated scores. If you see someone entering a lot of submissions without seeing a steady improvement in their score, they've likely hit a roadblock and may need some questions answered. If someone is seeing steady progress to a bug free solution, give them a pat on the back.
It seems like this could be more than just a tool for automated grading, but also a tool for giving students immediate feedback (think standardized unit tests as a grading method), as well as helping keep track of students' progress and which may need more individual attention (but may not be asking for it).
There's a great sourceforge project that is an ant task that mimics JarBundler. The target takes a lot of parameters to get it just right, but pretty much every option to JarBunder.app is supported.
Check out the sample code for the OSXAdapter, which is an easy way to tie in OSX support in a cross platform way. They also provide AppleJavaExtensions stubs so you can compile for Apple specifics even on non-Apple platforms. All the code uses reflection to determine if the Apple extensions are there, so nothing special needs to be shipped oncce the byte code is built.
My team has also been using JProbe. We used the unsupported free edition for a while and decided it was worth it to go ahead and get the full version. We got a single concurrent license (as opposed to node-locked) and have been able to share it among 4-8 people successfully with little contention. The installation and management of the license server is easy, and hooking the clients up to it was dead simple.
Their performance profiling is great, and their remote profiling works wonderfully as well. We had problems getting it to play nicely when running inside Oracle Application Server, though...
I haven't used the memory leak analysis tools much, but my first impression is that the OptimizeIt tools I used several years ago were more straight forward. Maybe it's just needing to get more experience with it, as I said, I haven't used it much yet.
RealVNC has already released a 4.1.2 update that closes the vulnerability.
Btw, why are such areas as that so low-res on Google Map while so good on Google Earth? Also, why are some governmental building edited out in Google Maps, while apparently (didn't check all) not in Google Earth??
I imagine the resolution on Google Maps is restricted because of the sheer number of pre-cached tiles at every possible resolution it would take to make it available to a huge number of users simultaneously. It's simpler to just restrict that and keep the data set smaller. Now in Google Maps, I imagine they can predict where to pre-cache imagery based on where the user is browsing with direct feedback from the client.
As for "governmental building edited out", check out this article at NYTimes, where Andrew McLaughlin, a senior policy counsel at Google rebuffs this idea. "Nor, he said, has the United States government ever asked Google to remove information."
And more specifically, "For a brief period, photos of the White House and adjacent buildings that the United States Geological Survey provided to Google Earth showed up with certain details obscured, because the government had decided that showing details like rooftop helicopter landing pads was a security risk. Google has since replaced those images with unaltered photographs of the area taken by Sanborn, a mapping and imagery company, further illustrating the difficulty of trying to control such information."
Commercial imaging satellites with high resolution is only about 5 years old itself. Space Imaging was first to 1.0 meter resolution with IKONOS in 1999. DigitalGlobe launched QuickBird with 0.6 meter resolution in 2001. Anything with less resolution than 5 meters really isn't worth looking at from this type of mapping application.
As far as updating, here's Google Earth's FAQ entry about when they update their data. I bet Google Map aren't that far behind Google Earth when making updated imagery available.
Good catch, that should have be "a linked list in C++".
I've interviewed at places that did have programming skills tests, and those that did not. When I've been in the hiring role, I've occasionally used them. Some people believe they are a good impartial way to evaluate skills. Others believe you can gain the same info by talking to a person informally.
The big thing to remember is that the test should be "shades of grey" rather than "black or white". If you're not sure about an answer, but you can explain why you made that choice, it's better than leaving them with a yes/no answer.
I've seen good tests, with language specific questions (without being syntax nits) like 'What interfaces or classes would you need to extend to implement a J2EE EJB service?' and general questions like 'Describe 2 Gang of Four patterns and where you'd use them?' (Note, you get more points if you admit you don't know which patterns are in GOF than if you guess incorrectly).
I've seen bad tests, like when I was asked to implement a linked list in C. My response of "I wouldn't, I'd use STL", was badly received. Eventually, I got from them that they wanted to see that I could identify boundary conditions and likely places to mess up the pointer manipulations.
The worst are the downright ugly tests. At my previous job, HR asked some engineers why none of the candidates were passing the multiple choice programming exam they were given. It turns out that a third of the "answers" on the key were wrong, and another third were ambiguous because of the wording of the question (ie, both A and C could be argued to be correct).
To sum things up, expect questions related to the skills required for the job, questions related to the skills you've listed on your resume, and questions about general theory and good practices. Often you can get partial credit for a wrong answer if you explain yourself. Always be honest rather than improvising an answer that you don't know. And you can always ask to discuss any questions you get incorrect, so you can explain your thought processes.
I've got the DNRC (Dogbert's New Ruling Class) listed on my resume under my "Professional Memberships" section (along with the ACM, etc).
I've only had one person comment on it, and that was because they knew of a different DNRC group. However, they didn't even ask what this DNRC was after I told them I didn't know anything about the other group.
Either people never feel they have to question me about things they don't know about on my resume, or the people who recognize it know not to draw attention, but quietly boost my chances for job offers.
I've hit both kinds of head hunters...
The first I used was indeed a scummy fellow. Should have been tipped off when he said he got my name and number from a coworker of mine who was talking to him, but wouldn't tell me who. Sent me on a couple badly chosen interviews, and then lined me up with a good one.
The next time around, I was a lot more picky. Found several who didn't mind if I used several head hunters, dropped anyone who wanted an exclusive relationship with me. The most annoying ones were those who only accepted resumes in Word format, because they could then replace the head of your resume with their company logo and an anonymous candidate number so thata companies had to talk through the recruiter.
Some of them seem to find new companies simply by using Monster, but others have a "little black book" of companies that previous placements have liked and keep in touch with.
Anyway, one of them found me a awesome position, lined up interviews, and negotiated salary for me. Every 6 months or so he calls and checks how I'm doing, and asks if we have any openings coming up.
Overall, is's been a great, honest, professional relationship, and I haven't hesitated to refer him to other people looking for jobs. They are out there, you just have to look hard for them. The same way you have to look for those great, honest companies to work for...
After reviewing a lot of resumes, and doing technical interviews for my manager, I've seen that having a PhD can push things in either direction.
In some cases, we'll see a PhD, but since it's not in an area my company is using, that person will probably not be working in their field of choice. Additionally, having those extra letters may indicate a higher salary requirement, which may or may not fit the opening. If you're looking to hire a junior developer, you throw the PhDs out of the pile in the first round.
On the other hand, we recently hired a person with a PhD, even though we had to go to the CTO and create a position for her. Why? Because her PhD matched exactly with a huge need the company had. It's a perfect match all around, she gets a challenging job in her field of specialization, and we filled a very uncommon niche of domain knowledge.
As long as your PhD is applicable to what you want to do, it's an asset. If it only marginally relates to what you want to do, it may be more baggage than its worth.
Metrowerks CodeWarrior used to support the Yaroze. I can't find any current support for it (but they do support the PS2)
You might be able to find an older version of CodeWarrior for Playstation floating around somewhere like ebay...
I've been using TWiki for collaboration notes, and one of its features is a plugin for charting. It manages to draw jpegs and pngs using the perl GD module and the gd library.
Of course, you'd need to write your own server side to generate the chart you want, but these tools put you easily along that path.
I don't htink USA has any shortage of imaging tech., most probably trying to stop Saddam from buying the images
How are they going to stop bin Laden tho. , how long can they monopolize commercial satellites?
At least for satellite imaging companies in the United States, one of the conditions in order to get a imaging satellite license is to abide by US government regulations that include a list of 'denied parties' that cannot be sold to, and the ability to issue 'shutter control' directives for sensitive parts of the world.
Of course, these limitations can't be applied to foreign satellites (eg Russian, French or Indian), however, those satellites also do not have the same resolution capabilities as the US satellites.
There'd just be 2 varieties of first posts...
FPP: First Paid Post!
and
FUP: First Unpaid Post!
All it takes is a few trolls with some available cash...
Or rather, if they manage to buy either company, they still knock out at least one competing SCM pacakge.
Plus, Borland just bought StarBase, which produces the StarTeam SCM system, as seen in this press release. (Wow, just look at the way the Borland logo is plastered all over the StarBase website!)
So with Rational and Borland, they knock out 2 competitors in the SCM market!
It's also very hard with C/C++. The most you break on any system without very broken protection-handling is the faulty program itself.
Heh. Now, it's been a few years since I learned C, but I remember one of my first programs utilizing pointers managed to read and overwrite some of the memory resident OS code on a DOS box. (They were the only boxes available int he lab at that time.) It's a quick way to reduce the box to incoherant beeps and chirps while spewing bits of a memory resident executable to stdout until it grinds to an unresponsive halt.
Moving my code to a unix box later introduced me to core debugging after a segfault. What a difference that makes, being able to examine why a program used bad pointers, rather than letting you know it did by crashing the machine...
In addition to having already used the platypus for another title, O'Reilly is following a pattern of using various dogs for the MacOS X titles (Learning Cocoa, Learning Carbon, etc).
Even in 1996, I took a programming class in FORTRAN from a prof who believed that FORTRAN 77 was too "newfangled" to trust...
How about when they go away when you launch it in a debugger, with no code changes.
I ran into one of these in C++ in Solaris... I think it was a memory alignment issue. Loading the software in the debugger changed the memory allocations just enough that all the problems went away. Stop using the debugger, and they all pop back up again.
Or worse yet, bugs that only reveal themselves in the debugger because of subtle timing issues.
The software normally doesn't hit the race condition, but throw in a few break points and all hell breaks loose. That's a fun one to debug...
My company isn't going until tomorrow... but they are paying for the tickets.
I think that in addition to raising morale, they staved off some of the opening day absences by doing so. But on the other hand, I didn't see nearly as much pre-opening hype as there was for Episode I.
Oh well, I'll just be happy if Episode II is a decent flick.
Actually, "antipattern" is an accepted term in the pattern commnunity for describing a bad process or design that on the surface looks like a good idea. If a Pattern is a good practice distilled from the experiences of many good develoeprs, then an antipattern is a "gotcha" thathas been distilled from experience common to many good developers. This book describes it, but
the name really has nothing to do with Sun's practice of describing things in terms of patterns.
That's right. The AntiPattern is a well established idea, even marked by the publication of an AntiPatterns book just a few years after the publication of Design Patterns by the gang of four.