Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - nslay

Pages: [1] 2 3 ... 52
1
General Discussion / What's wrong with x86?
« on: March 08, 2015, 07:13:44 pm »
{][)K} is still alive and well and has absorbed many other members from other clans of the time. It keeps alive through gaming and IRC (a place to afk and not talk to anyone). So what's wrong with x86?

2
[x86] Announcements / Re: Move / disband the forum/site?
« on: March 03, 2015, 11:45:21 am »
Nice, it's back!

3
General Discussion / Weather
« on: January 13, 2014, 10:00:24 pm »
This is a bit silly, but has anyone ever wondered about or demanded probabilities for: Sun, Clouds, and Clear?

I would be absolutely delighted to know if there was a 70% chance of sun today.

4
Gaming / Re: Minecraft
« on: January 08, 2014, 08:40:19 pm »
I'm up for it if it's worth the buy. I'm seeing increasing numbers of people playing it.

5
General Programming / Lambdas and 'auto' types in C++11
« on: January 07, 2014, 11:37:10 pm »
Does anyone really think lambda expressions help C++? I think it's nice to be able to create functors on the fly, although it's not always readable.

STL has <algorithm> which includes algorithms like std::for_each and std::find_if that accept functors/functions. In the past you usually had to create a functor to use these which was typically more code than just writing your own for loop. I thought lambdas would make functions like std::for_each practical. However, which is more readable?

Code: [Select]
int sum = 0;
std::vector<int> vArray = { 1, 2, 3, 4, 5 }; // Yes, you can do this in C++11
std::for_each(std::begin(vArray), std::end(vArray), [&sum](int x) {
  sum += 2*x;
});

Or

Code: [Select]
int sum = 0;
std::vector<int> vArray = { 1, 2, 3, 4, 5 };
for (size_t i = 0; i < vArray.size(); ++i) {
  sum += 2*vArray[i];
}

Better yet!
Code: [Select]
int sum = 0;
std::vector<int> vArray = { 1, 2, 3, 4, 5 };
for (int x : vArray) {
  sum += 2*x;
}

I'm not seeing any elegant use of lambda expressions. Seeing functor definitions as parameters to other functions looks weird and messy. You could also just write a functor in an unnamed namespace to prevent namespace pollution. The functor could be named something intuitive like:
Code: [Select]
namespace {
  struct NickEquals {
    // ...
  };
} // only valid in this translation unit

auto itr = std::find_if(std::begin(vUsers), std::end(vUsers), NickEquals("nslay")); // Find If Nick Equals "nslay" ... reads nicely!

Another one I have mixed feelings about is the auto type specifier. Yes, it is very convenient to write, but it's not very readable.

Code: [Select]
auto thing = Blah(); // So, what does Blah() return? Oh, right, best go look in the header. Oh, and did I mention 'auto' also consumes constness and pointers too (but not references)? Blah() might return a pointer ... or maybe a const. You'd never guess that by looking at it though.

// Oh yeah, If I changed Blah()'s return type, maybe it still compiles and runs when it shouldn't.

for (auto &x : vArray) {
  // Wait, what is x again?
}

Anyone else have such thoughts?

6
General Discussion / Re: Online advertising
« on: January 07, 2014, 09:18:51 pm »
The problem I have is that the cost isn't well known. Nobody thinks about how the advertising agencies work, or how Google and Facebook make their money. And they certainly don't directly disclose their business practices to the users. Instead, users see free software and services thinking that they're free (and they're not). That's pretty deceptive.

Why not directly disclose the cost to the user if it's so great? Why is it secretive? Maybe advertising agencies really suspect that users wouldn't appreciate the cost at all or maybe they think users wouldn't care.  Either way, a price tag is nice.

And by the way, Google is among many that buries its policies in lengthy legal jargon too. At least it makes users aware of policy changes.

I can only speculate what kinds of information advertising agencies collect and how they use the data. Whether it can identify me as nslay, my Google ID, a cookie number, an IP address, or a behavior pattern is irrelevant. I don't like the idea that Google, for example, can build (and probably does) an almost complete profile of my web surfing history (since many sites host Google Ads). I personally don't want to be tracked and I am opted-in by default. I have to 1) know that I am being tracked (which is generally kept hidden), 2) Find a way to opt-out (if any).

And again, as I pointed out: Anonymous data isn't necessarily anonymous. Once you cross reference data, you could, for example, build a statistical model and accurately predict the identities* of users. It's been done before and I imagine advertisers do this too (predicting someone's identity* by their web surfing behavior would be an interesting learning task).

* : By identity, I mean some abstract server-side representation of a user (which is not limited to something like a unique number for example).

You want my support for Google: Be upfront and direct about the costs and practices. Otherwise, I think you're a bunch of hypocrites to your own motto "don't be evil." Surely Larry Page and Schmidt have nothing to hide from us, the unsuspecting user ... right?


7
General Discussion / Re: Online advertising
« on: January 06, 2014, 06:24:44 pm »
I guess you're right. It wouldn't be snooping in the case of AT&T Fiber since it is disclosing its monitoring practices directly to the customer.

The same cannot be said of some advertising firms that bait computer illiterate users into using free software and/or services and either bury their policies in long ToS agreements or just not at all (e.g. Google Ads will track me when I visit sites that host Google Ads without my knowledge or consent and independent of whether I use Google services or not ... I would call this snooping).

My impression is that these practices are either obfuscated or hidden from users for fear that users may not actually agree with those practices. That's just a guess though.

And how do you actually know that these types of companies take privacy seriously? Facebook is a reputable company that has repeatedly violated its own privacy policy in the past (that we know of). And Google's executive staff are outright hostile toward privacy. So yes, I generally take a pessimistic point-of-view. On top of that, there are numerous obscure advertising agencies that appear all over the web that most people have probably never even heard of. What could you say of these? Who would even notice privacy violations from obscure advertising agencies no one has ever heard of?

At the least, I think more transparency is needed.







8
General Discussion / Re: Online advertising
« on: January 03, 2014, 05:45:57 pm »
Yeah yeah, I saw that. Here's another example:

http://www.theregister.co.uk/2013/12/05/google_gmail_calendar_export/

They don't let your control the really valuable data such as search history and location information. With Google giving away all it's cool tech, it has to pay the bills somehow!

We're all worth at least $50. This is the price to update a Garmin GPS' maps.

EDIT:
AT&T Fiber will charge you $30/month less for 300Mbps up/down if you let them snoop on your connection.

Snooping is big business. A lot more than either you (@iago) and @Sidoh give it credit.

9
General Discussion / Re: Online advertising
« on: January 03, 2014, 03:51:00 am »
Anonymous data isn't as anonymous as you think. The most obvious example is the insurance information debacle in Massachusetts ... (an MIT student cross referenced anonymous medical information with voter information and was able to infer the governor's prescriptions and doctor visits).

The creepy aspect of the data mining is that it's often without anyone's knowledge or consent and no one knows how that data is used.

Sorry to go off topic.

10
General Discussion / Re: Online advertising
« on: January 03, 2014, 01:14:38 am »
Living in the Bay, working at the Google.

Wow, I'm surprised!  I didn't think you would leave Canada, or work at a huge monopoly corporation. It's probably a nice place to work though.

Yeah, I didn't think I'd leave Canada either, but here I am!

I wouldn't call it a 'monopoly'. On one hand, I feel bad that 99.9% of my salary comes from ad revenue; on the other hand, they're constantly changing the world for the better, and they have really good policies regading privacy (privacy is SUPER important to them, because people will jump on anything) and lock-in (it's important that every app lets you view, manage, and export all your data). So that's a plus, at least. :)

I dunno -- I actually like their business model significantly more than just about any other tech company. It's much more conducive to innovation. Ads enable free stuff on the Internet. Of course there are alternatives, but I think ads are really the only thing lucrative enough to enable the kinds of crazy awesome things Google does without a ton of capital.

Ads were never a bad thing. Nobody is complaining about advertising itself but the data harvesting aspect that has become almost synonymous with advertising. Google's (among others) vision of the future is aligned with its business model: full and total annihilation of privacy (Larry Page has said this repeatedly over the past decade). It's that kind of point of view that people don't like ... not advertising.

EDIT:
Happy new year.

11
[x86] Announcements / Re: OMG SSL!
« on: December 30, 2013, 11:29:16 pm »
I didn't even notice.

Take that as a compliment...

12
Botdev / Re: Creating BNX clone for IRC
« on: December 26, 2013, 01:00:30 pm »
OK, tray icon is added. It just needs a picture now! Any suggestions?

Also, I'm not a Win32 programmer. Can someone critique these?

BnxWin32Driver.h
BnxWin32Driver.cpp
ircbnx.rc
Resource.h

Thanks.

13
Botdev / Re: Creating BNX clone for IRC
« on: December 22, 2013, 12:51:07 am »
One step closer to ShellNotify junk. It now runs with WinMain() instead of main() among other feature and code changes.

Latest version is on SVN, but I'll package a 1.2.0 soon.

14
Unix / Linux Discussion / Re: pkgng: FreeBSD has become practical
« on: December 03, 2013, 12:54:44 pm »
ports was pretty awesome to begin with!
Except it takes an hour or two to compile big projects like Firefox with a powerful machine. Ports is practical with small and self-contained applications though.

I have a netbook for casual surfing and that runs FreeBSD for obvious reasons (namely Windows 7 is unbearably slow on this type of system). Ports is even worse there (it takes several hours to compile Firefox).

I got into poudriere because the netbook needs a recent version of the Intel X11 driver which requires KMS to be enabled. However, the official FreeBSD package repository for 9.x is compiled with KMS disabled ... hence I had to create my own mini KMS repository.

By the way, if you want to try poudriere for pkgng on FreeBSD 9.x, you'll need to add
Code: [Select]
WITH_PKGNG=yes
to poudriere's make.conf.

Otherwise, it will build packages for the legacy tools.

15
Unix / Linux Discussion / pkgng: FreeBSD has become practical
« on: November 23, 2013, 10:53:55 am »
Words cannot describe how easy FreeBSD packagement package management has become recently.

They're finally pushing precompiled binaries with their apt/yum-like pkg tool (no man page yet).

pkg install thing
pkg delete thing
pkg update
pkg upgrade
etc...

(which are superior to older tools like pkg_{install,delete,update,upgrade} etc...)

But they haven't entirely ditched ports. Instead, they made a repository tool (poudriere) that makes building custom repositories child's play. This tool of course revolves around ports.

Poudriere uses a combination of ports and jails (VMs) to build and package applications and places them into a folder that is immediately ready to be served over NFS or HTTP and accessed with pkg. It's very easy to configure, the tool will actually download a FreeBSD image, sync the ports tree and build ports into packages with your own specified compile-time options (if any).

Here's a tutorial of someone building a KMS-specific repository (which I had to do for one of my Intel-based machines):
http://negativo17.org/freebsd-10-new-x-org-kms-pkgng-poudriere/

That's remarkably easy! (EDIT: There's no need to build the kernel and world now)

It's certainly an improvement in practicality. FreeBSD can now probably be setup and configured in a comparable amount of time as any Linux distribution minus the pre-installed components (FreeBSD is not pre-installed with anything).

Anyway, if you ever cared to try something like FreeBSD, wait another a month for FreeBSD 10 to be released and give it a spin. It should be orders of magnitude easier and less time consuming to setup.

EDIT: Spelling.

Pages: [1] 2 3 ... 52