HNHacker News
TopNewBestAskShowJobs

aanari

5 karma · joined March 14, 2012

My name is Ali. I am an expert in data science, and I run a small data science consultancy named Datom Solutions. I create a competitive advantage for venture-funded startups and financial service companies by combining domain knowledge with specialist technical skills to deliver high-impact statistical insights, predictive models and data-driven business advice.

I am based in Los Angeles, but completely available to work with clients in San Francisco because I'm happy to travel, super communicative, and always available by Skype, email, phone, and FaceTime.

Email: ali@datomsolutions.com

Website: https://datomsolutions.com

LinkedIn: https://linkedin.com/in/alianari

submissionscomments
aanari··on Show HN: I built a multiplayer voxel browser game engine
Awesome work!
aanari··on Show HN: Instantly make any Netlify form PCI DSS compliant
Nice work VGS team!
aanari··on Ask HN: Interest in biotech investing course?
I am extremely interested!
aanari··on Ask HN: Has anyone managed to regain their attention span/ability to focus?
Nootropics can help with this too esp. as you get older -

www.getmindsync.com

DM me if you would like to try some for free.

aanari··on Cowboy 2.0 released
Awesome Cieplak, best of luck to you and the team @ Finix!
aanari··on ShaderFrog: Create complex, beautiful shaders with no code
Great concept + execution! Can't wait to see the export functionality and for it to start gaining momentum in the market :)
aanari··on PostgreSQL Data Migration Tips
That's correct, as jpitz mentioned if the code is run inside a transaction block, then we don't have to worry about the failing DELETE causing the INSERTs to fail.
aanari··on PostgreSQL Data Migration Tips
Author here. That's a great point bhahn, I just updated my gist to properly handle the case that you just outlined:

https://gist.github.com/aanari/349c7d97ed50c6f69930#file-bat...

By creating a separate function for the locking and updating of rows, we ensure that the `BEGIN/END` transaction is handled per iteration rather than at the very end, so we only lock rows while they are being processed. Since Postgres does not support nested transaction blocks, calling a defined function from within an anonymous function block seemed to be the easiest and clearest path to achieve this.

aanari··on PostgreSQL Data Migration Tips
No problem mizerable! Glad you enjoyed it.
aanari··on PostgreSQL Data Migration Tips
That's a good clarification. I think it's better for the data migration to error out when acquiring the lock on rows and then retry, rather than waiting indefinitely, but YMMV (your mileage may vary).
aanari··on PostgreSQL Data Migration Tips
Author here. Great point, I just updated this link to point directly to his comment rather than his HN profile.
aanari··on Lessons learned publishing my first CPAN module
That's a great point tantalor, thanks for sharing.
aanari··on Lessons learned publishing my first CPAN module
Hello, author here,

I recommend App::pmuninstall for this task:

pm-uninstall [options] Module

https://metacpan.org/pod/pm-uninstall