HNHacker News
TopNewBestAskShowJobs

lachenmayer

342 karma · joined February 7, 2011

https://lachenmayer.me
submissionscomments
lachenmayer··on Pulling JPEGs out of thin air (2014)
Yeah definitely, a BMP doesn't really have any "interesting" structure though because it's more or less just an array of pixels. The visual artifacts in JPEG files come from all the downsampling / blocks / cosine transform stuff which is really what I wanted to explore.
lachenmayer··on Pulling JPEGs out of thin air (2014)
Really cool! I recently happened to have a similar idea when I came across the rust-fuzz crate, which abstracts over afl, honggfuzz etc.

If you're interested, my notes are here: https://github.com/lachenmayer/insta-fuzz

I ended up "cheating" a little bit by providing a valid JPEG header - I found that rust-fuzz seemed to take far too long to generate any valid JPEG at all by starting from eg. an empty file. But maybe I just wasn't patient enough, after all I was only running it on my laptop :)

lachenmayer··on Applied Monotonicity: A Brief History of CRDTs in Riak
I haven't dug deep into the implementation, but most of the interesting CRDT stuff seems to be in the "backend" directory in that repo: https://github.com/automerge/automerge/tree/master/backend

In particular the "operations" defined in [1] section 4.2 are defined in this file: https://github.com/automerge/automerge/blob/master/backend/o...

[1] https://www.cl.cam.ac.uk/~arb33/papers/KleppmannBeresford-CR...

lachenmayer··on Applied Monotonicity: A Brief History of CRDTs in Riak
CRDTs are quite actively discussed in the IPFS community, in particular here: https://github.com/ipfs/research-CRDT/ (lots of great resources if you're interested in CRDTs)

Also check out automerge, a CRDT that aims to be as JSON-like as possible: https://github.com/automerge/automerge

Martin Kleppmann (one of the creators of Automerge) has given several great in-depth talks about it, eg. https://www.youtube.com/watch?v=yCcWpzY8dIA

lachenmayer··on Transparent Logs for Skeptical Clients
The hypercore[1] signed append-only log which is the heart of the Dat protocol[2] is an implementation of very similar ideas. The data structure consists of an append-only log, a Merkle tree (stored in the "inorder storage layout" described in Appendix B), and signatures for each of the root hashes of the Merkle tree. The public key ("read key") of the key pair which is used to sign the tree roots can be used as a unique identifier of the contents of the log, eg. for looking up peers in a DHT which can serve the contents. It features a replication protocol which is similar to the one described in the article (if you squint hard enough). A fantastic in-depth explainer of the data structure and the protocol is available at [3].

The current implementation is in Node.js, but a Rust port is under way. [4]

[1]: https://github.com/mafintosh/hypercore [2]: https://www.datprotocol.com/ [3]: https://datprotocol.github.io/how-dat-works/ [4]: https://github.com/datrs/hypercore

lachenmayer··on Yarn's Future – v2 and beyond
The Rust compiler generates unique error codes for every type of error, and suggests that you run the command `rustc --explain E0275` (as an example) to get more information on the error, with an (often) in-depth description of what the error means, how it is usually caused, how to potentially fix it, etc.

This is extremely useful, because the error output can focus on just saying what the error is (which is great when you already know what the error means), and there is an obvious next step to get more information if you need more help.

And if you don't find the answer, searching online for "rust E0275" gives much more relevant answers than trying to search the right parts of the error message.

lachenmayer··on The state of gRPC in the browser
Thanks a lot, great to hear!
lachenmayer··on The state of gRPC in the browser
Hey, sorry if this is off-topic, but how have you been finding Keycloak? This is the first time I've seen it mentioned on here, and it looks like a great auth solution at first glance.
lachenmayer··on Show HN: CoolQLCool – Turn Websites into GraphQL Accessible APIs
I've previously written a very similar project called "graphql-scraper" (which is arguably a far less cool name...), you can check it out at http://github.com/lachenmayer/graphql-scraper

It works very similarly, with only superficial differences under the hood (eg. I used jsdom, and this uses cheerio). The `waitForSelector` feature is very cool!

You can see a live demo of the HN example using graphql-scraper at https://graphqlbin.com/v2/lxNohP

This example is deployed on Glitch - you can easily spin up your own using https://github.com/lachenmayer/graphql-scraper-server (with 1-click deploys to Heroku, Now & Glitch)

Of course (as mentioned already) there is also https://github.com/syrusakbary/gdom which uses Python+Graphene.

lachenmayer··on Ask HN: Who is hiring? (September 2018)
Trippin | React Native / Full-stack JS developer | London, UK | Onsite/Remote.

Product: Travel playlists. For Experiences you love. With friends you trust. Redefining the way you travel forever.

We recently soft launched V1 of our iOS app (android out this month). Focus is on content. Users create travel playlists and share with friends. Content is also curated by our 'Frequent Fliers' - DJs, Designers, Artists and Athletes across the globe.

We have a thriving community and a influential network of ambassadors.

Our stack consists of a React Native app, communicating with a Node.JS backend deployed on Heroku, storing user data in an event-sourced MongoDB, and GraphQL in between. All of our code is strongly typed using Flow. We’ve also got a shiny React/Next.js webapp that we’re looking to develop further.

We will offer a competitive salary and equity for the right candidate.

Who we are looking for?

Above all else we value open communication and good teamwork to achieve a shared vision. We are looking for proactivity in spotting problem areas and proposing ideas for improvements.

We're looking for someone who loves React Native, and does not shy away from open-source work and open discussions on GitHub.

Even better if you have (but not necessary):

* Contributed to Open Source projects (we’d love to see them!)

* Experience with iOS and/or Android development.

* A degree in Computer Science or a related field.

==Contact==

Sam Blenkinsopp notjustajob@trippin.world | more info https://news.trippin.world/developer/

lachenmayer··on Ask HN: Who is hiring? (July 2018)
Trippin | React Native / Full-stack JS developer | London, UK | Onsite/Remote.

Product: Travel playlists. For Experiences you love. With friends you trust. Redefining the way you travel forever.

We recently soft launched V1 of our iOS app (android out this month). Focus is on content. Users create travel playlists and share with friends. Content is also curated by our 'Frequent Fliers' - DJs, Designers, Artists and Athletes across the globe.

We have a thriving community and a influential network of ambassadors.

Our stack consists of a React Native app, communicating with a Node.JS backend deployed on Heroku, storing user data in an event-sourced MongoDB, and GraphQL in between. All of our code is strongly typed using Flow. We’ve also got a shiny React/Next.js webapp that we’re looking to develop further.

We will offer a competitive salary and equity for the right candidate.

Who we are looking for?

Above all else we value open communication and good teamwork to achieve a shared vision. We are looking for proactivity in spotting problem areas and proposing ideas for improvements.

We're looking for someone who loves React Native, and does not shy away from open-source work and open discussions on GitHub.

Even better if you have (but not necessary):

* Contributed to Open Source projects (we’d love to see them!)

* Experience with iOS and/or Android development.

* A degree in Computer Science or a related field.

==Contact==

Sam Blenkinsopp notjustajob@trippin.world | more info https://news.trippin.world/developer/

lachenmayer··on How do dat:// sites interact with servers?
Yes, Dat's core data structure is an append-only log that is designed for extremely fast real-time replication. http://github.com/mafintosh/hypercore

If you use Dat through its command-line app, you get real-time updates to the files shared using it.

lachenmayer··on How do dat:// sites interact with servers?
> Are centralized servers, financial institutions and surveillance all required components of the anonymous, decentralized, peer-to-peer web?

Servers and financial institutions will never go away, no matter how hard we try. I'm hoping that we can make surveillance go away by sharing much less data with organisations who rely on surveillance to survive.

Hashbase is not "centralized" in the sense that you are always free to choose a different provider of its hosting services. You can host your own Hashbase: https://github.com/beakerbrowser/hashbase

You can even choose multiple providers at once, providing you with resilience in case one of your chosen providers violates your trust, eg. by losing your data or using it to spy on you.

lachenmayer··on Ask HN: Who is hiring? (June 2018)
Trippin | React Native / Full-stack JS developer | London, UK | Onsite/Remote.

Product: Travel playlists. For Experiences you love. With friends you trust. Redefining the way you travel forever.

We recently soft launched V1 of our iOS app (android out this month). Focus is on content. Users create travel playlists and share with friends. Content is also curated by our 'Frequent Fliers' - DJ’s, Designers, Artists and Athletes across the globe.

We have a thriving community and a influential network of ambassadors.

Our stack consists of a React Native app, communicating with a Node.JS backend deployed on Heroku, storing user data in an event-sourced MongoDB, and GraphQL in between. All of our code is strongly typed using Flow. We’ve also got a shiny React/Next.js webapp that we’re looking to develop further.

We will offer a competitive salary and equity for the right candidate.

Who we are looking for?

Above all else we value open communication and good teamwork to achieve a shared vision. We are looking for proactivity in spotting problem areas and proposing ideas for improvements.

Someone who:

* Understands what our users like, and believe in our ethos of keeping things simple.

* Is serious about releasing early and releasing often.

* Loves React Native.

* Has been writing code over the last few years and is comfortable showing us some code during the interview.

* Does not shy away from open-source work and open discussions on GitHub.

Even better if you have (but not necessary):

* Contributed to Open Source projects (we’d love to see them!)

* Experience with iOS and/or Android development.

* A degree in Computer Science or a related field.

==Interview==

Phone call / coffee >> in-person interview >> half day onsite w team

==Contact==

Sam Blenkinsopp notjustajob@trippin.world | more info https://news.trippin.world/developer/

lachenmayer··on A circuit-like notation for lambda calculus (2015)
I'm a big fan of this idea! An automatated tool based on this would be really great for teaching the concepts of lambda calculus - similarly to how Lambda Bubble Pop http://chrisuehlinger.com/LambdaBubblePop/ can give you really strongs intuitions about eager & lazy evaluation.

The author gave a talk on this & related work at the excellent Deconstruct conference, definitely recommend it if you're into notations! https://www.deconstructconf.com/2017/chelsea-voss-programmin...

lachenmayer··on Open Sourcing Oclif, the CLI Framework That Powers Our CLIs
https://github.com/zeit/pkg can package up Node projects into a single executable.
lachenmayer··on Airtable gets $52M in funding
When I last used this, it only supported polling (15 minutes at a time iirc).
lachenmayer··on Show HN: Minimal native MP3 player for Mac
Some really nice folks are trying to figure out the whole "not iTunes" issue - it's called hyperamp: https://github.com/hypermodules/hyperamp
lachenmayer··on The Big Vitamin D Mistake
This sounds extremely low to me, but looking at the list of top journals sorted by Impact Factor on https://journal.komci.org/SearchJournal.php (you have to choose "Impact factor" in the "Sort results by" dropdown, as it does not generate a useful URL), the top journal only has an IF of 0.791.

I don't really know anything about the medical publishing world, but I would have expected a top journal to be cited much more?

lachenmayer··on Ask HN: CS papers for software architecture and design?
Not sure it says a lot about 'architecture', but in terms of 'design', Daniel Jackson's "Rethinking Software Design" has been an absolute eye-opener: https://www.youtube.com/watch?v=cNe6g0qczxE

The premise of the talk is that while software engineering goals & processes are well-defined and well-understood, the same does not apply for software design. He sets up a framework of 'purposes' and 'concepts', which in an ideal design should be a 1:1 mapping. He points out many examples of 'design smells', where this 1:1 mapping is violated, for whatever reason (engineering reasons, product management failures, etc.)

Definitely useful not just to developers, but anyone involved in writing software/affected by the process of writing software.

lachenmayer··on Haskell for Mac IDE
re. Hoogle, also check out Hayoo http://hayoo.fh-wedel.de/ which adds a couple of nice features like typeahead & a 'view source' button.
lachenmayer··on Peer-to-peer social networking with Rotonde and Beaker
Really awesome demo - the Beaker/Dat/Hypercore ecosystem is amazing. Real-time p2p sync of anything you can imagine.

I was able to build a 'Slack clone' as a one-day hack, using Hypercore + Electron: https://github.com/lachenmayer/p2p-slack-clone-poc

I think we'll be seeing a lot of these kind of projects soon :)

lachenmayer··on Ask HN: Who is hiring? (July 2017)
Trippin | React Native / full-stack JS developer (first tech hire) | London, UK | ONSITE/REMOTE

At Trippin, we are building a travel brand that the new wave of creative explorers can relate to and align with. We provide a better way to discover, save and share great spots around the world. We aim to become the go-to platform for millennial travellers. We are achieving this through great content, an inspired community and interesting collaborations.

We are looking for someone with React Native experience to turn our app prototypes into reality. You will have total freedom over the stack, and we are serious about releasing early and releasing often. Our closed beta community is highly active, and we have influential tastemakers and celebrities ready to be our brand ambassadors.

We are able to offer a competitive salary and/or a sizeable equity share, as you prefer. We currently work out of a small office at the back of a coffee shop near Brick Lane in London, but we're definitely happy for you to work remotely too.

Say hello on hello@trippin.world :)

lachenmayer··on Gallery of programming UIs
I threw my own hat into the ring with my undergraduate thesis, in which I wanted to create an editor for Elm which took advantage of all the niceties that strongly-typed functional reactive programming affords. I also took a closer look at some of the projects mentioned here (Light Table, Lamdu, Tangible Values, Scratch/Hopscotch, Inventing on Principle etc...). You can find its (now totally obsolete) remains here: https://github.com/lachenmayer/arrowsmith

The idea was basically: you should be able to use different editing UIs for values of different types. The lowest common denominator is code as text, but you should be able to switch on different editing UIs for numbers, colours, graphics, record types etc. The second half of this video shows off some demos for all of these: https://www.youtube.com/watch?v=csRaVagvx0M

I also had some (far too) ambitious plans for stuff like type-driven drag & drop editing (mainly for function application), which I unfortunately didn't get to implement, but you can read about them in the report: https://github.com/lachenmayer/arrowsmith/blob/master/report...

By far the most intellectually stimulating work I've ever done! We're definitely not there yet, to paraphrase Alan Kay :~)

lachenmayer··on End of roaming charges for travellers in the EU in 2017
Is this finally happening then? I swear I've heard something like this happening every year or so for the past 4 years, only to be delayed by lobbying from T-Mobile / Orange et al.
lachenmayer··on Ask HN: Who is hiring? (December 2016)
Boiler Room | React Native developer | London, UK | full-time | REMOTE/ONSITE

Boiler Room is the world’s leading community of underground music fans. We live-stream DJ sets and live gigs from >60 cities to music lovers all over the world.

We have spent the last year building a modern web app with React on https://boilerroom.tv/ - we are now looking to expand to Android & iOS mobile apps using React Native & looking to build apps for Android-based smart TV platforms & Apple TV in the next few months.

You’ll be an essential part of a product team currently consisting of 4 developers (web, backend, iOS), 2 designers, and a product manager. You’ll be working in our new office in East London, or remotely, and you’ll of course be able to go to and invite your friends to the exclusive parties being live-streamed on the site.

Stack/Keywords: React Native, Redux, Android, Amazon Fire TV, Samsung Smart TV

Required skills:

- Experience developing, maintaining and releasing native Android apps

- Experience working with React and/or React Native on any platform

- Working knowledge of Android interface guidelines / best practices

- Desire to write clean, modular & testable code with consistent code style

Nice to have:

- Passion for underground music culture

- Interest / experience in creating mobile VR experiences (eg Samsung Gear/Google Cardboard etc)

- Interest in functional & functional reactive programming concepts (eg. Elm, Haskell, Clojure etc)

If this sounds like your kind of jam, email me at harry.l+hn@boilerroom.tv :)

lachenmayer··on Ask HN: Who is hiring? (November 2016)
Boiler Room | React Native developer | London, UK | full-time | REMOTE/ONSITE

Boiler Room is the world’s leading community of underground music fans. We live-stream DJ sets and live gigs from music hubs such as London, Berlin, New York, Paris, LA and >60 other cities to music lovers all over the world.

We have spent the last year building a modern web app with React on https://boilerroom.tv/ - we are now looking to expand to Android & iOS mobile apps using React Native & looking to build apps for Android-based smart TV platforms & Apple TV in the next few months.

You’ll be an essential part of a product team currently consisting of 4 developers (web, backend, iOS), 2 designers, and a product manager. You’ll be working in our new office in East London, or remotely, and you’ll of course be able to go to and invite your friends to the exclusive parties being live-streamed on the site.

Stack/Keywords: React Native, Redux, Android, Amazon Fire TV, Samsung Smart TV

Required skills:

- Experience developing, maintaining and releasing native Android apps

- Experience working with React and/or React Native on any platform

- Working knowledge of Android interface guidelines / best practices

- Desire to write clean, modular & testable code with consistent code style

Nice to have:

- Passion for underground music culture

- Interest / experience in creating mobile VR experiences (eg Samsung Gear/Google Cardboard etc)

- Interest in functional & functional reactive programming concepts (eg. Elm, Haskell, Clojure etc)

If this sounds like your kind of jam, email me at harry.l+hn@boilerroom.tv :)

lachenmayer··on Show HN: Noms – A new decentralized database based on ideas from Git
Some of the node hacker community's work on scuttlebutt, hyperlog etc also seems highly relevant, as it's all based on merkle DAGs.

https://github.com/ssbc/secure-scuttlebutt https://github.com/mafintosh/hyperlog

These are all super modular so fishing around in their dependency graphs should lead you to a whole bunch of really interesting projects :)

lachenmayer··on Show HN: Noms – A new decentralized database based on ideas from Git
This looks really exciting, congrats to the team for launching!

Could you tell us a bit about how this compares to dat? http://dat-data.com/

lachenmayer··on Ask HN: Who is hiring? (July 2016)
Boiler Room | London | Web Developer (full-stack) | full time, ONSITE

# Description

Boiler Room is the world’s leading community of underground music fans. We live-stream DJ sets and live gigs from music hubs such as London, Berlin, New York, Paris, LA and >60 other cities to music lovers all over the world.

You should have strong opinions about how web development should be done in 2016, and you should be able to come up with and implement new ideas for consuming & sharing online music experiences. Going forward, we have some really exciting ideas around peer-to-peer audio and video streaming - interest and/or expertise in that area would definitely be a strong plus.

You'll be working in our river-side office in Wapping, East London, and you’ll of course be able to go to and invite your friends to the exclusive parties being live-streamed on the site.

# Stack/Keywords

React, Redux, ImmutableJS, CSS Modules, WordPress, Docker microservices, RethinkDB

# Nice to have

- Interest in functional & functional reactive programming concepts (eg. Elm, Haskell) - Familiarity with Event Sourcing / CQRS concepts - Passion for underground music culture

# Get in touch!

Email me at harry.l+hn@boilerroom.tv with links to your GitHub and/or your CV :)

← PreviousPage 2 of 4Next →