|
Joel Palmer wrote: If someone thinks my code is so interesting that they go through the pain of hacking MS for it... then, they'll be sadly disappointed.
You make some good points
My blog[ ^]
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
When I develop software I want the process to be repeatable. E.G. I want to be able to use a fresh machine, re-install the tools and rebuild my software from source code.
With cloud tools I do not have any control over whether or not I can re-create a particular version of my code.
You may ask why don't I use the cloud for quick experiments or hobby? The answer may be unsatisfying, but I simply don't like to develop and learn complete new processes for quick experiments when I am in a deep rut of doing it professionally without big hurdles and everything is ready.
|
|
|
|
|
Been doing web development as of late.
Today I thought I had created an infinite loop in JavaScript. I was debugging a web page using FireBug in FireFox.
As I loaded my page the code stopped at my breakpoint, I hit F5 to continue and... The code stopped at my breakpoint, I hit F5 to continue and... The code stopped at my breakpoint, I hit F5 to continue and... Infinite loop.
I've looked for the bug at least 30 minutes.
Then I realized my browser wasn't Visual Studio and F5 isn't the Continue button...
My blog[ ^]
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
I once had to fix some code in ArcView 3.0. I was stuck on a piece of syntax and did what any reasonable Windows programmer would do. I highlighted the keyword and hit F1.
.... bang, 20 minutes of work gone!
ArcView 3 was a sleezy ESRI ("sleezy" is probably redundant here) port from UNIX.
Life is like a s**t sandwich; the more bread you have, the less s**t you eat.
|
|
|
|
|
Ouch, at least I could laugh about my little silly mistake...
My blog[ ^]
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
ArcView 3 was nothing to laugh at - trust me!
On a side rant, historically ESRI has a lot to answer for:
- ArcView 3 for Windows (as mentioned above). Sometimes it would crash if you didn't do anything at all!
- Not supporting compound key relationships to joined tables (in fact, be careful using anything other than a long int!)
- Documentation versus user support (and documentation AND user support): I once contacted them for something in MapObjects that made no sense. Apart from the support stating the opposite of what was in the documentation (and still making no sense) they told me the behaviour was by design (not a chance!)
- Arbitrarily changing the ArcObjects COM API between functions and subs and vice-versa, so breaking client code
- Their ridiculous licencing model and enforcement tools (which broke my abstraction layer solution to the previous point)
- There are almost certainly many more that I have successfully purged from my brain
To be fair, ESRI are much better now than they used to be. I subscribe to another (closed community) technical forum that has a strong ESRI bias. My "signature" there is a misquote from H2G2: "ESRI: A bunch of mindless jerks who'll be the first against the wall when the revolution comes". Harsh I know, but it seems to garner a lot of agreement form the GIS community!
Life is like a s**t sandwich; the more bread you have, the less s**t you eat.
|
|
|
|
|
So what happened?
What do you get when you cross a joke with a rhetorical question?
---
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
---
Do questions with multiple question marks annoy you???
|
|
|
|
|
Sorry, I took that as given. The damn thing crashed!
To be fair, you didn't have to hit F1 to crash it, it was happy to crash for no reason. F1 just guaranteed the crash (at least when editing code).
Life is like a s**t sandwich; the more bread you have, the less s**t you eat.
|
|
|
|
|
Ouch.
What do you get when you cross a joke with a rhetorical question?
---
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
---
Do questions with multiple question marks annoy you???
|
|
|
|
|
I have a love/hate relationship with ESRI
... I love hating them!
Fortunately, these days that's an SEP (Somebody Else's Problem - therefore invisible) as I don't have to touch their stuff myself!
Life is like a s**t sandwich; the more bread you have, the less s**t you eat.
|
|
|
|
|
I keep doing that with Outlook to refresh the mail list...should be using F9, damnit!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Although not disastrous switching between Borland and Microsoft is annoying, F9 and F5 are opposite !
|
|
|
|
|
Now the time to reconfigure Visual Studio keys...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
I was doing Javascript for about 3 months before I realised it had a forEach function.
I got it into my head it didn't, so my older code is littered with me looping through arrays like this:
for(var i = 0; i < myArray.length; i++){
var thisItem = myArray[i];
}
Instead of:
myArray.forEach(function(thisItem){
});
Maybe I should have taken that job at Mcdonalds
|
|
|
|
|
Ah well, I've seen worse.
Every project has "before-we-knew-X-stuff"
My blog[ ^]
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
For is generally faster than foreach , but I guess if you were interested in speed you wouldn't be using Javascript.
|
|
|
|
|
So I could just claim my older code is my newer code and say I switched to for loops to make it faster?
Nice.
|
|
|
|
|
|
You can also do this...
for(var i in myArray){
var thisItem = myArray[i];
}
Jeremy Falcon
|
|
|
|
|
Did not know that either, thanks
|
|
|
|
|
Which works well until you include an external library that extends Array.prototype with a custom property.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
What you're saying is pointless. If I screw with existing members of a native type then duh of course things will break. Only a fool would write a lib that did that, so there's no point in even pointing it out. With that being said...
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
Array.prototype.remove = function(member) {
var index = this.indexOf(member);
if (index > -1) this.splice(index, 1);
return this;
}
var myArray = ['poppy', 'sesame', 'plain'].remove('poppy');
for(var x in myArray) console.log(myArray[x]);
</script>
</head>
<body>
<p>Oh gee, common sense gets ignored again.</p>
</body>
</html>
Jeremy Falcon
|
|
|
|
|
|
|
The thing is, the "wrong" way you were doing it was probably faster.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|