HN user

tav

1,544 karma

Call me Tav.

I'm a hacker from London who works on decentralised systems.

Feel free to contact me for help/advice or just for a friendly chat:

tav@espians.com

http://tav.espians.com

https://twitter.com/tav

All content produced by me on HN is dedicated to the Public Domain:

* http://creativecommons.org/publicdomain/zero/1.0/

Use it however you want :)

[ my public key: https://keybase.io/tav; my proof: https://keybase.io/tav/sigs/mWU8_7ohyVhbWe4CC4-BULZt9ko__aSLRFa1T-GJ5xc ]

Posts40
Comments157
View on HN
gitfund.io 8y ago

GitFund: Building a Crowdfunding Platform for Open Source Projects

tav
21pts4
8020japanese.com 9y ago

The Logic Behind Japanese Sentence Structure

tav
317pts149
www.future-programming.org 12y ago

Future Programming Workshop: By Richard Gabriel, Alex Payne and Jonathan Edwards

tav
3pts0
cafecuba.in 12y ago

Café Cuba – Join The Coffee Revolution

tav
1pts0
www.informationisbeautifulawards.com 12y ago

Data Visualization - Kantar Information Is Beautiful Awards

tav
1pts0
www.kickstarter.com 13y ago

Galcon 2 Fully Funded on Kickstarter

tav
2pts1
chains.cc 14y ago

Show HN: Don't Break The Chain App. Improve Your Habits, One Day At A Time.

tav
3pts1
alarmingdevelopment.org 14y ago

An IDE is Not Enough (in response to LightTable)

tav
2pts1
tav.espians.com 15y ago

Why Bitcoin Will Fail As A Currency

tav
66pts87
mollyrocket.com 15y ago

Immediate-Mode Graphical User Interfaces (Video)

tav
1pts1
news.ycombinator.com 15y ago

Ask HN: Is anyone interested in gitapps.com?

tav
9pts0
tav.espians.com 15y ago

Fabric Python with Cleaner API and Parallel Deployment

tav
183pts32
tav.espians.com 15y ago

Why stories like Egypt are fit for HN

tav
2pts2
news.ycombinator.com 15y ago

HN Petiton: Get Google to support SSL on all of its APIs

tav
72pts21
www.slideshare.net 15y ago

Rethinking the Mobile Web (Awesome Presentation!)

tav
3pts0
steveblank.com 15y ago

Crisis Management by Firing Executives — There's A Better Way

tav
1pts0
www.avc.com 15y ago

Bashing The Collective Wisdom On IPOs

tav
6pts0
blog.asmartbear.com 15y ago

Rise and fall: Lessons for Entrepreneurs

tav
18pts1
techcrunch.com 15y ago

Path Takes Photo Sharing The Wrong Way

tav
10pts3
techcrunch.com 15y ago

RSS Is Dead, But Reader For Mac Makes It A Beautiful Corpse

tav
18pts10
techcrunch.com 15y ago

How Durable Are Information Monopolies On The Internet?

tav
8pts3
groups.google.com 15y ago

JQuery for LaTeX in HTML

tav
5pts1
twitter.com 15y ago

Appleseed, a Diaspora alternative, goes public

tav
7pts2
news.ycombinator.com 15y ago

Ask HN: Have the HN downvoting rules changed recently?

tav
3pts1
news.ycombinator.com 15y ago

Ask HN: Is anyone still excited by Diaspora?

tav
21pts33
news.ycombinator.com 15y ago

Ask HN: Are there decent alternatives to PayPal?

tav
68pts51
tav.espians.com 16y ago

Will you peerfund my crazily ambitious work?

tav
23pts16
tav.espians.com 16y ago

Anyone Interested in Articles on Using PyPy to Create New Languages?

tav
77pts15
socialstartuplabs.com 16y ago

Social Startup Labs event in London

tav
2pts1
news.ycombinator.com 16y ago

Ask HN: Is the Y Combinator model dead thanks to Kickstarter-like crowd funding?

tav
20pts22

Great work — the functional spin on top of Rebol's clean syntax is really nicely done!

Any chance you'll be adding something like the parse function? The ability to have domain-specific dialects was one of the best things about Rebol and would be great to see in a modern language.

And speaking of functions, could you make the "Function Reference" that's on the homepage, be available on a standalone page too? It's a very useful reference and would be great to access it easily. Thanks!

Over the last decade, Redis has been my go-to example of beautifully written code. Thank you for such an amazing creation @antirez, and best of luck for whatever you do next.

In the off chance that some Rust developers are looking at this thread, I'd like to put forward a counter-proposal:

1. Use a postfix ?! instead of .await

2. Use a postfix ?? instead of .await?

3. Use the await keyword only in the "for await" construct

Then the common case becomes:

    let resp = http::get(url)??.to_string()
Which, imo, is a bit easier to parse than:
    let resp = http::get(url).await?.to_string()
This would make it easier to follow the core logic in async code, the same way that ? made error handling so much cleaner in Rust.
[dead] 9 years ago

As someone who was a "child prodigy", people making a big deal of my age only made me feel good about myself and wanting to achieve more. Of course, this may not be a universal experience, but has certainly been common among the other child prodigies that I've since met.

Yes, that was actually the original plan. It all seemed so easy! Let developers connect their standalone Stripe accounts and have sponsors pay directly into those accounts. But this proved problematic for a few reasons, e.g.

* Most developers didn't want to handle matters like global VAT reporting individually, so ideally the money would flow through a central entity which took care of that for them so that they only have to deal with a single source of income.

* The need to support ad-hoc transfer of funds between standalone accounts when maintainers approved transfers to other developers they are collaborating with.

Stripe Connect with managed accounts helps to solve some of these issues, e.g. by creating charges on the platform account and then creating individual transfers to connected accounts. But according to https://stripe.com/docs/connect/charges-transfers:

"This approach is only fully supported when both your platform and the connected account are in the U.S. If your platform or the connected account is outside of the U.S., you can only use this approach for less than 10% of your total volume."

So, is there some other method that's available? Because right now, I'm looking at handling the payouts myself and using Stripe to handle just the incoming payment processing. And it'd be great to use Stripe for both instead!

(P.S. Congrats on the new job!)

This is the exact thing that I've been working on for the last year and a half. The biggest hurdle is actually handling the flow of money.

Because, unlike say Kickstarter/Patreon, where the money goes to a single entity/person, open source collaborations tend to be distributed and dynamic. So you effectively need to build a payments company and handle all of the headache that goes along with it.

But, having said that, I very much believe that something like this is needed — and thus why I'm still persevering with the project. Happy to chat further if cperciva/others are interested.

Announcing Rust 1.0 11 years ago

No worries. All forgiven :)

Thank you ever so much for the hard work done by yourself and the rest of the Rust developer community. It has been an absolute pleasure seeing the language evolve, and now that it's hit 1.0, I look forward to the incredible opportunities it makes possible.

It takes great courage to go against the grain in terms of the core language (e.g. abandoning GC, M:N scheduling, etc. as core parts of the language), but the end result promises some truly exciting times. Thank you again and thank you also to you and the others for commenting here on HN despite the heavy criticism at times and being ever so helpful for those of us on IRC. It's been a fantastic ride and I look forward to it getting even better.

Smarter saved cards 12 years ago

Does this mean that those who hacked Target could have just added the card details to their own Stripe account and waited for Stripe to update the data once the banks got around to replacing the customer cards?

At least with my banks, when they send me updated cards, only a handful of the digits actually change and most of those changes have tended to be in the last 4 digits — which Stripe lets you see, along with the updated expiry month/year.

At this point, it's just a matter of brute forcing the remaining permutations. Am I misunderstanding something or are there countermeasures to protect against such attacks?

Whilst the concept of setImmediate is nice, the current implementation in IE isn't properly integrated with the rest of the event loop — resulting in broken behaviour when you use it in combination with setTimeout [1], DOM events, etc.

In contrast, using MutationObserver results in correct behaviour on all modern browsers and relatively minimal delays — between 0.002ms and 0.007ms according to an OS X only micro-benchmark I did last month [2].

And, yes, it would be great if we could call a builtin instead of hacking on top of MutationObserver, but it isn't that ugly:

  if MutationObserver
    $div = root.document.createElement 'div'
    observer = new MutationObserver tick
    observer.observe $div, attributes: true
    scheduleTick = ->
      $div.setAttribute 'class', 'tick'
      return
  else
    scheduleTick = ->
      setTimeout tick, 0
      return
In conclusion, I agree that a feature like setImmediate would be great. But given IE's broken implementation and a viable workaround in modern browsers, I see no need to rush it. I'd rather they focused on: new features like Object.observe; improving the performance of old features like Object.seal; and finalising some of the ES7 ideas like exposing the event loop!

[1] http://codeforhire.com/2013/09/21/setimmediate-and-messagech...

[2] https://gist.github.com/tav/9719011

Introducing Quip 13 years ago

Could you share links to those projects that you are following and elaborate on the ideas that has you excited?

For any AWS folk on here, it'd be great to know how this fits with the consistency guarantees. Can we do strongly consistent index queries?

Also, any chance we could have strongly consistent auto-expiring keys in DynamoDB? Would make DynamoDB a very useful tool for synchronisation/lease management and other funky uses.

I also sent Werner an email asking if it would be suitable to use DynamoDB as a block device — you could then build a filesystem on top and benefit from DynamoDB features like replication, consistency, etc. Unfortunately, I fear the email must have slipped through his no-doubt-busy-inbox. If any of DynamoDB developers could shed any light on its suitability as a block device, that would be awesome! Thanks.