Hacker Newsnew | comments | ask | jobs | submit | best commentslogin

I really, really disagree with Jeff Atwood here. Jeff has interpreted "learn to code" with "become a programmer". They're not the same thing. I don't think that is what this meme is about at all.

Programming is logical thinking in practise. Programming is breaking a problem set down, thinking step by step through it, thinking of edge cases, and making it work. There is nothing wrong with Jeff's BASIC example, if that is where the mayor of NYC ends up.

There was once a time when books were only read and written by an elite group. Now everyone can read - and everyone can write. There are still the elite authors that write better than the rest of us. Just because everyone can write, doesn't mean everyone is trying to be a professional author.

Computers are a part of society. To function well in society, it's beneficial to understand a little about how they work, and how to make them do things. The essence of programming is making a computer do something more efficiently than you can.

Programming isn't just the advanced stuff - recursion, pointers, functional programming, or whatever. Maybe Jeff is too far down the rabbit hole to realise this, but most people don't know what programming even looks like. They don't know how we tell computers to do the things they do. Recently I was with a customer, making notes about changes I needed to make to their application. They asked me "Is that how you make it do that?". No - that was my TODO file. And these are people that work on computers all day, every day.

It's beneficial if marketing folk understand the basics of programming when they're doing web ads. It's useful that CAD engineers know the basics so they can automate AutoCAD. Its useful that financial accountants know basic programming so they can become more efficient with analysing data.

If the mayor of NYC wants to learn to program in his spare time, why the hell not? I bet there wouldn't be the same complaints if he wanted to learn how to surf.

edit: grammar

jacquesm 2 days ago | link | parent | on: Plagiarism

> Someone has to explain to me exactly what we should have done differently here.

Since you asked:

Ask the original author if it would be ok to include his contribution in your derived work.

> I honestly [] absolutely no idea what we should have done differently here to illustrate an interesting fact with our readers and reference the original source (we did that twice in the article...even with his full name (a screenshot of which he conveniently didn't include in his post))...and still he comes out guns blazing like he wrote a full-on opinion piece and we decided to just copy/paste.

Crediting someone does not automatically give you the right to copy their work without their permission. That's a misplaced sense of entitlement, and one I would definitely not accept from a site with the visibility of TNW.

Would it be ok with you if I copied TNW and linked back to your pages to credit you? No? Why not? Where would you draw the line of what is acceptable and what is not?

Oh, and you did just copy/paste.

> We work immensely ha[r]d to product original content

So don't cut-and-paste interesting bits you find on the web.

> I'm honestly amazed that this is crawling up Hacker News quite frankly.

The Next Web is featured on HN quite frequently, so it is logical that any criticism of your website would feature here as well. And I wouldn't call it crawling, you've got top billing.

I'm honestly amazed that you did this, and how utterly wrong your stance is. For a person associated with a publication I would expect a much higher level of knowledge of things like 'how to cite' and 'how to attribute' and maybe a dash of copyright 101. How hard is it to ask someone if you can use their stuff? Just ask, worst case they'll say no and then you can always simply link to them to make your point. It's not like he's suing you for $125K per copy, he's just upset that you didn't have the common courtesy to ask.

The fact that people usually are not upset and that people don't care does not change a thing with respect to what's right or not and asking is the normal thing to do.

I've had my content cut-and-pasted so often that I no longer care but it seems to me that if you want to write original content you should simply write rather than try to pick up which bits are trending on certain websites to re-package those for a larger audience. Besides the fact that it does not say much for how you produce your content it also shows that you don't even bother to do your own fact checking. You could easily be set up to parrot incorrect data like this.

Do your own homework, write your own text supported by facts that you have researched yourself and cite your sources. That is original content.


The world has slowly become spineless, and when someone like Josh Hwu shows a spine and stands up for what's right a rather large fraction of fellow programmers jump on him. Shameful! The CEO of Miso is an unethical egotistical person who doesn't even have the self-awareness to admit to his knee-jerk abuse of power (a mistake that many a young manager has made, myself included).

The real story here is that fighting on principle is the rational thing to do. If you don't fight on principle then the predators feel empowered, and everyone suffers. People like Josh are heroes. Those who try to take away from his accomplishment by either convincing him that it would be "smarter" to be spineless or that somehow it's wrong to have a spine, are even more despicable than Josh's abusive ex-boss.

ellyagg 2 days ago | link | parent | on: Plagiarism

False dilemma. The third and correct option is "don't be a dick".

Good idea, but, sorry, don't like 'em. Neither the execution nor the conceptualization.

The execution is too detailed. Details, regardless of how pixel-perfect they are, do blur upon quick glance, and the more details there are, the more it looks like a gray blob. The execution is also inconsistent - why the book is 3D, but the rest is flat? Except for the coffee mug that is neither.

The conceptualization is off too. The fact that they need to explain an icon is a red flag. Why book? They answer that with 5 lines of text. Why wrench and a screwdriver, when a gear is a visually simpler icon that is widely understood? Why the Logout arrow implies that someone walks in through the door? Why is the letter A transmitting, when it's actually about receiving?

So not to sound like a complete ass, here's what I would've used instead - a gear for preferences, a "power off/on" symbol for logout, a simple blank page with a plus sign for "new", some sort of inbox or even an envelope for "notifications". Just keep it simple and don't overthink.


The man wrote git for use on the Linux kernel. Trying to argue with him about how to use git with respect to your tiny patch to the Linux kernel seems... like missing the point on a great many things. The rules for submitting kernel patches are laid out in great detail. Do you really thing arguing with the gatekeeper is going to change anything?
petercooper 2 days ago | link | parent | on: Plagiarism

The old adage is you can't copyright facts and there was certainly no requirement for TNW to do any "original research" to share these findings.

However, when you copy/use facts, you wade into hot water if you also copy the structure and the way those facts were originally expressed. The original TNW article shown here seems to step over that line with a barely masked copy of the original paragraphs.

What bothers me more, though, is that seemingly a CEO of a media organization has failed to do any damage control based around a genuine grievance (that wasn't even aggressively delivered). Saying things like "think it's pretty ridiculous that you're even getting the slightest bit annoyed about this", "needless to say, we'll be staying well clear of anything ur involved with in future for fear of ridiculous reaction" and using "u do realise that about 50% of all publications is content sourced from other publications right?" as a sort of defence is a horrible PR line for a proprietor to play, even if that's his honest opinion.


I just did a random sampling of these accounts, and what's interesting is that every one of the twenty accounts I looked at had about 3-6 followers, and was following thousands of people (or it was suspended).

All their bios sound like bot-generated text, they all have suspiciously similar passwords that look auto-generated, and none of them seem to have much to say.

On a hunch, I logged in to a few of those accounts and saw that they all had messages asking them to confirm their email addresses, as they had not done so yet.

This is probably not a "leak," but some spammer's list of fake accounts.


First step after an employer says no to paying you money owed should ALWAYS be a letter on dead tree saying exactly what your email said, signed by your lawyer. You'll come out $9,700 ahead because folks understand that fobbing off lawyers has consequences.

Your lawyer would have printed out email #2 ("You nuked a DB. Screw you."), called it a pretext to deny you rightfully earned wages, and told the company to have their legal representative suit up because he'd be happy to take his chances with any judge in the state. (Edit to add: Technically, that is a couple of increasingly pointy $300-a-page letters later in the sequence, but the threat of it is implicit from the first time he signs his name with Esquire.) A check would shortly arrive in his mail.


He's ok http://www.fsf.org/news/richard-stallman-speech-in-barcelona...

With a couple of months of programming knowledge, I wrote a program that saved my company $2MM/year. The key was combining knowledge of the business processes with some knowledge of programming. There were people with knowledge of one or the other, but not both.

I still can't write a basic app, but that doesn't matter. I can do things that provide massive value, and I wouldn't be able to do them without programming knowledge.

I think Jeff is underestimating how much time the average office worker would save simply by learning Excel Macros or some basic scripting. Learning to program is really damn valuable, especially in fields where most people don't know any programming.

leif 3 days ago | link | parent | on: Show HN: c

Comments for your C learning:

    #include <stdbool.h>
is better than

    typedef int bool;
    #define true 1
    #define false 0
Always, always, surround your if and else clauses with brackets. There are plenty of ways leaving them naked will screw you over. This goes for any language.

This is terrifying, and broken:

    char * s = malloc(snprintf(NULL, 0, "%s/%s", cwd, argv[1]) + 1);
    sprintf(s, "%s/%s", cwd, argv[1]);
Passing NULL to snprintf, first of all, should be a huge red flag for you. If it's not, train yourself to recognize it. I realize what you're trying to do, but it relies on non-portable behavior. In particular, from the manual:

    The glibc implementation of the functions snprintf() and vsnprintf() conforms
    to the C99 standard, that is, behaves as described above, since glibc version
    2.1.  Until glibc 2.0.6 they would return -1 when the output was truncated.
So until glibc 2.0.6, your program would be allocating 0 and then sprintfing into it. Always be careful when you read the manual, to read everything. And even then, program defensively, and train yourself to watch for errors like this one. In this case, passing NULL as the destination argument was an immediate no-no.

In this function, you really should be checking errno (for ENOENT). stat(2) can fail for all sorts of reasons, one of them is that the entry is not there.

    bool dirOrFileExists(const char dir[]) {
	struct stat st;
	if (stat(dir, &st) == 0) {
		return true;
	}
	else {
		return false;
	}
    }
Same for this loop, check errno to make sure the function's failing for the reason you think it should.

    while((entry = readdir(mydir)))
Here, you have something a little messy:

    int fileOrDirectory(const char path[]) {
	struct stat s;

	if (stat(path, &s) == 0) {
		if (s.st_mode & S_IFDIR) {
			// Is a directory
			return 0;
		} else if (s.st_mode & S_IFREG) {
			// Is a file
			return 1;
		} else {
			// Something else
			return -1;
		}
	}
	else {
		// Error
		printf("Error occurred\n");
	}
    }
First of all, returning values only you know about is bound for destruction. You should define an enum if you want a function to return specific states. Better yet, just do these checks in the function that would normally call this. It's not so bad usually, and you're probably calling stat(2) more than you should. It's a syscall, and those can be expensive. But more importantly, you have a branch where all you do is print something (to stdout, not stderr as you should), and then just return nothing! If you hit an error state, you need to either propagate that error up and handle it in the caller, or crash immediately. Don't leave your program in a garbage state and keep going. A compiler should have warned you about this (not having a return value in one branch). Turn on -Werror and at least -Wall. And fix your warnings, don't try to suppress them.

You should use fscanf(3) instead of this:

    while (1) {
	ch = fgetc(fp);
	newch[i] = ch;
	if (ch == EOF) {
		newch[i] = '\0';
		break;
	}
	i++;
    }
That's all for now, I gotta go. Good luck!

The quoted exchange is between Judge Alsup and Oracle's counsel, David Boies, and concerns the issue of what damages Oracle intends to seek in phase 3 of this trial (phase 1: copyright liability; phase 2: patent liability; phase 3: damages). The jury hung on the major copyright claims and the judge has yet to rule on the ultimate question whether the 37 Java API packages at issue are even protectible by copyright. Oracle proved infringement concerning the nine lines of code constituting rangeCheck and the judge held as a matter of law that Google had infringed respecting a couple of test files that were subsequently removed from Android. In this context, under applicable law, Oracle may elect to get statutory damages of $150K for each of the infringements or it may elect to go after what are known as "infringer's profits" - meaning that it would ask the jury to award it damages measured by profits made by Google on account of the infringing acts. Mr. Boies is telling the judge that Oracle wants to go for infringer's profits "as a matter of principle" and the judge is telling him, in effect, that he is astounded that Oracle would be prepared to make a claim for a billion dollars (or some other very large number) based essentially on nine lines of code among the tens of millions of lines of code in Android and a few test files. Mr. Boies strains to offer various rationales for how Oracle might prove damages of this type, mostly tied to the idea that Google gained in time to market for its Android product by relying on the infringing materials. The judge basically tells him that this position is ridiculous and that he cannot believe that an attorney of Mr. Boies's stature would even make it (at one point, he notes that Oracle is trying to make a "federal case" out of this and, catching himself, says (I paraphrase here), "oops, this is a federal case . . . well, seeks to make a bigger federal case out of it than it is"). (The Groklaw report on this exchange is worth reading and even fun in spots - it may be found here: http://www.groklaw.net/article.php?story=20120515120106322#U...)

This exchange highlights the rather unfavorable position that Oracle finds itself in on the copyright issues. It has won nothing of significance and stands to get very little from the jury on these issues. Concerning the broader claims on which the jury hung, it still faces a potent objection from Google that it cannot assert copyright violations based on the 37 API packages owing to defects in how the Java program was registered with the copyright office. It also faces the risk that the judge or a court of appeals will hold that APIs are not copyrightable.

A word on this last item: Much as the developer community believes very strongly that APIs should not be copyrightable, the Ninth Circuit law that is binding on this judge (beginning with Johnson Controls in 1989) is not particularly favorable in that it provides that software programs are to be analyzed item-by-item on the facts of each particular case to determine whether any particular component is protectible expression versus an unprotectible idea, function, system, or method of operation (this is in stark contrast to the First Circuit, which held that judges could make categorical judgments that certain components are functional by nature and hence unprotectible by copyright (as opposed to patent), as the menu structure was held to be many years ago in the Lotus/Borland case. Google is arguing the issue categorically ("APIs are inherently unprotectible under copyright law") but this makes for a tough sell in a jurisdiction where the appellate authority has said that such issues cannot be categorically determined. Google has alternative arguments, the main one tied to a leading Ninth Circuit case (Sega) that Google argues enables copying of functional elements of any program needed to ensure compatability. But, in my view, astute as this judge is, he will be bound to apply the fact-specific approach, making it tough for him to adopt Google's strongest argument and thus significantly reducing the prospects for a definitive ruling from the judge along the lines sought by Google (of course, this might come on appeal, where the court is free to reshape its earlier precedents in light of modern-day realities in the software world).


Mark Cuban writes: "As an employer I want the best prepared and qualified employees. I could care less if the source of their education was accredited by a bunch of old men and women who think they know what is best for the world. I want people who can do the job. I want the best and brightest. Not a piece of paper."

So, I suppose I could be wrong, but I would be willing to bet a great deal of money that Mark Cuban does not employ anyone in any sort of white-collar job who doesn't have a college degree from an accredited college.

It's nice for Mark Cuban to say that, but the reality is if you submit your resume to Mark Cuban Enterprises, Inc. where you list your education as being from the First Internet School of Book Learnin', Mark Cuban's HR people are going to delete it offhand. They're not going to call you. They're not going to try to find out if you're the best and brightest. They're going to delete it and call the guy who has Yale on his resume. Sorry.


Could you imagine at the extremes if you had been refused treatment because of your refusal to sign this document, to which you knew to be untrue, and to which they could not provide you with the policy. I studied law for four years (haven't qualified) , but I'm still not even sure on the liability on this one (if there is any at all in this hypothetical).

It just shows how bureaucratic everything has become when a privacy policy contains 3000 pages, to which they clearly never refer to, and to which you are most likely the first person to have ever asked to actually see the policy.

Best wishes with your health Richard!


I just don't understand the mentality behind looking for reasons not to pay out bonuses. I see it all the time. It baffles me. When people have credible claims to incentive compensation, just freaking pay them. Almost by definition, we're talking about sums of money with very little marginal impact on the company; those same sums often have unpredictably huge impacts on employees.

Forward-looking, employees-only, whatever: not paying is more costly than paying. It sure as heck is here, because this ended up being Miso's introduction to a huge swath of potential candidates down the line. What a debacle.

If you have legitimate concerns about abuse of bonus programs, the problem is with the structure of your bonus program, not with how you enforce payouts.


> You know how all Android developers complain about fragmentation? Yeah, this is what fragmentation looks like.

This is some of the most insulting garbage out there. I'm an Android developer. I don't complain about fragmentation. Ever. Don't you dare lump me into a group of people you hear complaining loudly. I'm not one of them!

I know it can be hard to get apps to work across all phones. The variety of available hardware is part of what makes the ecosystem so amazing. Of course there will be difficulties that arise from the range of devices (dynamically positioning text to align with a set image background across every screen size and resolution can be difficult, I'll admit) but those problems are not something to complain about, and frankly, they're not any kind of showstopper.

The variety in devices allows me to build apps like pressureNET, which uses barometers built in to some phones. I could never be building a groundbreaking, innovative weather network without different ideas and different manufacturers trying things out. As a developer, I love the variety available in Android devices. It's what makes the ecosystem thrive and it's what makes me thrive as a developer.

I hate this "all Android developers complain about X" bullshit. It's wrong, insulting, and counter-productive to everyone who's trying to build the next great app. Stop it.

edw519 21 hours ago | link | parent | on: Please learn to write

Source of my problems:

  design issues               5%
  architecture constraints    5%
  language shortcomings       1%
  mental blocks               5%
  personal time management    4%
  personal energy             5%
  communication with others  75%
I waste more time just trying to figure out what others are trying to say, sometimes in person and by voice, but mostly in writing. For most emails, I have to click "reply" or call back simply because what you're trying to tell me is so unclear. I think the last time I received a written specification I could actually work from was in 2002.

This isn't a problem of education, country of origin, or any other demographic: almost everyone sucks at writing. It's a real problem.

I suppose the best antidote to poor writing is more writing, especially on-line. Don't be bashful because as OP says, your readers won't be.

Thanks OP for the one "please" post this week that everyone can benefit from. (Did I just end that sentence with a preposition? Need more practice.)


>"Mark and his signature hoodie: He's actually showing investors he doesn't care that much; he's going to be him. I think that's a mark of immaturity," Wedbush Securities analyst Michael Pachter complained to Bloomberg's Mark Milian. "I think that he has to realize he's bringing investors in as a new constituency right now, and I think he's got to show them the respect that they deserve because he's asking them for their money."

Christ, what an asshole.

It's a negotiation tactic, one many of us use in interviews: by flaunting social convention and dressing down, you're signaling that you have leverage. Mark is the one being wooed, and not the other way around.

By whining about it in the press it just makes it sound like this fellow just isn't used to being the lowest status person in the room.


Fun Fact:

If you tack '.patch' onto the end of a Pull Request you get a 'git am' compatible patch file complete with the email address that Linus complains is missing ;)

https://github.com/torvalds/linux/pull/17.patch

EDIT: I should note this works on any commit as well. Take this commit from Casbah (the Scala MongoDB driver I work on) - https://github.com/mongodb/casbah/commit/990a36fbde69db26689... - removing .patch gives you the normal web based github commit page.


I have to land squarely on Square's side on this one. As far as I can tell, Square has handled this matter exactly as I would expect and hope. They communicated professionally and clearly with Jason. Jason responded with empty threats and demands, and clearly does not understand or respect his responsibilities in his business relationship. Getting money quickly from a merchant account is a privilege, not a right. That privilege is afforded in exchange for honoring the chargeback process, which for good reason initially favors the consumer by provisionally reversing the transaction. When a chargeback occurs - as clearly stated in Square's initial email - "The respective financial institution notifies Square and debits the funds from Square."

Chargebacks are not fun, but they are a fact of life. When a consumer challenges are credit card charge, the consumer is entitled by law and contract to have their case heard, and in the meantime the middlemen must make sure they won't be left holding the empty moneybag.

It is entirely reasonable for the Square to make sure funds are available to pay the consumer debt should the consumer prevail - Square will be out that money regardless of whether Jason pays up.

To be frank, based on his attitude, Jason seems like the sort of guy who would refuse to pay up if the dispute had been decided against him and he disagreed with the determination. This is exactly the reason Square was and always will be justified in freezing the amount associated with any chargebacks. There is a process for handling chargebacks that you submit your self to in exchange for the convenience of getting money quickly from the credit card system. That money is only yours if the consumer does not challenge the charge - usually they don't, but you are responsible to pay if they do, and you are responsible for funding your account to cover whatever level of chargebacks your business sustains.

It is entirely reasonable for: 1) Square to freeze funds associated with chargeback attempts. At this point, Square is out those funds. 2) Square to withdraw funds from a link account if the Square account is empty. It's the responsibility of the merchant to keep funds available to handle chargebacks, as I'm sure is clearly stated in their agreement. If the merchant has kept all funds out of reach of Square, by withdrawing all their money from the account and keeping the associated bank account empty, the merchant is indicating that they do not intend on fulfilling their end of the bargain on having a merchant account - namely honoring chargebacks and the determination process for chargeback disputes. If this withdraw results in NSF fees, particularly for a chargeback of such a small amount, that is the merchant's fault for not funding their account. Furthermore, NSF fees are easily avoidable by depositing funds the same day - why Jason did an electronic transfer is beyond me.

Based on Jason's ignorance of his own responsibilities, his refusal to keep money available to handle chargebacks, his empty and immature threats to "go to the press" among other things, and his general disregard for his role in the business relationship, I would expect Square probably wants to terminate his account, but will decide against that as it would be more bad PR than it's worth. They would be justified, however, holding funds for a longer period of time, since it's clear he refuses to keep funds available to handle chargebacks and to honor the largely fair chargeback process.

The only counter point I can think of is that, for a certain chargeback/total charge ratio, it does seem Square could take the risk and absorb any funds deficit. That is not traditionally how things work though, and since Square is doing their best to get merchants paid as quickly as possible, it only seems fair that merchants would do their best to ensure Square they intend to honor their end of the bargain. If Square did take on this risk for small chargeback amounts for merchants in good standing (say < 3% of total charges,) this would delay someone like Jason's understanding of the chargeback process until a real problem occurred - like a large number of customers demanding refunds. That might ultimately hurt Square more than it helps, both financially and in PR.


Categorically opposed to the death penalty for every possible reason: moral, religious, practical. But: what the hell is this article doing on HN?

No shit, you say? Capital punishment is inane, unjust, and difficult to justify in a message board thread? Wow! Glad we sorted that out! Can we move on now?

If every legitimate social justice issue had a hearing on HN, the front page would be nothing but social justice issues.

Flagged.

logjam 2 days ago | link | parent | on: Plagiarism

Quit using manager-bullshit-speak. Here, let me write your entire "processes AND policy" manual for plagiarism:

1) Don't do it;

2) If it occurs, fire the guy who did it;

3) Apologize and try to make it right;

4) Shut up.

You seem to find each one of those steps challenging.


I wonder how many people throwing opinions around this were "of age" in the early-to-mid 90s and thus remember what an unstoppable behemoth Microsoft was.

This was a time when they had 95%+ of the desktop OS share and you basically couldn't run a home computer with Windows. This was the early days of Linux (IIRC in ~1994 I downloaded SLS running Linux 0.99.x onto ~30 floppy drives over a 2400 baud modem!). Macs were an expensive niche product. Personal computing just wasn't possible without Microsoft.

Microsoft very much used this position to kill Netscape as they saw the Internet as an existential threat (fearing Netscape would be the new OS). They tried to subvert Java (the threat of "write once run anywhere" being a threat to the Windows lock-in) and partially succeeded. It was at this time that the DoJ stepped in.

I can't overemphasize the perception the tech community had of Microsoft then. Windows was rapidly evolving. Windows 95 was, I believe, a major turning point for the company (and where it achieved at least technical superiority over MacOS having preemptive multitasking and dynamic memory management). Microsoft really had an aura of invincibility.

We are not in this situation today. Apple seems unable to do no wrong (in the marketplace; there are what are still fringe elements criticizing them for any number of things) but don't have the market position Microsoft did.

In fact, Microsoft doesn't have the position Microsoft did in the 90s. At this point I believe we have viable alternatives to personal computing between mobile devices, Macs (you can get a Mac Mini for $600), netbooks and--dare I say it--even Chromebooks (you'll note that I left Linux off that list as I believe it will never be a viable mainstream desktop OS and of course I know it powers Android/ChromeOS).

I certainly don't see an issue (yet) with Apple blocking alternative browsers. Don't like it? Buy an Android. Or a Windows Phone 7. Or a Blackberry (OK, I couldn't keep a straight face with that last one).

Windows and Office are the geese that lay the golden eggs in Microsoft. Everything is beholden to them. As an organization, Microsoft seems terrified they'll die and as we've seen time and time again it's that fear and that switch from innovation to defending your turf that ultimately leads to the death of companies.

I believe the whole Metro API browser thing is just more evidence of Microsoft's stagnation. Let them I say. It'll probably, at least in some small way, hasten either their demise or them attempting to turn the boat around before they go off the cliff.

EDIT: yes Netscape was complicit in its own destruction. I used Netscape up until version 3. By Netscape 4 on a 486DX4/100 at least, IE4 was significantly better and faster and I never switched back (not until Firefox 1.5/2 years later).

Netscape eroded at both ends (IMHO). At one end obviously was Microsoft giving away the equivalent to their consumer product for free (as well as bundling it with the OS, making it harder to use non-IE browsers and so on). At the other end was actually Apache. The Apache Webserver I believe it incredibly difficult to build their server software platform (anyone else remember Netscape's Web servers?).

It wasn't until the rise of search engine advertising some years later that Microsoft's hold could be broken, it being the only thing that makes Firefox and Chrome possible.

As an aside to all those who are anti-ads: how exactly would non-OS browsers exist without advertising?


Thank you for posting this. As a community of entrepreneurs and hackers it helps all of us know what happens behind the scenes. Some people may view it as airing their dirty laundry but I see it as a way to keep people honest.

The fact that you dropped the production database sucks. However you stayed around and fixed it. I can't really say anything more. My bet is we all handle lots of sensitive data around here. Our worst nightmare is to drop that data by accident. Stuff happens...fix it and move on.

I understand we are a litigious society but if your knee jerk reaction is to bring in lawyers something is wrong. My hope is this post will make it around to Somrat and Tim (I've never met either of them) and you two will resolve it amicably. Maybe I am delusional but good character still counts for something.

jacquesm 2 days ago | link | parent | on: Plagiarism

You really don't get it do you?

> If it ever does happen, I assure you that all it takes is one email to office@thenextweb.com and we'll have it resolved.

I'm sure it does. But the point is that you should ensure through process and not through policy that you do not end up with other people's stuff on your site without attribution or compensation.

The fact that you'll take it down to avoid further damage is not enough to put you in the clear, this is not 'user generated content', these are people with who you have a relationship where you have them create works on your behalf.

You're responsible.

One way in which you could do this - consult your local legal eagle - is to ask your authors to sign a release stating that they are the original creators of all the content they submit, and that they are within their rights to re-sell this content to you.

drewblaisdell 2 days ago | link | parent | on: Plagiarism

Update: image credit added after I posted this. Still, the image should be removed, this is copyright infringement.

TheNextWeb is infamous for plagiarizing images for that section. Take this article, for example: http://thenextweb.com/entrepreneur/2011/05/23/stylish-techno...

The image at the top of the article is taken from this Dustin Curtis blog post: http://www.dustincurtis.com/press_on.html (the filename of the image is even Screen-shot-2011-07-10-at-12.08.40-PM-520x245.png). There is no reference to Dustin Curtis's blog at all on the page, either.

It is ridiculous that they find repeatedly doing this to be acceptable.


The divide is fundamentally about choosing what's in charge of your system, the system being composed of your databases, your applications, and your supporting infrastructure (your scripts, your migrations, etc.) To relational database folk such as myself, the central authority is the database, and our principal interests are what ACID exists to provide: concurrent, isolated, atomic transactions that cannot be lost, on top of a well-defined schema with strong data validity guarantees. To us, what's most important is the data, so everything else must serve that end: the data must always be valid and meaningful and flexible to query.

The side that argues for ORM has chosen the application, the codebase, to be in charge. The central authority is the code because all the data must ultimately enter or exit through the code, and the code has more flexible abstractions and better reuse characteristics.

The reason for the disagreement comes down to disagreement about what a database is about. To the OO programmer, strong validation is part of the behavior of the objects in a system: the objects are data and behavior, so they should know what makes them valid. So the OO perspective is that the objects are reality and the database is just the persistence mechanism. It doesn't matter much to the programmer how the data is stored, it's that the data is stored, and it just happens that nowadays we use relational databases. This is the perspective that sees SQL is this annoying middle layer between the storage and the objects.

To the relational database person, the database is what is real, and the objects are mostly irrelevant. We want the database to enforce validity because there will always wind up being tools outside the OO library that need to access the database and we don't want those tools to screw up the data. To us, screwing up the data is far worse than making development a little less convenient. We see SQL not as primarily a transport between the reality of the code and some kind of storage mechanism, but rather as a general purpose data restructuring tool. Most any page on most websites can be generated with just a small handful of queries if you know how to write them to properly filter, summarize and restructure the data. We see SQL as a tremendously powerful tool for everyday tasks, not as a burdensome way of inserting and retrieving records, and not as some kind of vehicle for performance optimization.

At the end of the day, we need both perspectives. If the code is tedious and unpleasant to write, it won't be written correctly. The code must be written--the database is not the appropriate thing to be running a web server and servicing clients directly. OOP is still the dominant programming methodology, and for good reasons, but encapsulation stands at odds with proper database design. But people who ignore data validity are eventually bitten by consistency problems. OODBs have failed to take off for a variety of reasons, but one that can't be easily discounted is that they are almost always tied to one or two languages, which makes it very hard to do the kind of scripting and reporting that invariably crop up with long-lived data. What starts out as application-specific data almost invariably becomes central to the organization with many clients written in many different languages and frameworks.

We're sort of destined to hate ORM, because the people who love databases aren't going to love ORM no matter what, and people who hate databases will resent how much effort they require to use properly.


This is a terrible post. He wildly exaggerates Jeff's statements and completely misses the point of it, which was not in any way "no one should learn to program", but rather "don't learn specialized skill sets you don't need". Jeff's point focused on whether programming was the best path to solving a problem for most people, and whether they would actually gain anything from it. His main argument was that programming was just a tool for problem solving, and it didn't solve problems that most people would need to. Rather than do a half-baked job of writing some code, people should take a different, more effective route.

I don't necessarily agree with that, but that's what he said. And this post completely misses the point and makes Jeff's post out to be something it was clearly not meant to be.


LifeShield is a horrible company.

They've been a horrible company ever since their name changed from "InGrid". I originally purchased my system when they were InGrid about 6 years ago.

When I bought my system, it was advertised that the system would work with or without monitoring, which was a huge selling point for me. I wasn't sure if I really cared about the monitoring or not, since alerts go directly to your phone, email, etc. With those kinds of alerts, who needs someone else to call the cops for you?

Anyway, so I invested in the system mostly for this reason. The InGrid site was great and the support staff was friendly and helpful - I always ended up talking to the same person and it was a nice experience. So I dumped a good $600 into sensors, cameras, etc.

Fast-forward a few years and InGrid changes their name to LifeShield - I don't know if this was an acquisition or a brand change or what, but it brought on a slew of bad experiences. The support staff started sounding cold and uninterested. The website started going to shit, it was impossible to find things (try finding the online control panel to your system - that thing has changed URLs / names at least 5 times).

But the two worst things: a few months ago, they raised my monitoring rates with no notification whatsoever. I saw my monthly charge come in $5 higher than it used to be. Obviously not a ton of money but I'd like to know why I'm paying $60 more per year for the exact same service. I called them up and they said "Well our rates are now different for those who aren't on a contract with us. If you'd like to go back to your normal rate, you'll need to sign a 3-year contract with us." What, The, Fuck. I don't want a contract, especially not with a company who randomly decides to raise rates of their longest customers without notification.

So I decided to shut off the system monitoring. When I did so, to my horror I found that the entire system was bricked. The control panel says "Not Activated". They've once again fucked me, going back on their original statement that the hardware would work without monitoring.

So I'm done with them. They're a shitty company who's gone down the toilet over the past few years.

From the article here one of the LifeShield reps said they took a huge hit to their business because of some random clone on the web... that's probably bullshit. They're taking a huge hit to their business because of their shady business practices and lackluster product offerings.

More

Lists | RSS | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Search: