HNHacker News
TopNewBestAskShowJobs

jexp

171 karma · joined October 26, 2010

submissionscomments
jexp··on Adaptive PDFs
Shouldn’t it be possible since forever to put machine readable source information into PDF metadata. It’s more a problem of the tools and programs generating the PDFs.

We spend millions turning structured information into PDFs and billions to extract the same data from a printer rendering language

jexp··on Open-sourcing circuit tracing tools
Imported the graph json into Neo4j

Have fun

https://gist.github.com/jexp/8d991d1e543c5a576a3f1ee70132ce7...

jexp··on Ask HN: Do you track how your email address is used?
Catchall for 25 years :) (on domainfactory - df.eu) each company/service gets their own email prefix, so I can determine spam and also filter unsolicited emails.
jexp··on What Is a Knowledge Graph?
Thanks for the praise for APOC-ML, happy that it's useful.

Did you see the two blog posts that Tomaz Bratanic did on the topic?

For the ingestion: https://neo4j.com/developer-blog/global-graphrag-neo4j-langc... For the retrievers: https://neo4j.com/developer-blog/microsoft-graphrag-neo4j/

My general point on GraphRAG is that it extracts and compresses the horizontal topic-clustering across many documents and makes that available for retrieval.

And that by creating the semantic network of entities, you can use patterns in the graph structure to answer questions that rely on information coming together from different documents. Think the detectives board connecting facts with strings from many different sources.

Feel free to ping me for a deeper discussion: michael at neo4j

jexp··on The Algorithm Behind Jim Simons's Success
RenTec was covered in much depth at the Acquired podcast. Basically algorithms from signal processing applied to huge volumes of historical and current data to determine buy and sell signals. Originally developed for national defense.

Very secretive all external partners were bought out. Only hundred or so people benefited in the billions per person. Including Robert Mercer of Trump campaign financing and Cambridge Analytica fame.

Very interesting but also disheartening episode about smart people only caring about getting richer.

https://www.acquired.fm/episodes/renaissance-technologies

jexp··on Long-Term, Personalized Memory for AI Agents Using Graph DBs
Many advanced RAG patterns are easier with a graphdb and you can pull the relevant context starting with the vector search results.

You can also construct graphs with an llm out of text. See here. https://neo4j.com/labs/genai-ecosystem/llm-graph-builder/

jexp··on TSMC was founded by Morris Chang when he was 55 years old
There was a really awesome deep history of TSMC on the Acquired podcast

https://www.acquired.fm/episodes/tsmc

jexp··on Running Hugging Face GGUF Models Locally with Ollama [video]
Quick 5 minute video on downloading and running Hugging Face language models in GGUF format (quantized by TheBloke) with Ollama on your local machine and checking GPU consumption with asitop (Apple Silicon Mac Top).
jexp··on God writes Haskell
God wrote in Lisp, Bob Kanefsky performed by Julia Ecklar. My favorite song.

https://www.prometheus-music.com/audio/eternalflame.mp3

Refrain (full lyrics): http://www.songworm.com/lyrics/songworm-parody/EternalFlame....

For God wrote in Lisp code

When he filled the leaves with green.

The fractal flowers and recursive roots:

The most lovely hack I’ve seen.

And when I ponder snowflakes, never finding two the same,

I know God likes a language with its own four-letter name.

jexp··on Inside Google Founder Sergey Brin’s Plan to Build Airships
Unbelievable that they completely missed to mention the equivalent in size but failed airship company Cargolifter in Germany.

They operated in the early 2000s and went bankrupt.

They construction dome is as high as the Statue of Liberty and as long as the Eiffel Tower. Now used as indoor tropical resort.

https://en.m.wikipedia.org/wiki/CargoLifter

jexp··on Germany’s Nuclear Phase-Out Has Been a Disaster
The article is factually incorrect on many fronts. There were only 3 reactors running at last. Nuclear was never profitable, the country shouldered most of its costs (esp for radioactive waste storage)

The renewable energy transition was blocked and delayed by the same Merkel govt. Germany was once leading in wind and PV energy and all those industries were destroyed and almost 100k jobs lost. 60bn subsidies per year go to fossil fuel companies including coal mining and burning. Often under the disguise of job retention. All through industrial lobbying and strong unions in the fossil fuel industries.

jexp··on Ask HN: What lesser-known accessories do you use with your computer?
Luna Display for wirelessly extending screen to ipad and teleprompter.
jexp··on Ask HN: How do you track your work hours?
I used to do Lego Time Tracking when I was still consulting, as none of the other approaches worked for me (ADHD).

It even made it on LifeHacker back then: https://lifehacker.com/track-your-time-with-lego-bricks-3997...

The article is only on the internet archive these days https://web.archive.org/web/20081206084136/http://jexp.de/bl...

jexp··on Ask HN: What Is Going on with Neo4j?
Not really, they don't support graph algorithms.
jexp··on Generating JSON Directly from Postgres
I'm not impressed. Same in Neo4j's

MATCH (e:Employee) RETURN e { .* } as employee;

MATCH (e:Employee) RETURN collect(e { .* }) as employees;

MATCH (e:Employee)-[:IN]->(d:Department) WITH d, collect(e {.*}) as employees

jexp··on Neo4j raises $325M series F
Not sure if you saw our graphql integration, that takes typedefs and converts a graphql query into a single cypher query, which can then be executed directly. https://neo4j.com/product/graphql-library/ has links to docs and api scaffolding tools.

When I started back then in 2016 with it, it was pretty cool how directly graphql mapped to the graph model in the db.

jexp··on Neo4j raises $325M series F
That's what you can do in Neo pretty easily. The DS library offers a bunch (50+) algorithms to run on the graph data directly or projected, e.g. PR on 117M wikipedia links runs in 20s.
jexp··on Build your next app with a graph database
Not sure why, but the blog post in question (same URL), has been sneakily replaced with one replacing "graph database" with "GraphQL" in the title.

And changing the tagline on relational database from "Relational databases: a software engineering fail" to "Relational databases: engineering success is not always the best software engineering fit"

https://dgraph.io/blog/post/graphdb-for-your-next-app/

Fortunately internet archive still has the previous version, that the comments here were discussing. https://web.archive.org/web/20200709192510/https://dgraph.io...

jexp··on Ask HN: If you've used a graph database, would you use it again?
It runs authenticated enabled by default and uses https and also our binary (always-TLS) protocol.

Every database benefits from having the _hot_ dataset in memory, so that's the same with Neo4j.

2011 was many years ago, since then the memory management has been completely rewritten. You very probably wouldn't use the Neo4j Browser in production as it is meant to be a developer tool. Usually, you would build an app that uses the drivers to connect to the db.

jexp··on Ask HN: If you've used a graph database, would you use it again?
A graph database is similar, only it uses direct-record-ids for linking connected entities and not indexes. So instead of doing joins on indexes it follows record-pointers during graph traversals.

In the graph databases book (graphdatabases.com) there is a chapter on the internal architecture of Neo4j.

jexp··on Ask HN: If you've used a graph database, would you use it again?
Transaction isolation is a no-brainer, so I don't think your example holds. Also, your example is not related to the algebra but to isolation.

"Claiming ACID" what is ambiguous about that? Transaction support with different serialization levels, like other databases that offer it.

And Neo4j originally started b/c RDBMS was not able to execute the complex deep traversals needed in real time. Dedicated storage & query engine for graphs allow you to run statements quickly that would otherwise take too long to execute.

Regarding the data model, the property-graph model is much closer to the object model but with richer relationships, it doesn't suffer from the object-rdbms impedance mismatch and is better suited to express real-world domains & scenarios. It also represents semantic relevant relationships as first class citizens in the database, allowing for proper information representation and much faster retrieval.

Disclaimer: I work with/for Neo4j, for 8+ years and still love it.

jexp··on Efficient Graph Algorithms in Neo4j
Can you share more info about the queries that "went wild" on GitHub, so that we can reproduce? Thx
jexp··on Efficient Graph Algorithms in Neo4j
Would love to know more. Can you raise an issue with more details on GitHub please?
jexp··on Graph Databases 101
Cypher expressses the graph patterns that you're looking for in an ASCII-art-syntax, so you don't loose sight of the core of your question. On top of that you get filtering, projection, aggregation, pagination.

The most fun things are in-query dataflow which allows you to pass information from one query part to the next (projected, aggregated, ordered etc).

And the really cool collection and map functions, so you save a lot of roundtrips between client and server.

See: http://neo4j.com/developer/guide-sql-to-cypher/

jexp··on Ask HN: Why not use Graph DBs as a general purpose DB?
Your query actually doesn't make sense as you can't aggregate and then sort by something that's not returned. :)

I mean expressing this is easy and the execution is also straightforward, e.g. in Neo4j:

MATCH (lunch:Lunch)<-[:PART_OF]-(drink:Drink) RETURN lunch, COUNT(drink) ORDER BY lunch.delivery_date, lunch.total_price

this would be a more efficient variant:

MATCH (lunch:Lunch) RETURN lunch, size((lunch)<-[:PART_OF]-()) as drinks ORDER BY lunch.delivery_date, lunch.total_price

So I don't agree with the statement, that everything which is not recursive is better served by and RDBMS.

There is more than one use-case for your data most use-cases in real applications are more than mildly complex.

And GraphDBs might not be much faster on those types of queries but they are also not tremendously slower.

jexp··on Native multi-model can compete with pure document and graph databases
I'd love to hear from your friend and his experience with Neo4j, to see how we can make it easier / better to configure it correctly for the data volume.
jexp··on Modelling game economy with Neo4j
Not sure where you get your info from, but yes, thank you Neo4j is doing just fine :)

We have sound investment and revenue, growing list of large and small customers and a super active community, which I'm really proud of. All of that while driving a lot of cool development in the product. Could't be a better time.

I'd be happy if more graph databases show up that actually drive the graph database space forward than having petty fights between each other.

Disclaimer, I work for Neo as you can tell but happy to discuss concrete details any time.

jexp··on “Titan Is Staying”
I think everyone should evaluate the options with your own data to see which graph database fits their needs. Depending if you just want to run private or research projects or production applications you use different factors for deciding if a technology is good and mature enough. There are more than enough options to chose from: http://db-engines.com/en/ranking/graph+dbms
jexp··on “Titan Is Staying”
I don't know where you got the impression from that Neo4j can't handle graphs of this size. We have users and customers running much larger graphs in production. So that _definitive fact_ is not true :)
jexp··on How Medium Goes Social Using Golang and Neo4j
Neo4j's streaming Cypher HTTP Endpoint (since Sept 2013) is fully transactional even accross requests, see http://neo4j.com/docs/stable/rest-api-transactional.html
Page 1 of 2Next →