View mode: basic / threaded / horizontal-split · Log in · Help
September 21, 2012
Re: [OT] Was: totally satisfied :D
On Fri, 21 Sep 2012 22:13:22 +0200
"Paulo Pinto" <pjmlp@progtools.org> wrote:

> On Friday, 21 September 2012 at 19:09:48 UTC, H. S. Teoh wrote:
> >
> > The saddest thing is that people are paying big bucks for this 
> > kind of
> > "enterprise" code. It's one of those things that make me never 
> > want to
> > pay for *any* kind of software... why waste the money when you 
> > can
> > download the OSS version for free? Yeah a lot of OSS code is 
> > crap, but
> > it's not like it's any worse than the crap you pay for.
> >
> 
> Welcome to my world. As a Fortune 500 outsourcing consulting 
> company
> employee, I see this type of code everyday.
> 

I find it depressing to see just how *easy* it is to have
dailywtf-worthy material. They anonymized my name as Nate here:

http://thedailywtf.com/Articles/We_Have_Met_the_Enemy.aspx

Note also that the "' ...code here" and "' ...more code here" sections
were typically HUGE.

And that was only scratching the surface of the lunacy that was going
on there - both in and out of the codebase.

I've been sticking to contract stuff now, largely because I really
just can't take that sort of insanity anymore (not that I ever could).
If I ever needed to go back to 9-5 code, or cubicles, or open-floorplan
warrooms, I'd *really* be in trouble.
September 21, 2012
Re: [OT] Was: totally satisfied :D
On Fri, Sep 21, 2012 at 05:38:06PM -0400, Nick Sabalausky wrote:
> On Fri, 21 Sep 2012 22:13:22 +0200
> "Paulo Pinto" <pjmlp@progtools.org> wrote:
> 
> > On Friday, 21 September 2012 at 19:09:48 UTC, H. S. Teoh wrote:
> > >
> > > The saddest thing is that people are paying big bucks for this
> > > kind of "enterprise" code. It's one of those things that make me
> > > never want to pay for *any* kind of software... why waste the
> > > money when you can download the OSS version for free? Yeah a lot
> > > of OSS code is crap, but it's not like it's any worse than the
> > > crap you pay for.
> > >
> > 
> > Welcome to my world. As a Fortune 500 outsourcing consulting company
> > employee, I see this type of code everyday.
> > 
> 
> I find it depressing to see just how *easy* it is to have
> dailywtf-worthy material. They anonymized my name as Nate here:
> 
> http://thedailywtf.com/Articles/We_Have_Met_the_Enemy.aspx

LOL... I should submit the ipv6 prefix checking code that does
conversion to string.

The sad part is that so many of the commenters have no idea that
adjacent C literals are concatenated at compile-time. It's a very nice
way to put long strings in code and have it nicely indented, something
that is sorely lacking in most languages. But regardless, why are they
posting if they clearly don't know C that well?!


> Note also that the "' ...code here" and "' ...more code here" sections
> were typically HUGE.

Speaking of 1000-line functions... yeah I routinely work with those
monsters. They tend to also have a ridiculously long list of parameters,
which over the history of the function have been added one by one as
people felt the need for Yet Another Variation on the function's
capabilities.  Most of those parameters are either meaningless or
ignored most of the time (necessitating ridiculously long lists of
null/dummy values every single time the function is called), save for
one or two exceptional cases when most of the *other* parameters aren't
needed. Calling the function with unforeseen combinations of parameters
usually triggers a bug caused by unexpected interactions between
parameters that were assumed to be independent.


> And that was only scratching the surface of the lunacy that was going
> on there - both in and out of the codebase.

I have seen code whose function names are along the lines of "do_it()"
and "do_everything()". As well as "do_main()" and
"${program_name}_main()" in addition to "main()".


> I've been sticking to contract stuff now, largely because I really
> just can't take that sort of insanity anymore (not that I ever could).
> If I ever needed to go back to 9-5 code, or cubicles, or
> open-floorplan warrooms, I'd *really* be in trouble.

I really should start doing contract work. Being stuck with the same
project and dealing with the same stupid code that never gets fixed is
just very taxing on the nerves.


T

-- 
Blunt statements really don't have a point.
September 22, 2012
Re: [OT] Was: totally satisfied :D
On Friday, 21 September 2012 at 21:37:23 UTC, Nick Sabalausky 
wrote:
> On Fri, 21 Sep 2012 22:13:22 +0200
> "Paulo Pinto" <pjmlp@progtools.org> wrote:
>
>> On Friday, 21 September 2012 at 19:09:48 UTC, H. S. Teoh wrote:
>> >
>> > The saddest thing is that people are paying big bucks for 
>> > this kind of
>> > "enterprise" code. It's one of those things that make me 
>> > never want to
>> > pay for *any* kind of software... why waste the money when 
>> > you can
>> > download the OSS version for free? Yeah a lot of OSS code is 
>> > crap, but
>> > it's not like it's any worse than the crap you pay for.
>> >
>> 
>> Welcome to my world. As a Fortune 500 outsourcing consulting 
>> company
>> employee, I see this type of code everyday.
>> 
>
> I find it depressing to see just how *easy* it is to have
> dailywtf-worthy material. They anonymized my name as Nate here:
>
> http://thedailywtf.com/Articles/We_Have_Met_the_Enemy.aspx
>
> Note also that the "' ...code here" and "' ...more code here" 
> sections
> were typically HUGE.
>
> And that was only scratching the surface of the lunacy that was 
> going
> on there - both in and out of the codebase.
>
> I've been sticking to contract stuff now, largely because I 
> really
> just can't take that sort of insanity anymore (not that I ever 
> could).
> If I ever needed to go back to 9-5 code, or cubicles, or 
> open-floorplan
> warrooms, I'd *really* be in trouble.

One of the reasons that keeps me in the company is the offer 
around
my area. Many of the other companies I would work for, are the 
same
type or I will be forced to switch region for something better.

--
Paulo
September 22, 2012
Re: [OT] Was: totally satisfied :D
On Fri, 21 Sep 2012 15:37:46 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> 
> The sad part is that so many of the commenters have no idea that
> adjacent C literals are concatenated at compile-time. It's a very nice
> way to put long strings in code and have it nicely indented, something
> that is sorely lacking in most languages. But regardless, why are they
> posting if they clearly don't know C that well?!
> 

Heh, actually I didn't even know about it until I learned it from D
and then learned that D got it from C (does D still do it, or is that
one of those "to be deprecated" things?)

But then dealing with strings is something I generally tried to avoid
in C anyway ;)

> 
> > Note also that the "' ...code here" and "' ...more code here"
> > sections were typically HUGE.
> 
> Speaking of 1000-line functions... yeah I routinely work with those
> monsters.

*cough* DMD's main() *cough*  ;)

Although it's actually, surprisingly, not too bad in DMD's case, all
things considered. Took me by surprise at first though, I really wasn't
expecting it.


> > And that was only scratching the surface of the lunacy that was
> > going on there - both in and out of the codebase.
> 
> I have seen code whose function names are along the lines of "do_it()"
> and "do_everything()". As well as "do_main()" and
> "${program_name}_main()" in addition to "main()".
> 

What really gets me is that these are the sorts of things that are
harped on in chapter 1 of just about any decent "intro to programming"
book. So where did these people even learn to code in the first place?

Heck, back in college, I used to be a CS tutor for first semester
programming students. Even *they* wrote better code, no exaggeration.
(Well, except for the handful of students, and I could always tell which
ones they were, who were from the class of Mrs. "Let's Teach OOP
*Before* Basic Flow Of Execution". Those poor students couldn't write
*any* code, let alone good or bad code. I felt bad for them.) 

> 
> > I've been sticking to contract stuff now, largely because I really
> > just can't take that sort of insanity anymore (not that I ever
> > could). If I ever needed to go back to 9-5 code, or cubicles, or
> > open-floorplan warrooms, I'd *really* be in trouble.
> 
> I really should start doing contract work. Being stuck with the same
> project and dealing with the same stupid code that never gets fixed is
> just very taxing on the nerves.
> 

Yea, contract has it's upsides, although naturally it has it's own
perils too. Making a living at it is *damn* hard (either that or I'm
just REALLY bad at self-employment...but it's probably both), and
frankly I'm still trying to figure out how to do it.

And you can forget about health care if you're in the US: Non-group
premiums on insurance (read: legalized casinos without the neon lights
and cocktails) are just as expensive as paying out-of-pocket (remember,
the house *always* has the advantage), and that's if you're lucky enough
to have never had a gap in coverage. If you have, then your premiums
are literally buying you nothing unless you *ahem* "win" and get mangled
by a car or get a terminal disease or something.

Not to discourage you though. Everything sucks, it's just finding a
"suck" that you can live with, y'know ;) Personally, I'm still
looking...
September 24, 2012
Re: [OT] Was: totally satisfied :D
On Sat, Sep 22, 2012 at 03:48:49AM -0400, Nick Sabalausky wrote:
> On Fri, 21 Sep 2012 15:37:46 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> > 
> > The sad part is that so many of the commenters have no idea that
> > adjacent C literals are concatenated at compile-time. It's a very
> > nice way to put long strings in code and have it nicely indented,
> > something that is sorely lacking in most languages. But regardless,
> > why are they posting if they clearly don't know C that well?!
> > 
> 
> Heh, actually I didn't even know about it until I learned it from D
> and then learned that D got it from C (does D still do it, or is that
> one of those "to be deprecated" things?)

Heh. I suppose in any language complex enough to be interesting there
are always some things that you don't know about until a long time
later. :) So maybe I was a bit harsh on the commenters. But still, they
should've checked before they posted (but then I'm guilty of that one
too).


> But then dealing with strings is something I generally tried to avoid
> in C anyway ;)

Yeah... D is just so much more comfortable to write when dealing with
strings. With std.regex in Phobos now, writing string-processing code in
D is almost as comfortable as Perl, and probably performs better too.


> > > Note also that the "' ...code here" and "' ...more code here"
> > > sections were typically HUGE.
> > 
> > Speaking of 1000-line functions... yeah I routinely work with those
> > monsters.
> 
> *cough* DMD's main() *cough*  ;)
> 
> Although it's actually, surprisingly, not too bad in DMD's case, all
> things considered. Took me by surprise at first though, I really
> wasn't expecting it.

I haven't followed this rule to the letter all the time, but usually I
consider that if a function doesn't read like pseudo-code, then you're
doing something wrong. What I mean is, it should read like steps of an
algorithm that makes sense when you read it, for example, "initialize
data structure X to empty, loop over input items, transform data and
store in X, return result" should map to something like:

	Result func(Input input) {
		auto result = X();
		foreach (item; input) {
			auto x = transform(item);
			result.add(x);
		}
		return result;
	}

That is, the detailed steps in transform() shouldn't pollute the main
code in func(), but should remain as a separate function. Ditto with
X.add(), which may involve a complicated series of steps.

As soon as you start having a whole bunch of code at different levels of
abstraction mixed together, you know it's time to split them up into
separate functions, 'cos chances are you'll need to use each piece
independently one day.


[...]
> > I have seen code whose function names are along the lines of
> > "do_it()" and "do_everything()". As well as "do_main()" and
> > "${program_name}_main()" in addition to "main()".
> > 
> 
> What really gets me is that these are the sorts of things that are
> harped on in chapter 1 of just about any decent "intro to programming"
> book. So where did these people even learn to code in the first place?

Probably from a youtube video on how to write your own lame Flash game.
:-P  OK, I'm being a bit harsh. But it's hard not to be cynical when
you've seen the kind of code that passes for "enterprise software" these
days.


> Heck, back in college, I used to be a CS tutor for first semester
> programming students. Even *they* wrote better code, no exaggeration.

Totally. I've been a teaching assistant before, and we made sure to
drill sound programming practices into the students early, and often.
Makes me wonder where all these students went after they graduated, 'cos
the people writing code in the workforce don't seem to be the same
people who attended these courses. Strange.


> (Well, except for the handful of students, and I could always tell
> which ones they were, who were from the class of Mrs. "Let's Teach OOP
> *Before* Basic Flow Of Execution". Those poor students couldn't write
> *any* code, let alone good or bad code. I felt bad for them.) 

Speaking of students who couldn't code...  I used to give out "sympathy
marks" for struggling students. Y'know, their code was so bad, like code
that obviously didn't compile or work, or code with comments written in
a way that suggested the student thought that if they pleaded hard
enough verbally the computer might *just* do what they wanted it to do
-- they had to get a failing mark, but I tried to find excuses to not
give them an outright zero. But one time, after marking a bunch of 15-20
page assignments (complete with intro, description, code, test results,
etc.), I came across a submission consisting of a single sheet of paper
*hand-written* on a single side.  I was boggled for a good moment.  It
was like... I was trying not to give anyone an outright zero but she
gave me no choice, y'know?  What was the point of handing that piece of
paper if she wasn't even going to make the effort of using the lab
*printer*, for crying out loud.

What's scary is that sometimes I wonder if that girl would've done a
better job at the kind of "enterprise" code I see every now and then.
At least her inability to code (or use a computer, for that matter)
would be obvious, instead of the kind of garbage that passes for code,
compiles, and apparently works (and somehow passes code review) but has
so many things wrong with it that it makes you face-palm, many, many
times.


> > > I've been sticking to contract stuff now, largely because I really
> > > just can't take that sort of insanity anymore (not that I ever
> > > could). If I ever needed to go back to 9-5 code, or cubicles, or
> > > open-floorplan warrooms, I'd *really* be in trouble.
> > 
> > I really should start doing contract work. Being stuck with the same
> > project and dealing with the same stupid code that never gets fixed
> > is just very taxing on the nerves.
> > 
> 
> Yea, contract has it's upsides, although naturally it has it's own
> perils too. Making a living at it is *damn* hard (either that or I'm
> just REALLY bad at self-employment...but it's probably both), and
> frankly I'm still trying to figure out how to do it.
[...]

True. I suppose you just have to do what's most popular out there right
now. I know someone who does Java stuff, and he's never short on
contracts. In fact, he gets to choose his vacations 'cos he has enough
options in terms of which contracts he chooses to bid on.


T

-- 
"Maybe" is a strange word.  When mom or dad says it it means "yes", but
when my big brothers say it it means "no"! -- PJ jr.
September 24, 2012
Re: [OT] Was: totally satisfied :D
On Monday, 24 September 2012 at 05:45:11 UTC, H. S. Teoh wrote:
> On Sat, Sep 22, 2012 at 03:48:49AM -0400, Nick Sabalausky wrote:
>> On Fri, 21 Sep 2012 15:37:46 -0700
>> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
>> > 
>> > The sad part is that so many of the commenters have no idea 
>> > that
>> > adjacent C literals are concatenated at compile-time. It's a 
>> > very
>> > nice way to put long strings in code and have it nicely 
>> > indented,
>> > something that is sorely lacking in most languages. But 
>> > regardless,
>> > why are they posting if they clearly don't know C that well?!
>> > 
>> 
>> Heh, actually I didn't even know about it until I learned it 
>> from D
>> and then learned that D got it from C (does D still do it, or 
>> is that
>> one of those "to be deprecated" things?)
>
> Heh. I suppose in any language complex enough to be interesting 
> there
> are always some things that you don't know about until a long 
> time
> later. :) So maybe I was a bit harsh on the commenters. But 
> still, they
> should've checked before they posted (but then I'm guilty of 
> that one
> too).
>
>
>> But then dealing with strings is something I generally tried 
>> to avoid
>> in C anyway ;)
>
> Yeah... D is just so much more comfortable to write when 
> dealing with
> strings. With std.regex in Phobos now, writing 
> string-processing code in
> D is almost as comfortable as Perl, and probably performs 
> better too.

Having learned Turbo Pascal before I delved into C, the language
always felt pre-historic to me. Strings were a joke compared with
what Turbo Pascal offered, lack of modules and so forth.

After high-school, I only touched C in the university assignments
that made use of it, or in legacy code at my first job.

I would rather use C++ instead, which gave me back a bit of what
I've lost in the Turbo Pascal -> C transition, plus much more.


>> [...]
>> 
>> Yea, contract has it's upsides, although naturally it has it's 
>> own
>> perils too. Making a living at it is *damn* hard (either that 
>> or I'm
>> just REALLY bad at self-employment...but it's probably both), 
>> and
>> frankly I'm still trying to figure out how to do it.
> [...]
>
> True. I suppose you just have to do what's most popular out 
> there right
> now. I know someone who does Java stuff, and he's never short on
> contracts. In fact, he gets to choose his vacations 'cos he has 
> enough
> options in terms of which contracts he chooses to bid on.
>
>
> T

That is why I stopped being religious about technology.

If the customer pays for doing a something in language X, 
operating system Y, that is all that counts for me at the end of 
the day.

Otherwise you are forced to travel a lot, if you only do certain 
types of technologies.

--
Paulo
September 24, 2012
Re: [OT] Was: totally satisfied :D
On Sun, 23 Sep 2012 22:47:58 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:

[...]
> 
> As soon as you start having a whole bunch of code at different levels
> of abstraction mixed together, you know it's time to split them up
> into separate functions, 'cos chances are you'll need to use each
> piece independently one day.
> 

Yea, I feel the same way: Code should operate at one level of
abstraction. At least ideally. I don't always adhere hard-and-fast to
it either because sometimes "getting it done" is more important than
"getting it perfect" (not to say that excuses *really* bad
enterprisey code). And sometimes you *can't* stick to one level due to
performance or language limitations (depending on the language). But
whenever reasonably possible, the rule of thumb: One level of
abstraction per function.

Along similar lines, there's another rule-of-thumb that I actually did
pick up in college (and oddly enough, from the "Let's teach
first-time beginners OOP, ie code architecture, before
flow-of-execution" instructor): If a function is more than one
screenful, it's probably too long.

Now obviously that can't and shouldn't be used as a hard-and-fast rule,
but I've found it a sensible rough guideline. Although I'm much more
relaxed about it now than I used to be...and even *moreso* now
that I'm on one of these annoying half-height short-screens, erm, I
mean "widescreen" ;)


> 
> [...]
> > 
> > What really gets me is that these are the sorts of things that are
> > harped on in chapter 1 of just about any decent "intro to
> > programming" book. So where did these people even learn to code in
> > the first place?
> 
> Probably from a youtube video on how to write your own lame Flash
> game. :-P  OK, I'm being a bit harsh. But it's hard not to be cynical
> when you've seen the kind of code that passes for "enterprise
> software" these days.
> 

Maybe it's just because I'm just beyond the snapping point, too, but I
don't think it's possible to be too harsh on such code, or anything
involving Flash ;)


> > (Well, except for the handful of students, and I could always tell
> > which ones they were, who were from the class of Mrs. "Let's Teach
> > OOP *Before* Basic Flow Of Execution". Those poor students couldn't
> > write *any* code, let alone good or bad code. I felt bad for them.) 
> 
> Speaking of students who couldn't code...  I used to give out
> "sympathy marks" for struggling students. Y'know, their code was so
> bad, like code that obviously didn't compile or work, or code with
> comments written in a way that suggested the student thought that if
> they pleaded hard enough verbally the computer might *just* do what
> they wanted it to do -- they had to get a failing mark, but I tried
> to find excuses to not give them an outright zero. But one time,
> after marking a bunch of 15-20 page assignments (complete with intro,
> description, code, test results, etc.), I came across a submission
> consisting of a single sheet of paper *hand-written* on a single
> side.  I was boggled for a good moment.  It was like... I was trying
> not to give anyone an outright zero but she gave me no choice,
> y'know?  What was the point of handing that piece of paper if she
> wasn't even going to make the effort of using the lab *printer*, for
> crying out loud.
> 

Ouch. Yea.

I think I actually got a sympathy "pass" in German 101. I barely
scraped by with a "D-" overall, but if you went strictly by the numbers
and class rules it really should have been an F. I think she knew I was
at least trying and struggling though.

Ironically, the only reason I even took it was because I was having
trouble getting through the school's "4 semesters of the same foreign
language" requirement when I went with Japanese. Little did I know
German would be *far* harder. "Oh, yea, go with German - it's the
closest language to English!" Yea, I think that's actually what made it
so hard ;) That, and gendered words.
September 24, 2012
Re: [OT] Was: totally satisfied :D
On Fri, 21 Sep 2012 17:22:32 -0400, Nick Sabalausky  
<SeeWebsiteToContactMe@semitwist.com> wrote:

> On Fri, 21 Sep 2012 08:24:07 -0400
> "Steven Schveighoffer" <schveiguy@yahoo.com> wrote:
>>
>> That works too, but doesn't warrant rants about how you haven't
>> learned how to use the fucking thing :)
>>
>
> It's *volume* controls, there doesn't need to be *anything* to learn.

OK, so this is what you'd rather have:

1. Want to listen to music in the library on my headphones.  But I have  
the silent switch on to prevent calls, and since there is only one volume,  
I have to turn it off, and turn up the volume.  Then a phone call arrives,  
and I can't make that silent because it's all the same volume, bothers  
everyone else in the library.

2. Want my ringer as high as possible so I can hear it when a call  
arrives.  But I start playing a game, and it BLASTS the initial music have  
to quicky turn down the volume.

No, I think the current design, while not perfect, is *WAY* better than a  
single volume.  I would rather actually have *more* granularity in  
volume.  Doing it your way means everyone, not just you, needs to fiddle  
with the volume knob for every single thing they want to do.  That may  
make you happy, but it would piss off the rest of the users :)

>>
>> 1. ringer volume affects all sounds except for music/video/games
>> 2. Silent switch will ringer volume to 0 for all sounds except for
>> find-my-iphone and alarm clock
>> 3. If playing a game/video/music, the volume buttons affect that
>> volume, otherwise, they affect ringer volume.
>>
>> Wow, you are right, three whole rules.
>
> And each one with exceptions, the rules as a whole aren't particularly
> intuitive.

They aren't?  They make complete sense to me.  You even admit that it  
makes sense to have find my iphone play its alerts as loud as possible.  I  
contend that if you use alarm clock what it is for, (i.e. waking you up)  
there is no problem there either.  Those are the only exceptions.

Besides, you don't have to "memorize" these rules, most of the time, it is  
what a normal person would expect.

> And then there's the question of what rules you forgot. I can think of
> one right now:
>
> 4. If you're in the camera app then the volume button takes a picture
> instead of adjusting volume.

I admit, I completely forgot about this one.  Simply because I rarely use  
it :)  It was a gimmicky feature, and doesn't hurt anything, but I find it  
unusable, simply because my natural inclination, being a right-handed  
person, is to rotate the phone left to go into landscape mode, If I want  
to use the button, my sequence is to rotate left, then realize the  
button's on the other side, flip 180 degrees, then realize my finger is in  
front of the lens, etc.  I think this is essentially an orthogonal problem  
because there is no volume control in camera, and that "feature" doesn't  
interfere with any other use of the phone.  When I read about it though, I  
thought it was a good idea.

Interestingly enough, Apple doesn't even *let* you use the volume control  
for anything but volume in your own apps.  Doing it is clunky in any case,  
you have to take over the volume, disable anything that is playing, then  
make sure the volume is not at min/max.  When you detect the "volume" goes  
up or down, take action, then reset the volume.  Very lame.

>> That's way more than 1.  I stand corrected :)
>>
>
> Now compare that to a normal device:
>
> 1. The volume control adjusts the volume.
>
> Gee, how horrible to have one trivially intuitive rule and no
> exceptions.

Right, and now I'm stuck in "Nick mode", where I'm constantly worrying  
about and changing the volume to deal with the current situation.  No  
thanks.

> Bottom line, they took something trivial, complicated it, and people
> hail them as genius visionaries.

s/complicated/improved/

This isn't really genius, nor is it unprecedented (iPhone is not the first  
to control ringer and game/music volume separately).  It's just common  
sense.

>> > You might like Win7. It's very Mac-like out-of-the-box which is
>> > exactly why I hate it ;)
>>
>> No, it's nowhere near the same level.  I have Win 7, had it from the
>> day of its release, and while it's WAY better than XP,
>
> Heh, yea I had a feeling. Like I said, Win7 is very Mac-like as far as
> windows goes. I find it interesting that while I absolutely can't stand
> Win7 (at least without *heavy* non-standard configuring and some
> hacks), Mac people OTOH tend to see it as a big improvement over XP.
> It's Microsoft OSX.

I wasn't a mac user until november of last year.  And even then I didn't  
start using it in earnest until February of this year, when my iOS side  
business picked up.  I still used my Linux laptop for almost everything  
else, and my Win7 machine at home.  I barely used the Mac, and that was  
just to run xcode.

About 4 months ago, I had to start developing for an arm-based  
single-board-computer.  The manufacturer provided a fully-configured  
VMWare Linux image.  Only option for the MAC was to try/buy VMWare Fusion  
(VMWare does not make a free VMWare player for Mac, and it was required  
that this run on the Mac).

So I bought VMWare Fusion.  Once I realized, I could run all my other  
Linux development for my day-job under a VMWare image, and I could run an  
old copy of XP Pro that I had purchased a long time ago, I could simply  
use my Mac for all business-related tasks.

I decided to try switching, took about a week to transfer all my stuff  
over.  Loving it ever since.

So no, I'm not a MAC person, I'm a Unix/Linux person.  But Mac seems to  
have done Unix better than Linux :)  And with VMWare Fusion, I can run MS  
office (no not MAC office, which is crap AIUI) when I need it.


> Well, we can make any OS look good by picking one nice feature.
>
> And personally, I actually like that shutdown serves as a "close all".
> There's a number of programs that do have settings for roughly "when
> starting, resume wherever I left off last time". I always end up
> turning that off because it just means I usually have to close whatever
> it auto-opened anyway. When I close/exit/etc something, it's generally
> because I'm done with that task. So auto-resumes just get in
> my way. OS is the same thing: If it auto-resumed everything, then I
> would just have to go closing most of it myself. Makes more work for
> me in it's quest to be "helpful".

It was an example.  But it was one that I noticed right away coming from  
Ubuntu with Unity.  Unity tries to be very MAC-like, but is fighting and  
strong-arming applications into compliance.  It doesn't always work.

For example, Netbeans still has a menu bar, even though Unity tries to put  
the menu bar at the top of the screen.  So it ends up with 2 menu bars,  
the one at the top being empty.  And Unity's feature of "searching all  
menu options" (also a mac ripoff) doesn't work in those apps.

If I had to summarize why I like MacOS better than windows -- the GUI is a  
complete GUI, and as good as Windows (unlike Linux), but it does Unix  
*SOOO* much better than cygwin.  I feel like I get the best of all worlds.

And don't get me started on the trackpad.  I *hated* using my Dell  
touchpad on my Linux laptop every time after I had been using my Mac  
trackpad.

The one thing I would rip out of OSX and throw against the wall is the  
mail app.  Its interface and experience is awesome.  But it frequently  
corrupts messages and doesn't properly save outgoing mail.  Not good for a  
mail application.

>> Interesting that's what you see as the defining point of that
>> story :)
>
> It's a story that always did stike me as odd: Here we have a grown
> man (one who was *well known* to be unstable, asinine, drug-soaked and
> frankly, borderline megalomaniacal) that's going around throwing
> tantrums, and largely because he doesn't understand "cover" or "case"
> or what obviously happens to plastic when you bash keys against it, and
> it gets interpreted by millions as "Wow, look how great he was!" I don't
> get it.

Having amassed more money than US treasury, based on his ideas and hard  
work, seems to suggest he was pretty successful :)  Not that I completely  
equate money with greatness, but if success of a product is measured by  
how well it sells, then he was very great.  Present company  
notwithstanding, most people like apple products and think they are  
good/best of breed.

I think in order to succeed in producing a good product, you have to kind  
of have a somewhat high opinion of yourself, and having the balls to take  
risks on designs that may not be popular but, when engineered correct,  
produce a superior product.  Imagine how D would be if Walter allowed  
every idea that came across the newsgroup to be implemented.  I hated the  
idea of unshared-by-default, but now I think it's probably the most  
important improvement to the language so far.  Not by itself, but the  
things it enables.

>
>> Especially considering your calm, controlled statements
>> about Apple products...
>>
>
> Heh, well, like I said my hatred for Apple and Apple products comes
> from having used them and been around them. I actually *liked* my OSX
> machine when I first got it. And then it, and the whole Jobs culture,
> and the way Apple runs their business, successfully turned me against
> Apple. And now I have this iPhone which, while having even been *useful*
> when out-of-town when I first got it - due to it essentially being a
> wirelessly internet-connected PDA - everything else about it just makes
> me want to smash it into a concrete wall nearly every time I use it.
> And I've never had that temptation from *any* other device before (hard
> as that may be to believe ;) )
>

I think if it didn't have a big apple symbol on the back, you would be  
less inclined to try and destroy it :)  Just my opinion.

I have brands that I hate too due to prior experience too.  I'm sure you  
would be able to find anyone who *hates* a certain brand of car because  
they bought a lemon from them at one time, even though statistics show  
there are *always* some bad apples (no pun intended) in otherwise good  
products.  These can be badly designed single products (*cough* Vista) or  
simply one instance of a product with defective parts.  I think humans  
have a tendency to put too much emphasis on anecdotal experience rather  
than scientifically detected trends.  And I think the sometimes  
prohibitive costs of some of theses gadgets plays a large part -- You  
aren't likely to go out and buy another $200 iPhone, for instance, if your  
previous two broke within a year.  Even though most people don't have that  
experience.

-Steve
September 24, 2012
Re: [OT] Was: totally satisfied :D
On Mon, 24 Sep 2012 10:02:57 -0400
"Steven Schveighoffer" <schveiguy@yahoo.com> wrote:

> On Fri, 21 Sep 2012 17:22:32 -0400, Nick Sabalausky  
> <SeeWebsiteToContactMe@semitwist.com> wrote:
> 
> > On Fri, 21 Sep 2012 08:24:07 -0400
> > "Steven Schveighoffer" <schveiguy@yahoo.com> wrote:
> >>
> >> That works too, but doesn't warrant rants about how you haven't
> >> learned how to use the fucking thing :)
> >>
> >
> > It's *volume* controls, there doesn't need to be *anything* to
> > learn.
> 
> OK, so this is what you'd rather have:
> 
[...single volume...]
> 
> No, I think the current design, while not perfect, is *WAY* better
> than a single volume.
> 

No, that's not it at all. The problem is the *lack* of any master volume
control whatsoever, not the existence of finer-grained volume controls.

My walkman example was perhaps misleading.

> >>
> >> 1. ringer volume affects all sounds except for music/video/games
> >> 2. Silent switch will ringer volume to 0 for all sounds except for
> >> find-my-iphone and alarm clock
> >> 3. If playing a game/video/music, the volume buttons affect that
> >> volume, otherwise, they affect ringer volume.
> >>
> >> Wow, you are right, three whole rules.
> >
> > And each one with exceptions, the rules as a whole aren't
> > particularly intuitive.
> 
> They aren't?  They make complete sense to me.  You even admit that
> it makes sense to have find my iphone play its alerts as loud as
> possible.

No, only the "find iPhone" one. The iPhone has no fucking idea what
environment I'm in. I *definitely* don't want it screeching "PAY
ATTENTION TO MEEEE!!!!" indiscriminately whenever it damn well feels
like it.


> I contend that if you use alarm clock what it is for,
> (i.e. waking you up) there is no problem there either.  Those are the
> only exceptions.
> 

Keep in mind, when I started talking "alarms" I didn't just mean "alarm
clock". Pardon if I'm not completely up on official iTerminology.


> Besides, you don't have to "memorize" these rules, most of the time,
> it is what a normal person would expect.
> 

What a normal person expects is for turning down a device's volume
to...turn down the device's volume. Or for "silent" to actually *be*
silent.

What a normal person does not expect is for the device to take the
user's commands as mere suggestions.


> > And then there's the question of what rules you forgot. I can think
> > of one right now:
> >
> > 4. If you're in the camera app then the volume button takes a
> > picture instead of adjusting volume.
> 
> I admit, I completely forgot about this one.  Simply because I rarely
> use it :)  It was a gimmicky feature, and doesn't hurt anything, but
> I find it unusable, simply because my natural inclination, being a
> right-handed person, is to rotate the phone left to go into landscape
> mode, If I want to use the button, my sequence is to rotate left,
> then realize the button's on the other side, flip 180 degrees, then
> realize my finger is in front of the lens, etc.  I think this is
> essentially an orthogonal problem because there is no volume control
> in camera, and that "feature" doesn't interfere with any other use of
> the phone.  When I read about it though, I thought it was a good idea.
> 

I can never remember which way I'm supposed to tilt the stupid thing for
landscape photos. It *shouldn't* matter, but then when you go grab your
photos (and videos!!) off the device you find the stupid thing decided
to ignore the accelerometer and save them upside-down.

As for buttons and such, the Zire 71 had a great design for the camera:
Slide the face upward and the normally-protected lens is revealed,
along with a "shutter" button (no need for modal "volume button"
contrivances), *and* it goes directly into the camera program. So
basically a real camera instead of a mere a camera "app",
always trivially accessible, and always the same easy way. And yea,
it's a moving part, but it *still* far outlasted the life of the
(unfortunately non-replaceable) battery. *That* was brilliant design. I
wish apple had copied it.

It didn't have an accelerometer (this *was* a decade ago, after all) so
it couldn't determine the current "tilt" and auto-rotate photos
accordingly (like the iPhone *should* have been able to do), but it had
an easy built-in "rotate photo" feature that even iPhone's built-ins
won't do (at least not in any realistically discoverable way).


> >> That's way more than 1.  I stand corrected :)
> >>
> >
> > Now compare that to a normal device:
> >
> > 1. The volume control adjusts the volume.
> >
> > Gee, how horrible to have one trivially intuitive rule and no
> > exceptions.
> 
> Right, and now I'm stuck in "Nick mode", where I'm constantly
> worrying about and changing the volume to deal with the current
> situation.  No thanks.
> 

No, as I said above.

> > Bottom line, they took something trivial, complicated it, and people
> > hail them as genius visionaries.
> 
> s/complicated/improved/
> 
> This isn't really genius, nor is it unprecedented (iPhone is not the
> first to control ringer and game/music volume separately).  It's just
> common sense.
> 

Ok again, clarification:

Independently controllable ringer/game/music volumes: Good

Complete *lack* of any way to control *overall* volume: Bad

A lot of the videogames I've played have independent adjustable
SFX/music/voice volumes. I've even happily made use of that. And I'm
damn glad that the TV *still* has a properly working volume control
despite that because I make even more use of that.

> So no, I'm not a MAC person, I'm a Unix/Linux person.  But Mac seems
> to have done Unix better than Linux :)

That was never my impression with macs. For example, I'll take even a
mediocre linux GUI over Finder/etc any day. I don't understand why
mac...*users*...inevitably have such trouble with the idea that someone
could actually dislike it when it's (apperently) so objectively
wonderful.


> 
> It was an example.  But it was one that I noticed right away coming
> from Ubuntu with Unity.  Unity tries to be very MAC-like,

That's why switched to Debian for my linux stuff instead of upgrading
to the newer Ubuntus, and also why I'm not moving to Gnome 3. Too much
Apple-envy for my tastes.


> If I had to summarize why I like MacOS better than windows -- the GUI
> is a complete GUI, and as good as Windows (unlike Linux),

See I disagree with that. I like XP's GUI (with luna disabled), but I
hate having to use OSX GUIs and OSX-alike GUIs (such as Win7). Linux
GUIs are definitely clunky, but when they're not aping Mac or iOS then
I can at least get by with them.

> but it does Unix *SOOO* much better than cygwin.

Cygwin's not even worth considering. As far as I'm concerned it may as
well not exist. When I do linux it's either a VM or a physical linux
box (connected to my primary system with Synergy+, a software KVM that
absolutely rules).

> I feel like I get the best of all worlds.

Yea, but to get that, you have to use OSX as your *primary*
environment, and stick with expensive iHardware. Might work for you,
but those are all deal-breakers for me.


> 
> And don't get me started on the trackpad.  I *hated* using my Dell  
> touchpad on my Linux laptop every time after I had been using my Mac  
> trackpad.
> 

I always considered trackpads completely useless until I got my current
Asus laptop. It's surprisingly usable in a pinch, and in fact I
honestly couldn't believe how much they've improved (or that they
even managed to improve at all). And yet I still go for my trackball
instead whenever possible because it's sooo much better.


> The one thing I would rip out of OSX and throw against the wall is
> the mail app.  Its interface and experience is awesome.  But it
> frequently corrupts messages and doesn't properly save outgoing
> mail.  Not good for a mail application.
> 

I didn't have corruption issues with it, but I did find it to be rather
gimped and straight-jacketed much like the rest of the system.


> >> Interesting that's what you see as the defining point of that
> >> story :)
> >
> > It's a story that always did stike me as odd: Here we have a grown
> > man (one who was *well known* to be unstable, asinine, drug-soaked
> > and frankly, borderline megalomaniacal) that's going around throwing
> > tantrums, and largely because he doesn't understand "cover" or
> > "case" or what obviously happens to plastic when you bash keys
> > against it, and it gets interpreted by millions as "Wow, look how
> > great he was!" I don't get it.
> 
> Having amassed more money than US treasury, based on his ideas and
> hard work, seems to suggest he was pretty successful :)  Not that I
> completely equate money with greatness, but if success of a product
> is measured by how well it sells, then he was very great.  Present
> company notwithstanding, most people like apple products and think
> they are good/best of breed.
> 

He was a salesman. Their job is to sell people on crap.
Successfully unloading broken freezers on eskimos and dog shit
to...anyone...isn't really deserving of praise or appreciation or
anything but condemnation.

> 
> I think if it didn't have a big apple symbol on the back, you would
> be less inclined to try and destroy it :)  Just my opinion.
> 

I'm sure most people would assume that, particularly since I dislike
something that "everyone knows is undeniably great". I know there's no
way I can ever convince anyone of this, but I don't do things backwards
like that: I hate apple *because* I don't like their products or their
business. The other way around makes absolutely no sense.

I'd love for apple to start putting out good stuff because...I *like*
good stuff. Hell, I love the Apple II. And I loved Sherlock/Watson
(part of what got me to try OSX). If I want to see apple destroyed it's
because they keep putting out poorly-designed, overpriced, Orwellian
bullshit and instead of dismissing it like in the 90's people are
actually praising the shit now that it has a glossy finish and the
name "Jobs". Oh, and because it sold well :/...which I always found to
be a bizarre reason to appreciate anything.

*I* think that people wouldn't be so quick to praise Apple's last
decade of products if they didn't have "Steve Jobs has returned!",
"Designed by Jobs!" attached. (And the iPhone 5 obviously still has a
lot of Jobs legacy, esp since it's basically the 4S with higher specs.)


> I have brands that I hate too due to prior experience too.  I'm sure
> you would be able to find anyone who *hates* a certain brand of car
> because they bought a lemon from them at one time, even though
> statistics show there are *always* some bad apples (no pun intended)
> in otherwise good products.  These can be badly designed single
> products (*cough* Vista) or simply one instance of a product with
> defective parts.  I think humans have a tendency to put too much
> emphasis on anecdotal experience rather than scientifically detected
> trends.  And I think the sometimes prohibitive costs of some of
> theses gadgets plays a large part -- You aren't likely to go out and
> buy another $200 iPhone, for instance, if your previous two broke
> within a year.  Even though most people don't have that experience.
> 

So therefore if someone argues against something popular, then it must
be due to such a fallacy as that, because what's popular clearly must be
good, right? Because those people who do like it must be liking it for
purely objective reasons, right?

You're arguing that most people are non-objective. If that's so, then
the objective viewpoint would be an unpopular one. Kinda like "Apple
products suck". Or is it that the "humans are often non-objective" only
applies to negative opinions? People are always being objective when
they say something positive?
September 25, 2012
Re: [OT] Was: totally satisfied :D
On Mon, Sep 24, 2012 at 07:52:15PM -0400, Nick Sabalausky wrote:
[...]
> Independently controllable ringer/game/music volumes: Good
> 
> Complete *lack* of any way to control *overall* volume: Bad

I have to agree with that. It's OK, and sometimes even useful, to have
multiple independent volumes, but it makes no sense to NOT have a master
volume that controls everything else. Sometimes you just want to mute
the whole dang device, and that should not require fiddling with every
single independent volume setting.


> A lot of the videogames I've played have independent adjustable
> SFX/music/voice volumes. I've even happily made use of that. And I'm
> damn glad that the TV *still* has a properly working volume control
> despite that because I make even more use of that.

Yeah I almost never play games with music on, 'cos I generally find the
music not to my liking. SFX I sometimes leave on low, though on
handhelds I generally turn both off. But the option to only have SFX
without music is a plus. I *have* deleted apps before that didn't allow
independent settings.


[...]
> > I feel like I get the best of all worlds.
> 
> Yea, but to get that, you have to use OSX as your *primary*
> environment, and stick with expensive iHardware. Might work for you,
> but those are all deal-breakers for me.

I find it sad that Apple has left its original philosophy of open
protocols and specs so that you can make it interoperate with stuff. For
all their flaws, PCs are much more palatable 'cos you can replace parts
that you don't like with alternatives. With closed hardware and vendor
lock-in, I can't say that Macs are exactly near the top of the list for
hardware I'd consider buying. I've had a bad experience with PC laptops
already (after 2 years parts starting wearing out and I can't replace
them 'cos they need specialized tools that vary from vendor to vendor --
no choice but to buy a brand new one though the old one could've
continued to work if a few basic parts were replaced) -- I don't feel
like I want to repeat that experience. So yeah, this is a deal-breaker
for me too.


[...]
> > The one thing I would rip out of OSX and throw against the wall is
> > the mail app.  Its interface and experience is awesome.  But it
> > frequently corrupts messages and doesn't properly save outgoing
> > mail.  Not good for a mail application.

Ahhh how I love Mutt. ;-)


> I didn't have corruption issues with it, but I did find it to be
> rather gimped and straight-jacketed much like the rest of the system.
[...]

I find pretty much all GUI mail apps (both webmail and local MUAs)
strait-jacketed. Anything that doesn't let you configure mail headers is
unusable to me, and HTML by default gets on my nerves so much it's not
even funny. I want my mail to NOT have stupid extraneous headers that
are completely unnecessary for what I use mail for, and yes most people
don't care, but as the adage goes: easy things should be easy, hard
things should be possible. I find in pretty much every GUI mail app that
easy things are hard and hard things are impossible.

But anyway, I stumbled across this cute little thing just today:

	http://daringfireball.net/projects/markdown/

I'd love to start a trend for a new kind of email: one in which the
message is transmitted as markdown text, and, should the receiver so
wish, the receiving end automatically converts that into HTML. This way
you can either write directly in plaintext (like I do) or use a GUI
front-end for composing messages (like most normal people do), the
transmission won't have stupid useless HTML clutter (or worse, JS
viruses and other detritus), and the receiver can get all mails in
plaintext or HTML according to their choice. AND there is no need for
multiple MIME parts; the markdown text can be read directly as plaintext
or translated into HTML for people who prefer that.

Now, somebody just has to cook up this MUA in D, and make it the killer
D app that will take over the world. ;-)


T

-- 
When solving a problem, take care that you do not become part of the problem.
9 10 11 12 13 14 15 16
Top | Discussion index | About this forum | D home