HNHacker News
TopNewBestAskShowJobs

mmalone

627 karma · joined April 4, 2007

submissionscomments
mmalone··on SES-10 Mission
You don't need to send a live person to ensure the survival of the species. I agree, it's not about that.
mmalone··on Modern C++ and Lisp Programming Style
I actually agree, for the most part. I'm not advocating for Haskell or any of the other languages I mentioned, per se. I've spent time with lots of languages and there are things I like and don't like about all of them. If you forced me to write down my top 10 favorite languages, there would undoubtedly be several Lisps near the top.

If you're programming a single computer the existing languages and tooling are good. What I'm interested in is distributed compute and compute over heterogenous architectures (CPUs, GPUs, FPGAs, microcontrollers, etc).

For simplicity, let's limit ourselves to the simple case of HTTP-based service-oriented systems (or microservices). The state of the art has us spending a lot of time considering serialization, protocols, communication failures, managing identities, making authorization decisions, routing, etc. Things that should be completely orthogonal to the problem we're trying to solve end up being tightly coupled with our business logic. This becomes exponentially harder to manage as you add languages to your stack.

There is a lot of research around solving these problems. Unfortunately, all of it starts with a formal system that is "declarative" (or at least "algebraic") and doesn't mesh well with existing popular languages and tooling. Personally, I think we need to come up with a solution that lets us keep the existing tools that are good for programming a single component, and use some of this newer technology to build a smarter platform / underlay. The bridge between the existing languages and this underlay would be DSLs. Or, more precisely, "abstract languages" that can be implemented as DSLs in a variety of programming languages and may or may not have their own concrete syntax (think SQL+ORMs).

Sort of vague, I know, but hopefully that kind of makes sense?

mmalone··on Modern C++ and Lisp Programming Style
I'm still pretty new to Haskell, but I think there are several ways. The equivalent to your addone3 would be some sort of Template Haskell incantation. Template Haskell gives you lisp-style hygienic macros that are expanded and type checked at compile time (except more complicated because of the more complicated semantics and AST).

Haskell also provides a ton of options for generic programming that provide similar power (still statically typed). GADTs (Generalized Algebraic Data Types) might be of use here. There are also existential types and type classes.

What you probably really want though is a dependently typed language like Idris or Agda. If you're not familiar, here's the one liner: Java generics are types that depend on types (like a List of Bools). Dependent types are types that can depend on values (like a List of exactly 3 Bools). So in theory you should be able to define the type you're looking for here, but I don't know what the concrete syntax would be.

The problem with dependently typed languages right now is that the surface languages and concepts tend to be hard for people to grok. Personally I think meta-programming facilities and DSLs will help with this. Ther are lots of languages heading in that direction.

mmalone··on Founder Stories: Leah Culver of Breaker (YC W17)
Pownce, represent.
mmalone··on GitHub lets staff own IP developed for personal projects using company resources
It's also interesting how infrequently this is actually enforced by employers. Outside of extreme cases (like the current waymo/uber litigation) I've never heard of it being enforced -- even when it's pretty obvious that IP was transferred (e.g., foursquare / dodgeball). I feel like it's in there because it always has been. I thought about removing it for my new business, but I'm worried about diligence issues if I end up raising more money or selling. At GitHub's scale that's less of a concern.
mmalone··on Azure Intellectual Property Advantage
Yes, patent reform is needed. I do what I can to support that effort. In the meantime I have a business to run and I need to work within the existing legal framework to keep it protected. Access to patents for defensive purposes / patent exchanges are one way to do that.

I do not see how this, in itself, is bullying on Microsoft's part at all. The Apache 2.0 license has a similar mutually assured destruction proviso w.r.t. patent suits. It's one of the reasons that the Free Software Foundation recommends using that license. Is that bullying / FUD?

mmalone··on Azure Intellectual Property Advantage
I agree. Unfortunately, the US patent system doesn't.
mmalone··on Azure Intellectual Property Advantage
It's complicated. FWIW, if I was the CEO I probably would have fought.
mmalone··on Azure Intellectual Property Advantage
I'm not as interested in the part about indemnifying use of open source software. It's not worthless though: Google did something similar for Android developers when Oracle started suing (which is a much more recent example than SCO, so it does still happen). Also, my guess is that mid-to-large organizations do see patent suits on a regular basis and that most of them are never made public. So we wouldn't necessarily know how common this is.

Either way, the "patent pick" part is more interesting to me. It gives you some protection for stuff you write yourself. Quick story: I was working at a BigCo about 10 years ago and was told I couldn't embed some HTML in a javascript string and dynamically inject it into the DOM because "that was patented" and "we've been sued for doing that before." Patent pick could help defend against bullshit like that (assuming the litigant is not an NPE).

mmalone··on Azure Intellectual Property Advantage
Upon closer inspection it appears that you are correct. I interpreted "raised" as "extorted." That still may be the case (the cited source is a dead link) but I think you are right... particularly since some of the names listed are venture firms.

Whatever the case, IV is quite an enigma... founded by the creator of MS Research (which is a great group), funded by Reasonable People, but apparently sketchy as hell. I'm intrigued and will definitely be digging deeper into their story. Thanks for bringing them to my attention.

mmalone··on Azure Intellectual Property Advantage
Ha. I'm sure you're SOL if that's the case.
mmalone··on Azure Intellectual Property Advantage
Subsection 4.17a$19 in terms: we reserve the right to not license you any patent if you do that thing you just described.

Seriously though, hopefully there's some mechanism covering this sort of abuse. Even if there's not, if I were MS I would simply not comply. It's civil law, and your behavior is completely unreasonable and does not reflect the any reasonable interpretation of our agreement -- come at me. Besides, what are your damages?

mmalone··on Azure Intellectual Property Advantage
I did too until I realized that the alternative had a high probability of ending in bankruptcy resulting in loss of employment for two dozen employees. I'm fine taking a moral stand when I'm the only one who stands to lose. It's harder when you're playing with other people's money / lives.

The world isn't fair.

mmalone··on Azure Intellectual Property Advantage
The point wasn't to establish IP credibility, it was to establish myself as "not a shill for Microsoft." Every F100 company has done bad things with patents.

How's this: I've been a student of patent law since the late 90s. I've read "The Economic Structure of Intellectual Property Law" cover to cover. The patent system is a huge fucking mess and we need reform. I used to have pretty idealistic opinions about how to handle patent trolls until I started dealing with the ugly and expensive process of defending a suit. Until reform happens, businesses need to do what they can to survive. This helps.

mmalone··on Azure Intellectual Property Advantage
Obviously, but yours was also an unfair characterization. I maintain that this is a good idea and that other companies (Google and Amazon) should follow suit regardless of Microsoft's behavior around patent litigation.

If it does turn out that Microsoft is only doing this so that they can go and sue people who are using AWS or GCP then I'll change my tune. Until then I'll give them the benefit of the doubt.

Furthermore, if Google/Amazon _did_ follow suit it would be mutually assured destruction for Microsoft to sue AWS / GCP users.

mmalone··on Azure Intellectual Property Advantage
Ok, it was started by a former MS exec and funded by Gates... that's shitty, but Microsoft has lots of former employees and I'm sure Gates invests in lots of things. For all we know it was a family office investment that he wasn't even aware of... or the dude was a friend or something.

Microsoft doesn't have a stake in the company nor do they provide the company with any assistance..? Unless there's more to the story I think it's kind of a stretch to say that this is a Microsoft operation. According to Wikipedia they've actually _sued_ Microsoft.

mmalone··on Azure Intellectual Property Advantage
Wow, way to blame the victim.

The first two times the decision was made above my head.

The third time I was in the C-suite and it was a joint decision. I had a heart-to-heart with our lawyers because I _did not_ want to settle. Our head IP lawyer said he felt me -- he thought the suit was bullshit, would love to fight, etc -- and if we decided to defend he'd be 100% with us. However, his firm was currently engaged in defending another suit with the litigant and it had been appealed through the circuit court in Texas. At that time it was pending hearing by the Supreme Court. That client had already accumulated more than $250,000 in legal fees and there was no guarantee that they'd win. Even if they did win, it was unlikely that they'd be able to recover any of those fees. He estimated total cost of fighting would be between $250,000 and $500,000.

I reached out to friends at large tech companies to see if they had experience dealing with the litigant. I heard back from two of them that they did have experience, and that they settled. Since there was an ongoing case involving the litigant that was already heading to the Supreme Court (and one that had at least as good a chance of winning) we opted _not_ to spend a significant amount of our venture capital fighting an expensive battle that, at best, would cost us hundreds of thousands of dollars and, at worst, we would lose in Texas.

In the end we spent significantly more money on investigating a defense then we actually paid in settlement.

If you're interested in covering the financial costs associated with fighting these suits please let me know. I would definitely take you up on that and fight all day every day.

mmalone··on Azure Intellectual Property Advantage
Or... like how insurance companies offer insurance if the mob burns your house down and will prosecute the culprits on your behalf.
mmalone··on Azure Intellectual Property Advantage
They can push for reform _and_ provide legal protection like this. They're not mutually exclusive.

I'm assuming by IV you mean Intellectual Ventures..? Are they tied to Microsoft? I thought they had _sued_ Microsoft..?

mmalone··on Azure Intellectual Property Advantage
I feel like I'm starting to sound like a shill in this thread... I don't work for MS, don't use Azure, and am generally considered an "Apple fan boy." So, with those bona fides out of the way... I disagree.

The reality is that this is not FUD. People actually _are_ sued on a regular basis for bullshit like this. Microsoft is indemnifying Azure customers and giving them free access to their patent portfolio for defensive purposes. This should _reduce_ patent suits, which is a _good_ thing.

Google and Amazon should follow suit.

mmalone··on Azure Intellectual Property Advantage
That may have been true in the past but, as far as I know, Microsoft hasn't been that way for years.

Every large tech company has a patent portfolio. Hell, Google bought Motorola to get their patent portfolio to use defensively in suits against Android.

In my opinion companies should not be punished for using patents defensively. It's really the only viable option outside of a major legal change. So, I think Microsoft giving other people access to their portfolio for defensive purposes is a good thing. It should _reduce_ the amount of patent litigation.

mmalone··on Azure Intellectual Property Advantage
In my experience there's definitely value here. Companies get sued on the regular for bullshit like this. I've had to deal with three patent suits at startups. They were all bullshit, and they all ended in settlements of ~$10,000 (cheaper to settle).

Countersuing is probably the #2 most common response to a patent suit (after settling). It's so common that there's a name for it: "defensive patent strategy." Basically, you file a bunch of patents, but you don't proactively go out and look for infringers. You're just hanging on to them in case you get sued. If you get sued you go and look at the person who's suing you and try to find one of your patents they're violating. This actually works fairly well because the patent system is so broken, and patents are so easy to get, that you can almost definitely find a violation given a reasonably large portfolio (and 10,000 patents is reasonably large).

Unfortunately, countersuing doesn't work against NPEs... and NPEs are usually the ones doing the suing.

mmalone··on Azure Intellectual Property Advantage
I'm not a lawyer, but I have dealt with patents a fair amount... so here's a quick ELI5...

1. Uncapped indemnification: this one is pretty simple. If you're sued for using some tech that powers Azure, Microsoft will cover any losses (indemnify you).

2. Patent pick: if you're sued for patent infringement _at all_, Microsoft will let you "pick" one out of a selection of 10,000 available patents to use in a countersuit. This is an extremely common tactic in IP lawsuits, but one that is only available to folks with large patent portfolios (this is what people mean when they say they have a "defensive patent strategy"). For example, Oracle sues Google for infringing patent X, Google countersues for infringing patent Y, eventually everyone settles (or not, heh). Presumably, the patent will actually be transferred to you (you become the legal owner of the patent) for the duration of the suit (I'm sure there are lots of conditions here).

3. Springing license: "non-practicing entities" (NPEs) are a _huge_ problem for tech companies. They're also known as "patent trolls." The reason they're so hard to deal with is that they don't actually do anything (other than sue people) so it's hard to use the countersuit tactic mentioned above (if you don't do anything, you're probably not violating any patents). Microsoft is saying that, while they do not generally transfer patents to NPEs, if they ever did so there will be a "springing license" to that patent granted to eligible customers. Therefore, those customers could not be sued by the NPE.

Now, some editorial. I actually think this is a good thing. They're trying to create a "patent free zone." They can't get rid of patents, so the only way to do that is with "legal hacks" like this. Right now small companies without patent portfolios are at a huge disadvantage when it comes to defending against frivolous patent suits. This would absolutely help. Moreover, one of the eligibility requirements states that you must have remained "patent peaceful" against Azure workloads for the past two years. The only way they could have made this better is if they had made the program more broadly available (btw, you're only eligible if you spend > $1,000/mo on Azure).

For what it's worth, the ideas here are not completely novel. Patent exchanges are fairly common (although you usually need a patent portfolio to join one). There are also some similarities with the Apache 2.0 "mutually assured destruction" clause which (again, in ELI5 terms) tries to prevent patent suits for use of Apache licensed software by saying that if you sue someone for using Apache licensed software then other people can sue you for your use of Apache licensed software (without giving up their right to not be sued).

mmalone··on Kaspersky OS
Linux doesn't scale down very well though. I really don't need the full Linux API for a lightbulb. Most embedded OSs are microkernels for this reason. If any mega-trend has a chance of unseating Linux and generally disrupting the OS space it's IoT.
mmalone··on Kaspersky OS
The article is light on details, but based on the way they talked about it ("impossible to hack in principle") it's likely that they actually can _prove_ that it's more secure than a Linux distro dedicated to security insofar as they're able to prove anything at all. Since the Linux APIs are not formally specified, or verified, it's essentially impossible to _prove_ anything at all (again, in a formal sense). Formal verification can get esoteric quickly, but the state of the art is very impressive (see CompCert, seL4, Agda, Idris).

As someone who has been paying attention to this space for some time I welcome anything new that increases exposure. It's cool stuff, and it's probably the future. However, there's a long way to go. Security doesn't stop at the operating system. In fact, the vast majority of security breaches occur due to misconfiguration, bugs, or good old fashioned social engineering. To really build a system that's "secure in principle" you can't stop at the operating system: you need to build a toolchain that makes it easy to build user space applications that are also "secure in principal" and you need to work on the HCI so the security model makes sense / isn't defeated by users. That's going to be a lot of work!

mmalone··on Blue Feed, Red Feed
There was talk recently about how "a lot of Macedonian teenagers" were creating clickbait fake news sites to make a dime on Facebook. They figured out the formula that excited a certain cohort into lots of shares & clicks and they used it to make ad money.

Here's the thing: anyone who uses this site knows that algorithmic ranking systems are gameable. There are some protections against individuals or small groups repeatedly gaming the system, but Facebook has put a profit motive behind it. That, and stopping all of /pol/, or the 280,000 members from /r/The_Donald is not so easy.

mmalone··on Blue Feed, Red Feed
You have to be able to filter for credibility. Right now Facebook makes that hard. They could build tools and adjust their UI to make it much easier.
mmalone··on Blue Feed, Red Feed
And Facebook emphasizes the headline keeping the person who shared it and the actual source relatively obscured. 99% of people only see the picture and the headline.
mmalone··on The Myth of RAM (2014)
Yes. This is what I came to say. Big-O assumes a model of computation. Typically people assume a random access machine with certain constant time operations like arithmetic. In some models arithmetic might not be O(1) (e.g., in a pure lambda calculus it's O(n)). A random access machine model makes a bunch of simplifying assumptions that don't actually hold in practice. As the article suggests, if you're writing code in industry it's not a bad idea to understand how your specific hardware differs from the model.
mmalone··on New Cities
Interesting that you mentioned pattern language. My brother is an architecht, I'm into tech. I remember asking him about Alexander / pattern language after reading GoF, et. al. and he hadn't heard of him. He looked into it and was kind of like shrug. Seems Alexander isnt't super mainstream in the architecture community, and his ideas weren't that revolutionary. My read is that he's better know to software engineers than actual architects?
← PreviousPage 6 of 9Next →