HNHacker News
TopNewBestAskShowJobs

tony_landis

63 karma · joined January 9, 2011

submissionscomments
tony_landis··on Prove you are a robot: CAPTCHAs for agents
Right - perhaps title could be "prove you are an robot, or have access to one"
tony_landis··on What explains the liberal-conservative happiness gap?
Perhaps what they really measured was honesty.
tony_landis··on Show HN: All-in-one AI web assistant (open-source)
Any plans for local LLMs?

Thanks for making this!

tony_landis··on American Consumer Sentiment Just Logged Its Biggest Jump in Decades
The principle at play may be not to trust the broad sentiment of the crowd as a reliable signal of where things are headed.
tony_landis··on Wayfair CEO tells employees to 'work longer hours' in year-end email
Looks like most of it comes from being awarded stock. Founders don’t get more stock generally.
tony_landis··on We wrote the OpenAI Wanderlust app in pure Python using Solara
I’m curious what are you thinking the advantages of using an AI only agent for this? For example, compared to Anywhere.com, where human experts are the agents.
tony_landis··on Show HN: Inquery (YC W23) – Real-time events for Postgres
What are the specific requirements postgres must soppprt? Any extensions or pl language support needed?
tony_landis··on Next.js 10.2
I like having the choice, for us immer and context usually is all we need beyond state & props so would not like to be forced into something opinionated. Free to choose just like you decide how to interface with your backend/state. Don’t turn this into a rails or danjo, please :)
tony_landis··on Kayak founder Paul English launches a new concierge travel venture
Check out www.anywhere.com. No app needed.
tony_landis··on Peru: The Future of Gastronomy
This is no exaggeration. Peruvian is by far my favorite cuisine.
tony_landis··on ClojureScript development environment with Vim
Thanks Astashov for the very comprehensive guide.
tony_landis··on Fotopedia is shutting down
Does anyone have the owner's contact? If so please put me in touch at tonylandis-at-gmail, I am interested in purchasing.
tony_landis··on Show HN: MTailor – Get measured by your iPhone's camera for a custom shirt
Just curious how long delivery takes. I made a test order 7-10 days ago and am holding off going to norstroms.
tony_landis··on Show HN: Bitfuture – Lock in the Bitcoin exchange rate
Good luck with the project. I suggest getting these details on the front page above the signup.
tony_landis··on DataScript – Datomic in ClojureScript
A seamless datomic <-> clojurescript client/service framework is needed. I am just getting started with Om and hope to experiment with some ideas in that space. I don't think REST is the right approach. I would like to abstract everything to an AVET or sequence thereof.
tony_landis··on Viber Replaces MongoDB with Couchbase
Couchbase is based on CouchDB, which I have used. I've commented on it here https://news.ycombinator.com/item?id=6690607
tony_landis··on Poll: How many hours a day are you looking at a screen?
If you are in front of a screen after dark, http://justgetflux.com is invaluable.
tony_landis··on MariaDB 10.0 Beta launched
Oh I have, and I like it so much that I feel like mentioning all the time. So I was pleased with my self-restraint here ;)
tony_landis··on Datomic Pro Starter Edition
Generally speaking, five year olds should not be choosing databases for anything critical. But I agree that Datomic and company can do better with their marketing and general product description.

Here is one of the better explanations I have seen:

http://www.flyingmachinestudios.com/programming/datomic-for-...

tony_landis··on MariaDB 10.0 Beta launched
I am pleased to see that the traditional SQL databases are still advancing. Having used various NoSQL databases, I always miss the declarative nature of SQL.

I have to agree that MariaDB's main stronghold being MySQL drop in. The other MySQL drop in out there is MemSQL, which is closed and they really keep pricing under wraps.

TokuDB is a great engine. I don't think Postgres has a storage engine that matches the benefits TokuDB brings, but other than that I don't see many benefits over Postgres for a new project, but haven't compared the replication features closely.

Migrating a big codebase to Postgres from MySQL can be kind of a pain unless everything wrapped everything in an ORM like sqlalchemy. The main pain point for me in a recent migration was how postgres handles mixed case in table/column names. Most of the function differences between the two are fairly easy to resolve.

Can anyone with experience with JSON in both Postgres and MariaDB make a comparison?

tony_landis··on Datomic Pro Starter Edition
I really like what the guys at cognitect are doing.
tony_landis··on Why Replication is Awesome
Here is the reference for update handlers for anyone wanting to check it out:

http://docs.couchdb.org/en/latest/ddocs.html#update-function...

It still requires writing code, and moving it into the database.

Once that is done, how do you call that function against an arbitrary list of documents and pass the new values to it without writing even more code somewhere?

This workflow of putting code/logic in the db is that it is forcing developers out of their preferred development environment, workflow, and most likely language.

Not to mention the fact that debugging all these couchdb functions and map/reduce calls becomes a nightmare. And testing - not sure how that could be done efficiently.

All of this this slows development.

It is possible to implement some web apps completely in static html, js, and couchdb, eliminating the need for anything server side. In those cases, couchdb is one of a kind.

tony_landis··on Why Replication is Awesome
I think the kind of thing you are doing is the sweet spot for couch. Perhaps over time it will be less so, but I now I think it is pretty unique.
tony_landis··on Why Replication is Awesome
Good points. Replication is certainly not painless to setup, and I've had trouble with continuous mode simply failing. I'm sure those warts will be worked out though.

Lucene and Elastic Search go a long way, it is just one more service to configure and maintain. Thats been an annoyance for me. If Lucene could be built right into couchdb that would be a major improvement.

However, that still doesn't let me cherry pick the values I want from a document. When the app is in a dynamic language, the cost of deserialization can add up.

Building some kind of xpath expressions to pull out specific parts of the doc would free up developers from spending as much time writing views, and would likely be much more performant to have that operation take place server-side. Maybe that should be an Elastic Search feature though and not Couch.

tony_landis··on Why Replication is Awesome
I think it was Rich Hickey that said the document database is the worst of them all, because you are now married to that structure.

Having used Couchdb in production for two years, I have to agree with his analysis, and offer my own opinion that Couchdb is highly overrated. Not because it is not a good implementation of a document style database, but because the document store itself is not a good match for most use cases.

If the only requirement is a replicated JSON document store, it may work OK for you. But so would Riak, Postgres and some others.

If you need to update the data in those documents or ever need to query the data in ways you did not initially envision, you will quickly find yourself missing features which even traditional SQL databases are very good at. Development is slower.

Writing map/reduce for queries seems particularly cumbersome, particularly if you prefer not to use Javascript. And you have to plug them into a textarea in a webpage interface, or manually put them into Couchdb over http using curl or some library that abstracts this away. Either way it is a degree of separation that makes the data feel more out of reach than through a console interface like psql or mysql.

Consider the scenario where you want to update the value in an attribute on several thousand, or even just several documents that match some criteria. In SQL, you would simply jump in the console and in a few seconds or minutes complete that as a transaction with something like:

> update table set col=val where criteria.

There is no such feature in Couchdb. You will need to write code to filter and fetch each matching document, manipulate it as needed, then write the entire thing back. All to update a few bits that hopefully were not nested too deep as that really increases the complexity of the code you will need to write.

As memracom stated, the replication is not perfect. My experience even on a low latency network is the only safe way to ensure a client can immediately read back what they just wrote is to pass them through the likes of haproxy and use a sticky session. Otherwise you have a good probability of getting a 404 after a POST (create) or stale data after a PUT (update).

So for what it is worth, here is my advice on choosing a database from an ease of development standpoint:

1) has as many features as you can, even if you don't need them initially 2) has top notch libraries for your language / framework 3) has relation awareness - do not denormalize unless you must 4) supports consistency 5) supports in place updates - easily filter and change values (doesn't apply to Datomic) 6) has tools to make schema changes / reshaping data is easy, and can be done online

Maybe 2 years ago Couchdb was a great solution. But with memory and ssd storage being so cheap and so much innovation with traditional and NoSQL DBs, I don't foresee myself deploying Couchdb again. If I did need a place to dump some semi-structured data, I find Amazon's hosted offerings more attractive.

tony_landis··on Show HN: RinohType – A modern LaTeX in 6500 lines of Python
Very nice work and a worthwhile project!
tony_landis··on Riot.js – A 1kb client-side MVP framework
Indeed. The whole reason for the existence of all these frameworks riot is being compared is to to simplify development.

Angular has no dependancies. Knockout also has no dependancies, so it's actually 13k > than riot.

For anyone who really serious about going minimal, here are some alternatives to jquery to build on.

9.7kb http://zeptojs.com/ 3.4kb https://github.com/rpflorence/snack 5.0kb https://github.com/julienw/dollardom/ 10kb http://xuijs.com/ <1kb https://github.com/honza/140medley

What a riot!

tony_landis··on Datomic Console
I guess I don't understand why Datomic's entity id wouldn't work as your auto-incrementing id.

If you wanted something else, then why not just use a UUID to avoid relying on the DB?

Or if you are using a RDMS like postgres for datomic's underlying datastore, just manage a seq directly there.

One thing I have learned is trying to use one tool for every problem just creates a lot of headache.

tony_landis··on Datomic Console
Were you already experienced with Clojure? I am just starting out with Clojure, so datomic being such a young database makes things challenging.
tony_landis··on Datomic Console
I am curious if you could expound on #3. I am starting a migration myself.
Page 1 of 2Next →