Hacker Newsnew | past | comments | ask | show | jobs | submit | DerpDerpDerp's commentslogin

Countering that you only stole his wallet, not his car might not have been the best response though.


This post makes your company look considerably less professional than it otherwise would have, even leaving allegations about code theft unanswered.

I might have been unsure if you were running copyrighted code, but now I know for sure you stiffed a programmer and are trying to cover your ass after the fact.

As a professional consideration, I won't be using any of your services. Failing to pay an appropriate invoice for services rendered to you is a serious black mark for a company, particularly to people who depend on contract work to make a living.

Finally:

> Our agreement with the poster makes it clear that we own all work product produced pursuant to the agreement

I suspect that this is only true in the event that you completely paid the programmer. Failing to do so likely invalidated the copyright transfer, which is standard language to include in a contract.

I also suspect that the code you're currently running is not a clean rewrite, meaning that the next programmer based his code on that code and likely didn't remove literally every piece of it from the code base before starting.

This very easily could have left your company with liability regarding the code you're no longer using, because the formation of your current code base depended integrally on violating the copyright of the programmer you didn't pay.

I suspect you should just shut up and stop making a bigger deal of this in public, and that you should ask your lawyer point blank if the cost of fighting over the liability you might not have properly controlled will be cheaper than just paying the rest of the programmer's fee.


> As a professional consideration, I won't be using any of your services

Considering their product is to help prison inmates communicate -- I hope none of us get to use their services!


Well, you could be at the other end of the communications, their 4 word description is "Connecting Inmates to Society".

In a "Three Felonies a Day" (http://www.amazon.com/Three-Felonies-Day-Target-Innocent/dp/...) society the odds of your ending up in one or the other position are probably greater than you think, certainly greater than you hope.


From their website, they appear to both provide services to talk to inmates (of which I have a few friends from my time growing up in a poor, crime infested neighborhood) and to act as a data broker about the prison system and inmates, something I've had a long interest in and is related (tangentially) to my professional work in data analytics.

I won't be using their services either, neither as a communication method nor as a data supplier, and will try to steer any companies I work on data analysis at away from using their data.


Are you claiming that there is a difference in the class of problems that can be computer between an 8 bit processor and a network of 1 bit processors?


If only we could replace eye witness testimony: it's notoriously faulty.


Most police forensics is junk science: http://lst.law.asu.edu/FS09/pdfs/Koehler4_3.pdf (page 4).


We can, with high quality security cameras littered around public areas.


Wouldn't a properly formed DMCA complaint in this case be one of the few times you could commit perjury with one?

There's no way they have any good faith belief they own the copyright to (or are authorized by its holder to act in their stead about) the material explicitly named.

I'm just going to assume that their lawyer is smart enough to not have filed a DMCA notice, as such, and just send a thuggish letter instead.


Your analysis ignores the key point that bacteria operate on simple rules based entirely on local concerns, which is not the proposed case in the sci-fi story.


So you're saying that top-down management or even peer-to-peer management will exist within the grey goo scenario? I'm somewhat skeptical about top-down management, as there would be enough nano-bots within a 1cm deep layer in a city the size of NYC to far outstrip the attempts of a complex entity to control them coherently. As far as peer-to-peer communication goes, then bacteria are already doing this; http://www.hhmi.org/research/cell-cell-communication-bacteri... and they still haven't covered us in grey goo.


I do work in Haskell.

At the end of the day, you still write some stateful, imperative code.

It's just that your utility/work functions are pure, which means that you have predictable side-effects: you've stuck them all in one (imperative) place, or perhaps a couple places, but you're guaranteed to know where they are because the type system enforces notating which code has the ability to cause side effects. (Makes it easy to grep on type signatures, for example.)

Most of my workload is dominated by high level concerns: correctness, large-scale data flow, coordination of state, and security.

The purity of functions means that I explain all of the constraints/solutions of those problems in pieces, which I then compose with a clear data flow between them (since they can't have shared, mutable state), and only at the end, lift them to operate on the state of the system (in a stateful, imperative block).

This way of programming gives me much more confidence in replacing pieces of the code without worrying about the side effects, because the side effects are predictably related to that code.

At the end of the day, that predictability of side effects makes the majority of my work MUCH easier, even if it adds complexity to some low level data manipulation.

I easily write 10x the high level code I do low level code, so a 20% savings on that code, even if I double the complexity of low level code, is a net savings on my time/effort.

tl;dr: Functional programming is a productivity booster if most of your work is of a high level nature, even if it makes low level manipulations harder to do. Interfacing with low level imperative code can be (and is) regularly done, to get the best of both worlds.


This is certainly an intriguing answer, and makes me want to try Haskell sometime, but it also makes me wonder if I can't get the same benefits, with a little effort and discipline, in a "semi-functional" language such as something in the ML family or even (if I can live without static typing) Lisp.

In fact, I've always made a point, when working in a semi-functional language, of writing as much code functionally as possible. My experience is that it has the same benefits as you describe. So I don't know how much more there is to be gotten by actually switching to Haskell. My guess is, most of the additional benefit would come from the type system. But maybe I would be motivated to write even more code functionally.


All being a "functional language" means is that it's easy to write with a particular paradigm in the language.

You certainly can write similar code in ML, Java, or C - or whatever language strikes your fancy. It just helps when the type system is lined up with that goal, such as forcing you to denote where side-effects occur, and ensuring only functions that expect side-effect based code can operate on them. (For what it's worth, I've used both ML and Scheme to write similar style code as part of a programming languages class; and similarly, the C code I write relies on the functional ideas as much as possible.)

I just like the combination of Haskell's syntax and type system, so I prefer it to something like C (where functions aren't exactly a first class datatype, and the type system is somewhat weaker).


I just started to work with Haskell seriously, and after some trouble I discovered exactly the same development approach as DerpDerpDerp. However since I am not yet experienced I wish I had an "observer" to print debug messages (I know that there is a debugger in EclipseFP but I prefer Emacs for performance reasons). With observer I mean a compiler pragma that lets me print Haskell values without violating the functional nature of the code.

By the way, you don't need to live without static typing in Lisp. Shen provides a powerful type-safe layer on top of Lisp.

http://www.shenlanguage.org/learn-shen/types/types_functions...


If you want to be pure, you can add a strict WriterT to your monad stack, or something similar.

If you don't mind temporary impurity, Debug.Trace provides some helper functions, but they call unsafePerformIO, which can do unexpected things.


Sounds like you're looking for the Debug.Trace module


Thanks, I'll take a look at it.


Many of the same effects can be obtained using even non-functional languages in a disciplined way. However, many of the best strategies and patterns for constructing pure, stateless software are enshrined in the Haskell standard libraries.

Once you learn the techniques and programming styles of Haskell, you can certainly apply those ideas elsewhere, but they lose a lot of their power when you (or another developer on the same code base) start "cheating".


There's a distinctly 21st century flavor to being able to store all the banal life mistakes indefinitely, to dig them up later if we ever need dirt on a particular person.

Before it was varying levels of unprovable (ie, not photographs or verifiable sources) and bandwidth limited (people could only store so much information; sources weren't interlinked for quick queries).

So it's actually quite likely that when we drafted our laws, this was an implicit right by the nature of technology, and considered a natural part of the bounds of specifically enumerated rights.

We should make sure, as technology removes traditional limits on what we can do, that we adequately adjust our laws to reflect that change.


Except that the particular beams of light being discussed are intentionally meant by the broadcasters as resources for the public as part of fulfilling their deal to license the spectrum that beams of light useful for TV happen in, since the spectrum is fundamentally a public resource (hence open to anyone), and the exchange of public spectrum comes only in return for public usable content.

It's not like the claim was about just any beam of light.


Right. I think that there's a big difference (legally and morally) between the beams of light passing between my cell phone an the cell tower, versus something that's being broadcast specifically so that everyone with an antenna can hear it.


That is true to a point. But the spectrum is only a public resource under specific conditions and Aereo has not met those conditions according to the law and legal institutions we have empowered to make those decisions.

I have read some of your previous posts and they are exceptionally well written.

However, I await the idiotic HN consensus about to be posted below this comment stating -

a. Judges are <insert slur> old men b. Old people don't understand technology c. Silicon Valley could solve the entire world if we just let it


The military and government in general makes extensive use of contractors for specialized tasks, but manages to audit and limit their behaviors to the degree that they're performing work on behalf of the government, recognizing that contracting out government work doesn't make it not government work.

How are these any different?

Even if they are contractors for specialized policing (something I find dubious, but am not sure is actually a bad idea), why wouldn't they still be subject to regulation as government employees while performing government work?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: