pufuwozu

Joined 17 years ago

Karma
3,196
Submissions
349
Member since
Mar 18
http://www.hackernewsers.com/users/pufuwozu.html

Brian McKenna

http://brianmckenna.org/

http://twitter.com/puffnfresh

Senior R&D Engineer at Precog.

View on Hacker News

Recent submissions

Comment · 3 years ago
The article has nothing to do with Haskell, other than it's what I use. Why should I have to justify that when I want to talk about architecture diagrams?

Would the same expectation be in place of my examples were in JavaScript? I doubt it.

Comment · 3 years ago
Oh are you intimately familiar with Atlassian's systems?

Marketplace is Atlassian Marketplace, a real website, REST API and bunch of frontend components. If it's not part of an architecture, what is it?

I did simplify Commerce, the system is Atlassian Commerce Cloud Platform. I apologise that I simplified the name for an example, which has confused you.

Comment · 3 years ago
I've used it a bunch. It's pretty good! I think the Java API could use more types and less mutation but it works well.
Comment · 3 years ago
I don't often show architecture diagrams to non technical people BUT I also definitely don't show most technical people this Haskell code. I also don't show them the PlantUML.

I show them the png image.

Comment · 3 years ago
Atlassian Marketplace's architecture diagrams change constantly. Altassian replaces a core system, we have to integrate with a new one, we rewrite or replace a system.

Did you read the part about generating diagrams from different things, e.g. service descriptors, service proxies, tests?

Comment · 3 years ago
I didn't mention it, but I do write architecture diagrams which have input.

    data Version = Current | Future

    generate :: Version -> Diagram
Implementation uses a few if/else expressions. Really simple.

The final points of the post was that we should be able to generate architecture diagrams from other code. Parsing a service descriptor, generating them from tests, etc. You DO need a programming language.

Comment · 12 years ago
Hey everyone, I'm the creator!

Sorry for the problems - I was hotlinking to the awesome http://rawgit.com/ website during development and forgot to remove it before posting it on Twitter.

The website should be fixed in just a few seconds. Thanks for trying it out!

Comment · 13 years ago
Comment · 13 years ago
I worked on Precog. Here's my explanation:

It's an analytics platform for big data. Basically, you upload lots of JSON, use the custom language (http://quirrel-lang.org/) for analytical queries and the platform will handle efficient storage and querying of your data.

There are also has extras like a library for charting and reporting query responses using JavaScript and an IDE for writing Quirrel and uploading data.

Comment · 13 years ago
TDD increases the chance that more people will mock

Absolutely false. Try TDD in Haskell. Know how many mocking libraries there are in Haskell? None. Totally unnecessary.

Comment · 13 years ago
It's too slow. Now what?

You have to use asymptotic analysis to figure out that it's O(n^3) but can actually be performed in O(n) - then write the derived code from your analysis. Nothing has changed.

Customers care; transitively.

Comment · 13 years ago
Author here. I use Haskell for a lot of webapps. Here's a webapp that talks to GitHub:

http://licentious.herokuapp.com/

https://github.com/pufuwozu/licentious

Here's a programming language competition that I organise:

http://www.pltgames.com/

The web framework that I use is Yesod. Over the years I've used CakePHP, Django, Rails, Lift and Play! - Yesod is definitely the BEST framework I've used:

http://www.yesodweb.com/

Comment · 13 years ago
Did you read the conclusion of TFA?

> Analysis is the method for writing code that satisfies our constraints. Neither TDD nor types are the single answer to writing code that does what we want.

Comment · 13 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton