Recent submissions

Comment · 6 years ago
Comment · 6 years ago
Comment · 7 years ago
Comment · 7 years ago
SEEKING WORK | US citizen | Remote only (or Guadalajara)

Tech: The past 5 years, I've mostly been working on server applications with Node + Postgres and web client applications with React or Elm.

https://github.com/danneu

I've been the first hire of the largest bitcoin casino. I've built a popular forum from scratch with Node. I'm open to short-term work and longer term work, part-time work and full-time work.

Just shoot me an email: [email protected]

Comment · 7 years ago
Location: Austin, TX

Remote: Yes

Willing to relocate: No

Technologies: My github profile will show a breadth of tech. Day-to-day over the last couple years I've mainly used Node, Postgres, React, and Elm.

Résumé/CV: Available upon request. https://github.com/danneu

Email: [email protected]

Two of the most interesting projects I've worked on over the last few years were a large open-source forum I built from scratch with 1000s of logins per day and the work I've done for some of the largest projects in bitcoin gambling. Feel free to ask.

Comment · 8 years ago
Location: Home base in Austin, TX b

Remote: Yes, preferred

Willing to relocate: Possibly

Technologies: The main day-to-day production user-facing systems I've worked on in the last few years involve Javascript, Node.js, Express/Koa, Postgres, React, AWS, Websockets, Elm. My Github profile showcases a productive grasp of a lot more technologies.

Résumé/CV: Available upon request. https://github.com/danneu

Email: [email protected]

If there's one thing that best demonstrates my breadth of ability, it's that I built an open-source message board from scratch, myself, for an active community with Node + Postgres in my free-time over the years that gets thousands of registered logins per day.

While my resume will reveal my experience doing this repeatedly on team/co-founded projects, my solo forum project best shows all of the hats I can wear (from technical skills to soft skills) and my ability to execute in such an open-ended environment to ensure that I'm not just shipping code, but shipping a product that users like.

Comment · 8 years ago
Years ago, I played with the idea: https://github.com/danneu/klobb

I went on to implement it in Swift (https://github.com/danneu/hansel) and then seriously improved on it in Kotlin (https://github.com/danneu/kog).

It was fun but hard to really make a convincing upgrade to Koa once you consider the rest of the ecosystem. For example, since Koa exposes Node's req/res, then you can still use existing Node/Express middleware.

Comment · 8 years ago
Wow, that's great.

Here's my attempt at building something for language learning since my listening skills trail so far behind my reading skills: https://www.danneu.com/slow-spanish/

It parses this painstakingly created file: https://github.com/danneu/slow-spanish/blob/a455da3a230632c2...

Unfortunately it's really hard to generate the source material (timestamping a transcript).

So my idea was to upload some slow-speaking audio to Youtube and let it autogen its .srt subtitle files. The subtitles don't come out perfectly, but it's the timestamp data I'm after since the goal is a UI that makes it easy to replay and scrub around spoken audio.

Comment · 8 years ago
Comment · 9 years ago
I started building a lil thing inspired by Continuum: https://github.com/danneu/p2-space-arena

Never did much game dev before but it gave me a lot of respect for people who can build one. It would probably take me a year just to figure out lag compensation.

Comment · 9 years ago
You can write two-way interop -- I didn't mean to suggest otherwise.

But there are Kotlin features that don't map like type-safe @Dsl's which puts you in a position where you have to make concessions for interop.

Comment · 9 years ago
I don't have interop issues with your examples either. Calling Java from Kotlin is very pleasant.

What I found is that it's the other direction that takes some thought. For example, my Kotlin library needs more help than just @Jvm annotations to be usable from Java.

Comment · 9 years ago
I'm really rusty, but if I can recall the simplest example correctly, you can't just naively go from this Kotlin code:

    Server { req -> Response().html("<h1>Hello world</h1>") }
to this Java code:

    new Server(req -> new Response().html("<h1>Hello world</h1>") 
Because Server is implemented in Kotlin and the Java lambda certainly isn't a kotlin.Function.

If that's a bad example (foggy memory), another one would be the use of @DslMarker or reflection to build my type-safe router: https://github.com/danneu/kog#type-safe-routing. Or how about inline functions with reified generics.

Kotlin does have Kotlin->Jvm interop annotations, but my take-away was that you would have to put some thought into your API and possibly make concessions so that you could sufficiently annotate it to the point that it's pleasant to use from Java. Not everything maps.

For example, you can see that OP went the route of using Java at the interface edges yet Kotlin internally to solve interop for their project.

I admit that "effectively one-way interop" is too heavy-handed of a statement, but there's definitely asymmetry that I ran into on my own project. For example, I would not recommend building something in Kotlin in the hopes that, once you're done, you can just sprinkle on some @Jvm annotations and end up with an API that's compelling to use from Java.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton