September 14, 2013
On 14/09/13 14:52, Walter Bright wrote:
> On 9/13/2013 8:48 PM, Andrei Alexandrescu wrote:
>> On 9/13/13 4:43 PM, Iain Buclaw wrote:
>>> On 14 September 2013 00:39, Piotr Szturmaj <bncrbme@jadamspam.pl> wrote:
>>>> On 13.09.2013 21:48, Namespace wrote:
>>>>>
>>>>> Just out of interest.
>>>>>
>>>>> I use Sublime 2, Notepad++ and as IDE currently Mono-D. But I will try
>>>>> this evening VisualD.
>>>>
>>>>
>>>> Real Programmers magnetize programs directly on a HDD.
>>>
>>> Excuse me, but /real/ programmers use Butterflies.
>>
>> For the few souls who don't yet... http://xkcd.com/378/
>
> I've used punch cards and paper tape. But I refused to use paddle switches.

Programming with paddle switches on a PDP-8 wasn't that hard.  Not much different to using a programmable calculator and the available instruction set was small, logically (not randomly) designed and easy to remember.

Peter

September 14, 2013
On Sat, 14 Sep 2013 03:52:39 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:

> On Sat, Sep 14, 2013 at 06:32:07AM -0400, Nick Sabalausky wrote:
> > On Sat, 14 Sep 2013 00:34:07 -0700
> > "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> [...]
> > > If I have to install libraries not in the apt repository (or multiple conflicting versions of the same library), I tend to put it either under an entirely different PREFIX, preferably under a dedicated subtree for the app I'm trying to build
> > 
> > I had no idea you could do that! That's fantastic: despite my migration towards Linux, I had been worrying about the day I'd inevitable have to deal with multiple versions of the same thing.
> 
> In spite of all my rants against autotools, it *does* let you do cool things like:
> 
> 	./configure --prefix=/path/to/my/dedicated/sandbox
> 
> which, if things were properly put together, will setup the Makefile such that make install will install to /path/to/my/dedicated/sandbox instead of the usual system directories.
> 
> Of course, then you need to setup $PATH and maybe a few other environment variables expected by the app to get things to work properly, but this is the way I usually like to install custom built-from-source apps. That way, should I want to uninstall it, I can just nuke the entire root directory dedicated for that app without damaging anything else. :)
> 
> But wait, there's more...
> 
> On Debian, a good number of library packages are actually *designed* to support installation of multiple versions simultaneously. Even fragile, sensitive giants like gcc that have an intricate web of library dependencies can have 4.6, 4.7, *and* 4.8 all installed together side-by-side (up to a certain point, of course). A good many libraries have been patched downstream by Debian developers to have proper soname correspondence with ABI changes, and the upstream version number is encoded into the package name (as opposed to just the package version number) so installing multiple versions of the same library is actually *officially* supported.
> 

That's pretty nice. I'm still not *quite* linux-savvy enough to know what I'm doing with chroots (I know about them, but I've never actually set one up, and I'd have to look up how to do it.)

Of course, it's not like the need for such things is exclusive to Linux. Take Firefox: Even on Windows it refuses to accept the possibility of having multiple versions installed. So some *other* people hacked it up to make a "portable install" version (which, strangely, *still* requires running an installer?!?), and yet even then, it still flat out refuses to allow multiple versions to run at the same time. Ridiculous.

September 14, 2013
On Sat, 14 Sep 2013 11:31:44 +0100
Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> 
> Some manufacturers even actively work against Linux at the hardware level.
> 
> http://linuxologist.com/02hardware/even-more-incriminating-evidence-in-the-foxconn-debacle/
> 

Yea. I don't know this will just turn out to just be more Palladium-like anti-MS FUD, but UEFI really worries me. To the point where I'd be very hesitant to buy any computer with Win8 pre-installed. (Not that I'd want to pay the MS tax anyway for an OS I'd immediately wipe off of the HDD.)

September 15, 2013
On Sat, 14 Sep 2013 10:30:09 -0700
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:

> On Sat, Sep 14, 2013 at 02:25:43PM +0200, Paolo Invernizzi wrote:
> > 
> > Give me a way to writeln the callstack frames at a certain point, and I'll take that: until this, I still need a debugger for following the program flow.
> 
> I'm pretty sure this is possible with a little effort.
> [...]
> Still, if there was a way to print a stacktrace *without* terminating
> the program, that would be an invaluable addition to our toolset.

Although I haven't actually hit a need to try, can't you just do this?:

writeln(new Exception("TRACE"));

Or at the very least this:

// Or make this a string mixin if you *really* don't
// want printStackTrace itself shown in the trace.
void printStackTrace()
{
    try
        throw new Exception("TRACE");
    catch(Exception e)
        writeln(e);
}

> 
> 
> > And no, adding a writeln everywhere you call that function is not a solution.
> [...]
> 
> True, this is one of the weak points of writeln debugging. Though I usually start from the top-level, so generally by the time I get to a specific function I already know how it got there.
> 

Same here. I writeln-debug the way you'd play that "hi-lo" number guessing game:

1-100: 50
lower
1-100: 25
higher
1-100: 40
higher
1-100: 45
lower
1-100: 43
lower
1-100: 42
It took you that long to guess 42? Really? What kind of nerd are you?

Only I make a lot more than one guess at a time.

September 15, 2013
On Sat, 14 Sep 2013 19:38:10 +0200
"Adam D. Ruppe" <destructionator@gmail.com> wrote:

> On Saturday, 14 September 2013 at 17:31:32 UTC, H. S. Teoh wrote:
> > I'm pretty sure this is possible with a little effort.
> 
> beat you to it! http://forum.dlang.org/thread/fxuwovrirseuatzeeprb@forum.dlang.org?page=17#post-jxqobgridgweioqclfqr:40forum.dlang.org
> 
> > One trick my coworkers like to use sometimes (with C/C++) is to insert an infinite loop into the program at the suspected problem spot, then at runtime when it reaches 99% CPU
> 
> In D, I like to just sprinkle assert(0)'s in places. It actually works pretty well - you can do a binary search of even a fairly large codebase in just a few iterations, then fix up the asserts to actually check what went wrong, and then keep them there later to form sanity checks or unit tests to catch regressions after the bug is fixed.
> 

Assert? That doesn't let you trace the flow. I use this:

void trace(string file=__FILE__, size_t line=__LINE__)(string
msg="trace") {
        writefln("%s(%s): %s", file, line, msg);
        stdout.flush();
}

Usage:

trace();
foo();
trace();
bar();
trace("-END-");

Output:

file.d(1): trace
file.d(3): trace
file.d(5): -END-

For variable watching, I do this:

// Using:
<https://bitbucket.org/Abscissa/semitwistdtools/src/c7f89f7cd2c086591b544d5bffc536827ae6f763/src/semitwist/util/mixins.d?at=master#cl-103>
auto foo = 17;
mixin(traceVal!"foo");

Output:
foo: 17

I haven't found a way to elimate the "mixin(" part of that one though, which limits its convenience :(

September 15, 2013
On Sat, 14 Sep 2013 22:02:46 +0200
"Paolo Invernizzi" <paolo.invernizzi@gmail.com> wrote:
> 
> That /was/ possible, and  our company is using the engine /naked/ on linux, but...
> 
> https://support.skype.com/en/faq/FA12322/what-is-skypekit
> 
> Now MS is ending that game, or at least it seems so.
> 

Hmm, I had no idea MS had acquired it (or that eBay had owned it before). That would seem to explain why Skype doesn't appear to be able to make up their minds on things :/

September 15, 2013
On Sat, 14 Sep 2013 21:13:22 +0200
Artur Skawina <art.08.09@gmail.com> wrote:

> On 09/14/13 07:53, Nick Sabalausky wrote:
> > (And why the freak do I need to re-./configure for every single program that needs compiled? Shouldn't something in autotools already *know* my system details and not have to re-detect *everything* every single time? "Checking X...", "Checking Y...", "Is Z sane..."...? Why? Every other damn autotools-based project *already* checked those every time I compiled them! It's like opening my car door twenty thousand times to make sure "Yup...it's still a car!". If certain changes might go unnoticed then fine, give me a way to force a re-check if really needed.)
> 
> This is a (system) configuration issue. The support for persistent caches is there, it just needs to be enabled. [1] But then /you/ have to deal with invalidating the cache when something changes (which, in theory, means after /every/ sw install or upgrade).
> 

Hmm, you'd think a software install/upgrade would be able to just simply notify the system that it may have affected the X, Y or Z configuration. (Of course *that* could end up going wrong, but still...)

Still, good to know that's at least there.

> 
> [1] for example, using a /etc/config.site file like:
> ------------------------------------------------------------------------
> #!/bin/bash
> 
> test -z "$SKIP_CONFIG_CACHE" || return 0
> 
> if test "$cache_file" = /dev/null -o "$cache_file" = 'config.cache' ;
> then PFIX=`$CC -v 2>&1 | awk ' /version /{ print$1$3"-"$4 }'`
>    SFIX=`(set | grep '^ac_.*env' | grep -v '=$' | sort ; uname -mo )
> | sha1sum | cut -f1 -d' '`
> cache_file="/var/cache/config.cache/$PFIX-$SFIX" fi
> ------------------------------------------------------------------------

Yeesh. That's why I like D for any non-trivial scripting ;)

(Yea, I know, it's all "complain, complain, complain" with me today ;) )


September 15, 2013
On Sat, 14 Sep 2013 14:16:50 -0700
Jonathan M Davis <jmdavisProg@gmx.com> wrote:

> I've never quite groked why they created Dolphin, because
> Konqueror is so much better than anything else that I've used (though
> obviously YMMV) that it just seems weird to me that you'd even
> consider creating another one, let alone another one that you'd make
> the default. I think that they were trying to make a file browser
> that was more newbie-centric, but I don't know.

I would imagine that's probably the reason. After all, Dolphin is easily the most explorer-like file manager I've seen on Linux. Heck, like I said, it even managed to replicate Vista's misguided auto-horizontal-scrolling "feature" in the tree-view panel.

And besides, KDE and GNOME have always been about giving a more Windows-like (or mac-like) feel to Linux, and in no small part for the sake of new Linux users. Plus, the latest ones, KDE4 and GNOME3 were largely about re-designing things in hopes of making them easier still. (At least that's been my understanding.)

September 15, 2013
On Sat, 14 Sep 2013 05:58:51 -0400
Nick Sabalausky <SeeWebsiteToContactMe@semitwist.com> wrote:

> On Sat, 14 Sep 2013 09:19:42 +0200
> Paulo Pinto <pjmlp@progtools.org> wrote:
> > 
> > The main problem with Linux distributions, is that even in 2013, it won't work properly in laptops.
> > 
> > Wireless chipsets, battery use and graphic cards (specially hybrid
> > like optimus) are still a problem.
> > 
> 
> Really? That's all rather discouraging. As of last year, my primary system is now a laptop, and my concern about laptop-related issues was the main reason I ended up sticking with the factory-installed Win7 instead of upgrading back to XP.
> 


Oooh, Score!! According to h-node.org (thanks for the link, Iain), my laptop is already rated "A-platinum":

http://h-node.org/notebooks/view/en/1199/X54-C/1/1/Asus/undef/undef/notebook/undef/undef/amd64/undef

:)

September 15, 2013
On Sat, 14 Sep 2013 16:05:09 -0700
Walter Bright <newshound2@digitalmars.com> wrote:

> On 9/14/2013 3:13 AM, Nick Sabalausky wrote:
> > Plus I seem to be the only Windows user in history who has never said "Uhh, ok" to a "Super-helpful web browser toolbar! You'll love it! Install now!"
> 
> 
> People today keep trying to get me to install this linucks-thingy. "Trust me! It's better than Windows!" Yeah, right :-)
> 
> I'm probably the only Mac user in history who doesn't find it intuitive and has to constantly google how to do basic things.
> 

Wait, you mean "Mac user who doesn't find *Mac* intuitive"? I spent a year as an OSX guy (way back) and ultimately came to the same conclusion: I couldn't do half of what I wanted without it seeming to fight me at every turn. And it always put up a damn good fight, too. I've used 10.7 since then, and it seems to have only gotten goofier. (At least it's easy to disable the backwards-scrolling.)

Even moving the mouse pointer across the screen was (and still is) an effort, no matter what the sensitivity setting. It's no wonder so many Mac users swear by the touchpad - that's the only pointing device where OSX's acceleration is non-broken enough to *let* you move from one end of the screen to the other in *one* motion instead of three or four *and* still be able to hit a button-sized target without surgeon-like hand control.