• Dragonmark Chat: core.async over the web

    August 30, 2014

    It's the chat demo

    Check out the demo!!

    Way back when I was focused on Lift and explaining why Lift was different, I created the Lift chat app. The chat app was short, sweet, and highlighted how Lift was different.

    As I've been working through the Dragonmark stuff, I decided to use the same Chat app as a demo. Why? 'cause the same concepts are present in Dragonmark... the abstraction of the cross-address-space plumbing.

    core.async across address spaces


  • Introducing Dragonmark Circulate

    August 16, 2014

    Distributed Communicating Sequential Processes (CSP)

    Communicating Sequential Processes (CSP) provides excellent patterns for building concurrent systems. Clojure's core.async provides a Clojure implementation of CSP in a single address space.

    However, very few programs run in a single address space. Web applications run in a combination of the browser and one or more servers. Very often, applications will span a cluster of servers.

    Dragonmark Circulate provides a mechanism for distributing core.async channels across address spaces while providing the same semantics to all the address spaces.

    Some macros

    I've written some macros to make writing core.async code easier and more linear.

    gofor


  • gofor it

    July 22, 2014

    The gofor macro

    I've started working on a series of open source library code for Clojure called Dragonmark that roughly falls into three categories: utilities, a distributed CSP library, and a sample web app that demonstrates distributed CSP.

    So, why?

    Mostly, I think that the semantics for interprocess communication should be the same as the semantics for local communication. Clojure's core.async library provides a really nice set of APIs to communicate asynchronously, have backpressure, and in general "do the right thing."


  • Saying No to Yes &

    July 14, 2014

    Not my cup of tea

    I went to Yes & over the weekend and it was disappointing. I was drawn in by:

    The theory was, if you get a group of smart, engaged individuals together in the right place that great things would happen.

    Sadly, the conference was not that.

    I was expecting more of a Strange Loop experience. Something is a far away place where each interaction leaves me thinking, pondering, and expanded.

    Instead, Yes & is a big, fun partay.

    If you'd like to hang out in the pool, get drunk, share new strains of medical marijuana, and go to a fun prom with all the hipsters from the Mission, Brooklyn, LA, and Portlandia, Yes & is the place to be.


  • Yes, we do all infringe

    May 14, 2014

    When we use Java

    There is a lot of confusion about my We all Infringe post. So, I'm going to walk everybody (especially the lawyers) through the mechanics.

    Until last week, all developers and most lawyers operated under a simple rule. APIs are not subject to copyright, but code implementating APIs is subject to copyright. It was a simple dichotomy and allowed developers to operate under a brightline set of rules.

    On May 9, 2014, the Circuit Court of Appeals changed the law to include copyright coverage to include APIs. Specifically (page 5):

    ... we conclude that the declaring code and the structure, sequence, and organization of the API packages are entitled to copyright protection...


  • Every one us is an Infrigner

    May 12, 2014

    Okay, everybody who touches Java bytecode

    The Oracle v. Google holds that copying the Structure, Sequence, and Organization of the Java APIs is a copyright violation. And a copyright violation is not just the act of copying, but also applies to all the intermediate parties that have a copy of the work.

    That's anybody who writes/compiles any JVM language and anyone who has a JAR file on any device they posses... including a Java ME applet on your old Motorola flip phone. In fact, the JVM in all its incarnations is so pervasive, it's likely that every adult in every industrialized nation has some JVM running someplace.


  • Lawyers and Developers, not so different

    May 11, 2014

    Really

    I have been developing software professionally since 1978. I went to law school (BU Law '91). I think that computer programming technology and the law are really, really similar.

    At the end of the day, both law and computing is about wrapping abstractions around very complex interactions such that the rules are comprehensible and the outcomes are predictable.


  • Oracle v. Google, My Sweet Lord

    May 11, 2014

    He's not So Fine

    I wrote about how to mitigate the disaster that is the appeal courts's decision in Oracle v. Google. Today, I'm going to cover a few more topics.

    Sometimes, copyright law can have really bad side effect. It's supposed to help content creators make money from their content and that's awesome. But in the George Harrison case, he lost a copyright suit because he "subconsciously copied" another song. If this is the standard that the court is going to apply to all API design, the computer industry is screwed... luckily starting with Oracle.

    We build on the shoulders of giants


  • Oracle v. Google, a mitigated disaster

    May 10, 2014

    Are APIs Copyrightable?

    Oracle v. Google resulted in a really bad opinion for everybody in software, including Oracle. The Federal Court of Appeals applying 9th Circuit law held that the structure, sequence, and organization of APIs are copyrightable. This is a radical change in the law as to date, everybody and everybody's lawyers have taken the position that APIs are not copyrightable, but the implementation of the APIs is.

    First the mitigation.

    Are long as the APIs are reverse engineered, it's okay to clone them


  • My Thoughts on the Datomic License

    April 26, 2014

    Yeah, it's not Open

    I have a greenfield project where the choice of database is open. I have been very interested in Datomic for a couple of years now and figured that I'd try Datomic out for the project. Then I tried to actually download and install it and decided against it... mostly because the value of Datomic does not clearly outweigh the cost of using proprietary software. I am writing this post to communicate my perception.

    Making Money

    People who write software should be reasonable compensated for their work. I write software... some open and some proprietary... and I like to be compensated for my work.


  • A Better Conversation about Tech

    April 6, 2014

    Celebrate Diversity

    I am a support a more inclusive high technology industry. I put my money where my mouth is. And I spend my time making sure that there is a good mix of people and conversation at conferences.

    But I am really dismayed by the way the tech industry is handling both the inclusion of under-represented folks as well as the way the industry gets into mob mode when someone is "outed" for funding a non-mainstream view.

    What the Underlying Issue is About


  • How can we have a Different Conversation

    March 12, 2014

    The Lure of Private Schools

    I read this post when I woke up this morning. I am a huge fan, supporter, and believer in public schools and specifically public schools in San Francisco. I am just totally dismayed at people in my cohort putting their kids in private school.

    I get the mindset of a people who have money and normally use money to buy solutions to problems. There are some problems for which money is a very reasonable solution approach. Want a quiet car that doesn't have technical problems and when it does, they get solved with little time/effort on your part, you can buy that. Want flawless, high quality construction on your house, you can buy that.


  • About Brick Alloy

    February 4, 2014

    A Different IT Consultancy

    An interesting half conversation on Twitter (the other half is protected) led Jono Ferguson (a member of Brick Alloy) to tweet:

    @handmethepanda @benwalding @michaelneale build it for and by technical people. Talk to @dpp about @BrickAlloy

    Which prompted me to write a little about Brick Alloy.

    Lawyers and Accountants

    Lawyers and accountants have varying sized practices from solo practitioners to thousand lawyer firms.


  • Bad Planning on Balboa

    January 27, 2014

    What are They Thinking?

    I live at the corner of Balboa and Great Highway in San Francisco. Over the last year, there's been a ton of construction on Great Highway and on Balboa. Sadly, the folks doing the construction didn't do good planning or design. This is frustrating.

    Hit Me

    The first and most stupid issue is the divider at Balboa and Great Highway:

    Great Highway Divider

    If it looks like it was hit by a truck... it was.

    The end cap of the divider is there for a good reason. It keeps pedestrians safe when they are standing in the middle of the road.

    But, the end cap itself is in the blind spot of the A-pillar of many cars and trucks. This means that once or twice a day, somebody hits it.


  • Praying in the Church of Silicon Valley

    January 21, 2014

    Reviewing an "Accelerator" Class

    I got invited to participate in a pre-demo-day review of an Accelerator class.

    It seems that these days in the Church of Silicon Valley (the one true way to innovate) the hot stuff are hackathons and accelerators.

    Hackathons are multi-day gatherings of entrepreneur wanna-bes and some folks that judge the results of a couple of days of hacking and ideas.