September 15, 2013
On Sep 15, 2013 12:10 AM, "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.
>

I wouldn't say better, but it is a rich environment of functionality and development.  Also Linux isn't trying to spy on you, isn't constantly phoning home to Redmond, and isn't sending your fingerprints to the NSA. :-)

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


September 15, 2013
On Sun, 15 Sep 2013 11:38:09 +0200
Jacob Carlborg <doob@me.com> wrote:

> On 2013-09-14 10:23, Nick Sabalausky wrote:
> >
> > While I definitely prefer bash to the windows prompt overall, there are some places where I think windows makes the linux cmdline look bad. Like launching a GUI program instead of a CLI:
> >
> > Windows (nice):
> > % program-cli file.txt
> > % program-gui file.txt
> >
> > Linux (wtf?!):
> > % program-cli file.txt
> > % program-gui file.txt >/dev/null 2>%1 &
> 
> On Mac OS X I usually use "open" command to open a file in the default application.
> 
> $ open file.txt
> 

Windows actually does the same thing, except the filename *is* the command:

$ file.txt

And yea, either way, "open file.txt" or "file.txt", it is kinda nice. Although I find I use it very rarely, oddly enough.


> Or I can explicitly specify the application:
> 
> open -a /Applications/TextEdit.app foo.txt
> 

Hmm. What's the benefit over just doing this?:

$ /Applications/TextEdit.app foo.txt

September 15, 2013
On Sun, 15 Sep 2013 10:51:11 +0100
Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> 
> I wouldn't say better, but it is a rich environment of functionality and development.  Also Linux isn't trying to spy on you, isn't constantly phoning home to Redmond, and isn't sending your fingerprints to the NSA. :-)
> 

That's what Linus *wants* you to think! (...or at least that's what
she said anyway...)

September 15, 2013
On Sunday, 15 September 2013 at 09:51:22 UTC, Iain Buclaw wrote:

<snip>

> and isn't sending your fingerprints to  the NSA.
> :-)
>
> Regards

Being an european, and having traveled to the US, my fingerprints are _already_ in the NSA archives...

;-/

/P
September 15, 2013
On Sep 15, 2013 12:20 AM, "Nick Sabalausky" < SeeWebsiteToContactMe@semitwist.com> wrote:
>
> On Sat, 14 Sep 2013 03:41:58 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
>
> > Of course, Android isn't *completely* free of annoyances. A recent one is the inability to completely remove preinstalled apps that I don't use and don't intend to use, because they're "system" apps. I'm still trying to wrap my head around the concept of Facebook being a "system" app... Sigh.
> >
>
> Ugh, that's a new one to me. Mine was version 4.0 (and rooted so I could also swap in and out of 2.3 plus the CyanogenMod versions of both 4.0 and 2.3). It was *definitely* the better of the two, but there were still plenty of things I hated about Andorid, too:
>

Yes, that's something strange I noticed too.  On 2.2 you only had the option to rollback to the version of the app that came with the device.  On 4.0 I've noticed that you can *disable* the app, but not remove. Which isn't good - but I suppose that's a technical limitation of how they do system factory resets.

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


September 15, 2013
On 2013-09-15 04:58, Nick Sabalausky wrote:

> 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.

Apple have never been good at creating computer mice. I'm using a Logitech MX 510 mouse. I can move the cursor across two 24" displays in one motion. No problems.

-- 
/Jacob Carlborg
September 15, 2013
On Sep 15, 2013 12:50 AM, "Nick Sabalausky" < SeeWebsiteToContactMe@semitwist.com> wrote:
>
> 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.)
>

It doesn't require much to set one up really.  :)

I've got a few scripts that builds chroots for Debian testing and unstable for x86, x86_64, X32, and ARM environments (the latter uses QEMU emulation mode to run the binaries on my system).

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


September 15, 2013
On 2013-09-15 02:09, Nick Sabalausky wrote:

> 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();
> }

If you use runtime arguments you'll avoid template bloat:

void trace(string msg="trace", string file=__FILE__, size_t line=__LINE__)

-- 
/Jacob Carlborg
September 15, 2013
On Sep 15, 2013 12:55 AM, "Nick Sabalausky" < SeeWebsiteToContactMe@semitwist.com> wrote:
>
> 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.)
>

I've actually taken a rash decision and won't buy another x86/x86_64 device again (going full ARM in the next years once my current kit reaches it's end of life).

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


September 15, 2013
Am 14.09.2013 22:20, schrieb Paolo Invernizzi:
> On Saturday, 14 September 2013 at 17:34:27 UTC, Adam D. Ruppe
> wrote:
>> On Saturday, 14 September 2013 at 12:25:44 UTC, Paolo Invernizzi
>> wrote:
>>> Give me a way to writeln the callstack frames at a certain
>>
>> Challenge accepted:
>>
>>
>> import std.stdio;
>>
>> string getStackTrace() {
>>          import core.runtime;
>>
>>          version(Posix) {
>>                  // druntime cuts out the first few functions on
>> the trace as they are internal
>>                  // so we'll make some dummy functions here so our
>> actual info doesn't get cut
>>                  Throwable.TraceInfo f5() { return
>> defaultTraceHandler(); }
>>                  Throwable.TraceInfo f4() { return f5(); }
>>                  Throwable.TraceInfo f3() { return f4(); }
>>                  Throwable.TraceInfo f2() { return f3(); }
>>                  auto stuff = f2();
>>          } else {
>>                  auto stuff = defaultTraceHandler();
>>          }
>>
>>          return stuff.toString();
>> }
>>
>>
>> void foo() {
>>          writeln("on foo");
>>          bar();
>> }
>>
>> void bar() {
>>          writeln("on bar");
>>          omg();
>> }
>>
>> void omg() {
>>          writeln("on omg");
>>
>>          writeln(getStackTrace());
>> }
>>
>> void main() {
>>          omg();
>>
>>          writeln("\n****\n");
>>          foo();
>> }
>
>
> O_o
>
> Adam, this is *really* an unexpected gift!
> I suggest to add this example in the core.runtime DDoc at least!
>
> - Paolo

Even better would be to promote the underlying function for "defaultTraceHandler" to be public and add an argument (size_t nskip = 0) to make it generally useful without those ugly artificial stack frames. I mean don't get me wrong, I've used that same hack myself a few weeks ago, but it doesn't really make for a premium API ;)