Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:Literate Programming (Score 1) 477

Reading carefully the piece they want to comment, is not a question of changing behavior, is a question of respect.

I wont argue this at all, but this is slashdot where you are lucky people even read the article. Everybody is an asshole here and everybody cherry picks from everybody else--including myself.

The problem then becomes, to be very blunt, if this wasn't Slashdot and everybody was respectful then nobody would have responded to you because quite honestly it was almost impossible to follow you. I honestly read your posts twice before attempting to reply--and quite frankly even that alone was more trouble than I really needed to spend. If I wasn't doing laundry right now, I wouldn't have even made it past the first sentance of your initial posts and gave up thinking "waste of time to figure out what the guy meant".

That translates into the real world too. My inbox is full of crap and maybe only 5% is useful and actionable. Given I can't spend the day sorting it--you think I'm even going to bother wasting time parsing stuff that is hard to follow?

How would you like if it was you?

I'd blame it on myself and figure out what I did wrong and how I can change my behavior.

The best advice on this topic comes from a religious text and while I dont usually quote from such things, quite frankly I've never seen this nugget better phrased:

God grant me the serenity
To accept the things I cannot change;
Courage to change the things I can;
And wisdom to know the difference.

You can't change how people read your writing. You can get angry at them for never understanding you and consequentially never actioning on your great ideas. Instead of always being angry, you can also realize maybe the fault lies within and it would be more productive to use your energy improving your communication.

How would you like if you were condemned to jail without an investigation?

But you aren't. You are posting a comment on slashdot that most people aren't reading, and those that do misunderstand. ...Gotta go put more stuff in the wash.

Comment Re:Literate Programming (Score 1) 477

I never said my post and my content is so important everyone else should just drop everything and change their entire behavior for me

It is implicit in your writing and frustration that nobody understands what the hell you are talking about. If "If someone wants to comment on someone else, they should at least pay attention to what that someone else really wrote first" isn't expecting people to change their behavior for you, I don't know what is.

They don't have time to read, but they have time to comment (sometimes very negatively in a non-constructive way)...

Welcome to Slashdot and every web form in existence :-)

PS: Pretty much my entire last comment can apply to coding as well. Well, kinda sorta.

Comment Re:Literate Programming (Score 1) 477

only that they're so used to read things fast and without really paying attention.

You can't expect people to change their reading style just to figure out what the hell your slashdot post means. Basically, you are saying that your post and its content is so important that everybody else must drop everything and change their entire behaviour for you. In fact, not only must they change their bevahour to what *you* think is right, but they are idiots because they haven't already You might not think what I just wrote it true, but your statement implies it.

Good writing is all about being humble and putting yourself in the readers shoes. Your reader is busy and has many other things going on. This is true here on slashdot where this is all done for shits and grins but it is even more true in real life.

Knowledge is power. If you can clearly communicate what you mean, that puts you much further ahead than somebody know knows more than you but cannot communicate well.

Comment Re:author seems somewhat confused and inexperience (Score 1) 477

And this is relevant to 99.9% of the software out there how?

"Facts" like this are what turn into programmer urban legends that haunt us forever. "Facts" like it is better to manually inline your code rather than let the compiler do it. "Facts" like if you are just copying a string you should do the pointer arithmetic yourself rather then "wasting space" pulling in the standard library for strncpy. "Facts" like with .NET you should always set variables to "null" to save memory. All rumors. All urban legends. All passed around like they are the truth.

When you make statements like yours, make sure to add *huge* guard bars. You comment only applies to a very, very narrow range of programs in the wild. In fact, if you worked on such a system you'd know this applies to you automatically.

In other words, your comment is garbage--write descriptive variable names and don't fucking worry about "saving memory" or "saving disk space" unless you are an complete idiot. If you are working on a system were long variables eat into your 10k of flash memory, then we can talk--though I'd question why you are embedding such detailed debug info in your device in the first place.

Comment Re:What is clear to one ... (Score 1) 477

As a Perl nerd myself, I'll include Perl too... I'm not talking about variable declaration, I'm talking about the fact that nothing is strongly typed.

It is an inate part of the language that makes it challenging to create intelligent IDE's that know the following snippet doesn't really make much sense:


my $HappyString = "Hi"

Fun($HappyString);

sub Fun {
    my $hashRefHere = shift;

    printf $$hashRefHere{'key'};

}

Yeah that will compile, but it is really a bug in your code (you passed basically a string to something that wants a hashref). Your IDE will never in a million years be smart enough to figure out that Fun($happyString) is a bug.

Nothing wrong with it, but it is just the nature of the language. Perl (and PHP, javascript, Python, Ruby, etc) dont do that kind of thing. The compiler and the IDE both need to know that the function Fun() wants only a hashref:


my [string] $HappyString = "Happy";

# ERROR: Cannot pass [string] into Fun(), expected [hashref]
Fun($HappyString);

sub Fun {
    my [hashref] $myHashRef = shift;
}

Comment Autocomplete (Score 1) 477

A good autocomplete implementation works just like tab completion in a good shell. Type as little of something as you need and hit tab.

Both Visual Studio and Eclipse auto complete seems to almost work as good as a tab completion in bash. A lot of the text editors I use usually have shitty implementations that pop up so soon they really dont even know what I'm trying to type. Honestly, I cannot even explain why the auto-complete in VS just works, nor can I explain why autocomplete in my text editor sucks--my fingers and brain both get along with one and fight the other.

I also wonder if those who abhor auto-complete are also people who are hunt & peck typists. If you are busy looking at the keyboard while you are typing, then any kind of auto-completion would be annoying. You might be typing away and not notice the focus has shifted from the code to some list.

Comment Re:What is clear to one ... (Score 1) 477

Using autocomplete allows you to get the wrong variable without noticing, and doesn't always get a compile error.

Assuming you are using a strongly typed language (C#, Java, etc) this is not a big deal. Namely because the odds of getting the wrong variable *and* the same type are pretty low.

For example you've got a string "HappyString" and a int, "HappyInt". If you wanted HappyString.Replace("hello", "world"), if it somehow thought you meant "HappyInt.Replace()", the compiler would blow up because int's dont have Replace().

Course, I can't really think of a time my IDE gave me the wrong variable (unless we are talking about case issues--HappyString vs happyString). I'd think if your IDE is always auto-completing with the wrong variable, your IDE probably really sucks and you should find a new one.

If we are talking languages like Perl, PHP, Javascript and whatnot, things are different--obviously.

Comment You aren't making sense (Score 1) 477

What do you mean "Approximately X"? The compiler and the computer do "Exactly X"... where X is what you tell it do to.

Are you suggesting there are languages that take my code and then instead of doing exactly what I wrote, they only kinda do what I wrote?

Really, I'm not sure what you mean. You seem to be operating and multiple levels. Are you talking programming languages, overall architecture, what?

Comment Re:And your definition of "clever" is? (Score 1) 477

knowing that calloc returns zeroed-out memory

The founder probably did this because back in the day he ran across some compiler with some bug that didn't always zero out the memory. That or he knew somebody who knew of a compiler that didn't always zero out the memory.

In my opinion, a lot of "optimizations" are really just programming urban legends. Somebody knew somebody who knew a guy who wrote the documentation for a compiler said that you should always bzero your calloc-ed memory. Somebody heard from somebody next to them in an airplane say that their brother works for Borland and you should always change x = x +1 into x++;. Then somebody else will mention their sisters cousin heard from a friend that it should really be ++x;. C seems notorious for this because a lot of these rumors were probably once true and are still passed down as gospel from people who worked on them (or knew somebody who did).

In other words, I take pretty much all of these "tricks" with a huge grain of salt. Until you show me the numbers, it is all rumor. Even then, if it makes the code hard to read and it isn't in a critical path (hint: 99.9% chance it is not), I dont care anyway--readability trumps everything.

The smartest words I ever heard about this are "If your compiler can't figure out what you meant and optimize it, get a new compiler". Good words to live by.

Comment Re:Issues I've had. (Score 1) 410

Indeed. Huge improvement in multi-monitor support right there! Tear a maximized window off a screen and shove it into another one.

Better, in Windows 7 you can shove a "normal" window up to the top of a screen and it will maximize. Tear a maximized window off the top and it will restore it to a normal window.

You can shove a window to the corner and it will fill a 1/2 of the screen.

You can "wiggle" a window and it will minimize all the other windows so it is just you, the desktop and your app. Wiggle it again, and all the other apps come back.

Comment Hey, you're the guy! (Score 1) 235

Your blog has been a great resource for me for a very long time. Thanks for all the informative posts... you were the only set of instructions that made sense for doing a binary upgrade :-)

Thank you sir!!!

Comment THe problem isn't the code... (Score 1) 124

The problem I've ran into with most OSS (and even paid) ecommerce systems is they dont understand basic accounting nor do they understand how a business operates.

Take zen-cart for example. When a customer cancels an order, what is the proper thing to do? Well, I'll tell you what *isn't* the proper thing... DELETE THE ORDER FROM THE DATABASE!!

The second I found out that the way to hide/cancel an order was deleting it from the database, I ran away from zen-cart. You never delete an order... what if you got audited? What if the customer wanted to actually go ahead with the order? What if you wanted to get a report on the number of canceled orders? You can't if you delete the damn thing from the database!!

Really, the problem is these products had their interface designed to suit their database schema. In reality, the design and workflow should come first, and the database schema should fall out of that.

Comment Good lord, I thought nerds were pro-sushi (Score 0, Troll) 554

But obviously not on Slashdot. Heavens no! That would be to "mainstream" and not hyper-jaded.

On Slashdot, you are against Mice, Camera Phones, Color Monitors, mass distributed virtual server networks (aka cloud computing), HTML that includes images, any font besides times new roman, any system that uses more than a 32-bit address bus, any binary that is more than 30kb, any programming language that isn't C, any innovation that wasn't included in the original Unics systems, and now I guess raw fish too.

Good lord. I thought this site was for tech-loving nerds but Slashdot is increasingly a cave for modern-day Luddites to hide in.

Raw Tuna is good. Very good. So is pretty much all those other things some of you Luddites whine about. If you don't like them because it might make you "mainstream" or might go against some stupid "principle" you have, you are seriously missing out. But to not enjoy is your loss and your loss alone. Not mine and certainly not societies either.

Spicy Tuna Rolls. Yum.

Slashdot Top Deals

It is easier to write an incorrect program than understand a correct one.

Working...