R

Rob Conery

rob.conery.io · Personal blog · on HN since 2015

Rob Conery writes about PostgreSQL, Node.js, and .NET development, and is the author of The Imposter's Handbook.

What HN saysHN commenters list him among developer blogs, link his Postgres id generator, and note his correction to a RethinkDB performance claim.
50HN people shared it
10linked it in comments
57stories submitted
1.7Kstory points
5 years agolast shared
2015people per year2026

Most-shared posts

  1. 1
    Mod and remainder are not the same
    3 people · 168 points · first shared 2018 · 48 comments on HN
  2. 2
    Bring the power of Postgresql to Nodejs
    3 people · 11 points · first shared 2015 · discussion on HN
  3. 3
    A Pure PostgreSQL Document Database API
    3 people · 11 points · first shared 2018 · discussion on HN
  4. 4
    The Imposter's Handbook
    3 people · 8 points · first shared 2016 · 1 comments on HN
  5. 5
  6. 6
    A better id generator for postgresql
    3 people · first shared 2015
  7. 7
    RethinkDB 2.0 is amazing
    2 people · 348 points · first shared 2015 · 203 comments on HN
  8. 8
    Fine tuning full text search with PostgreSQL 12
    2 people · 45 points · first shared 2019 · 2 comments on HN
  9. 9
    PostgreSQL Tools for the Visually Inclined
    2 people · 8 points · first shared 2019 · discussion on HN
  10. 10
    Learn Elixir the Fun Way
    2 people · 6 points · first shared 2016 · discussion on HN
  11. 11
    Should I Trust Firebase? Of Course Not
    2 people · 4 points · first shared 2017 · discussion on HN
  12. 12
    Designing a PostgreSQL Document API
    2 people · 4 points · first shared 2015 · discussion on HN
  13. 13
    A better id generator for postgresql
    2 people · first shared 2017
  14. 14
    Embracing SQL in Postgres
    1 people · 273 points · first shared 2015 · 120 comments on HN
  15. 15
    WTF Is Big O Notation?
    1 people · 143 points · first shared 2019 · 96 comments on HN

What HN people wrote when they linked it

fa17 · 2017-01-30
Scott Hanselman(dotnet and random h/w hacks) -http://www.hanselman.com/ Rob Connery(dotnet,elixir,postgres) - http://rob.conery.io/
timmaxw · 2015-04-18
Note that the 9ms performance claim in this article is mistaken. The author has issued a correction: http://rob.conery.io/2015/04/17/rethinkdb-2-0-is-amazing/
pcmaffey · 2019-12-15
For something a little more practical, I recently came across this postgres id generator[1], which Ive been playing around with as a solution for ordered, scalable bigint ids (that take up less space than standard uuids). [1] https://rob.conery.io/2014/05/28/a-better-id-generator-for-postgresql/
Dowwie · 2017-10-27
Why not use Twitter's snowflake id? Instagram blogged about a Postgres function that generates them http://rob.conery.io/2014/05/28/a-better-id-generator-for-postgresql/
macca321 · 2017-06-29
This book http://rob.conery.io/2016/07/03/imposters-handbook/ is written specifically with you in mind.
barkingdog · 2016-06-08
Hmm, going to say a hard no on naively preferring UUIDs. It's a little bit of extra work to go with the instagram style approach [0] of using many logical postgres shards with a custom id function that implements twitter snowflake style IDs, but it's an elegant, scalable and operationally simple solution. I am very fond of it. [0] http://rob.conery.io/2014/05/29/a-better-id-generator-for-postgresql/
sotojuan · 2015-11-11
Well, the easy answer is to stop volunteering and attending family/social events[1]. Check out this[2] blog post for other possible ideas. [1] Number 3 here: http://www.aaronsw.com/weblog/morebooks [2] http://rob.conery.io/2015/10/06/how-to-learn-a-new-programming-languag…
bjt · 2017-06-09
> In what context would a primary key change, even when sharding? The only time I've seen that happen is when a DBA evangelized for just using 'natural' keys, which in this case were slugs based on the item name. The problem came when users decided they wanted to rename things and then wondered why the IDs they were seeing in URLs didn't match the new names. I'm not a believer in natural keys anymore. > If you need sorting in your table, provide some kind of indexed timestamp. A v4 UUID contains a timestamp. So it seems a bit wasteful to add the separate timestamp column. Why not just use the timestamp built into the ID? This is what MongoDB's internally-generated IDs do. (Though they're not quite UUIDs.) There's a catch with v4 UUIDs though: the timestamp portion of the ID is not the most significant digits, so a simple ORDER BY doesn't do what you want. I like the solution developed by Instagram, which Rob Conery discusses at the link below. It uses a pretty simple plpgsql function to generate a 64 bit integer based on the current time, a shard ID, and a per-shard sequence. This lets you generate 1024 IDs per second per shard. It also puts the timestamp portion of the ID first, so if all the shards' data ends up in Hadoop or something you can order consistently across the whole set. http://rob.conery.io/2014/05/29/a-better-id-generator-for-postgresql/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close