Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "neo4j"
-
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
A simple, open source Neo4j client written in PHP - help craft project decisions and develop as a team10
-
Two years ago I moved to Dublin with my wife (we met on tour while we were both working in music) as visa laws in the UK didn’t allow me to support the visa of a Russian national on a freelance artists salary.
After we came to Dublin I was playing a lot to pay rent (major rental crisis here), I play(ed) Double Bass which is a physically intensive instrument and through overworking caused a long term injury to my forearm which prevents me playing.
Luckily my wife was able to start working in Community Operations for the big tech companies here (not an amazing job and I want her to be able to stop).
Anyway, I was a bit stuck with what step to take next as my entire career had been driven by the passion to master an art that I was very committed to. It gave me joy and meaning.
I was working as hard as I could with a clear vision but no clear path available to get there, then by chance the opportunity came to study a Higher Diploma qualification in Data Science/Analysis (I have some experience handling music licensing for tech startups and an MA with components in music analysis, which I spun into a narrative). Seemed like a ‘smart’ thing to do to do pick up a ‘respectable’ qualification, if I can’t play any more.
The programme had a strong programming element and I really enjoyed that part. The heavy statistics/algebra element was difficult but as my Python programming improved, I was able to write and utilise codebase to streamline the work, and I started to pull ahead of the class. I put in more and more time to programming and studied personally far beyond the requirements of the programme (scored some of the highest academic grades I’ve ever achieved). I picked up a confident level of Bash, SQL, Cypher (Neo4j), proficiency with libraries like pandas, scikit-learn as well as R things like ggplot. I’m almost at the end of the course now and I’m currently lecturing evening classes at the university as a paid professional, teaching Graph Database theory and implementation of Neo4j using Python. I’m co-writing a thesis on Machine Learning in The Creative Process (with faculty members) to be published by the institute. My confidence in programming grew and grew and with that platform to lift me, I pulled away from the class further and further.
I felt lost for a while, but I’ve found my new passion. I feel the drive to master the craft, the desire to create, to refine and to explore.
I’m going to write a Thesis with a strong focus on programmatic implementation and then try and take a programming related position and build from there. I’m excited to become a professional in this field. It might take time and not be easy, but I’ve already mastered one craft in life to the highest levels of expertise (and tutored it for almost 10 years). I’m 30 now and no expert (yet), but am well beyond beginner. I know how to learn and self study effectively.
The future is exciting and I’ve discovered my new art! (I’m also performing live these days with ‘TidalCycles’! (Haskell pattern syntax for music performance).
Hey all! I’m new on devRant!12 -
TL;DR
Management eats shit for breakfast
Context:
I am the sole Dev on a project.
Stack: Postgresql, redis, nginx,Java with Spring Boot, Neo4j.
I am the only one nearly familiar with : Redis, Neo4j and anything Java.
I'm gonna be on vacation for the next 15 days since they have told me that we where gonna be on a "testing/feedback" period.
My vacation was approved.
Today's meeting: we have a URGENT deadline to meet some criteria that might be the difference between have further investment or not.
Urgent deadline: last day of my vacation.
My face: poker
My thoughts: attached image4 -
Simple but tasty dish.
It’s just scrambled eggs, Indian style.
Oh btw did I say? This is the first dish that I learnt and my favourite goto if I get stuck with golang And graphql.
Guys.
Please do try this combination.
Go + GraphQL + Neo4j9 -
Great article published on DZone by our @dfox describing how he and Tim built devRant with Neo4j:
https://dzone.com/articles/... -
OH MY FUCKING GOD!!!!! FUCK YOU SPRING-DATA-NEO4J YOU ARE DRIVING ME CRAZY YOU SHIT FUCK !!! FUCK YOU AND YOUR DELETE ON SAVE BULLSHIT!!!! OMFG!!!!!!! EVERYTIME IS SOME FUCKING SHIT THAT DELETES OTHER SHIT THAT SHOULD NOT HAVE BEEN DELETED!!! JUST FUCK YOU ALREADY IM GONNA REWRITE ALL THIS SHIT!!!!!!!1
-
Forget about a missing semicolon. I was forwarding Neo4j to port 4747 and calling it in Asp.Net with port 7474 in Docker containers. It took me 6 hours to figure that one out. Lol, It's time for the weekend.4
-
@dfox I recently started playing around with Neo4j and find it really fun to work with. Would there be any way to get hold of parts of the devRant graph/graphs? Not private or secret stuff of course - only public parts of rants, tags and users. It would be fun to to play around with and analyze.13
-
One fucking week I was trying to solve a bug where I could save data to neo4j but not retrieve it.
I thought there has to be a bug within the library. But it turns out, I referenced the wrong class.
I need ducks...2 -
I spend 1 day debugging why I can't connect to my neo4j database. I reinstalled neo4j, I tweaked the configs, I still could not connect from my web application. The I tried to copy the url where to request are being send to into curl.
The error message: "Could not resolve host: locahost"
LOCAHOST. FUCKING LOCAHOST
FUCK ME AND MY ABILITY TO WRITE ONE OF THE MOST USED WORDS IN NETWORKING.5 -
Neo4j has to be the most well documented price of software after Linux... I mean ...holy shit! It is so fucking well documented!! I actually feel ashamed of the documentation I wrote this last week..1
-
I've now spent 6 hours trying to find a way to do something similar, as you can do in Neo4j, where you find relations up to depth 5, in PostgreSQL.
The issue is, I have to tables. One with persons, another one with relations (incoming ID and outgoing ID) to have a many to many relationship.
I'm at the point where I just don't care getting it to work. In Neo4j it's a fucking one liner, so why the fuck am I getting assigned to do this in PostgreSQL?
To prove a point? Well fuck you, I'm done with this shit.3 -
@dfox @trugus It would be great if you talk about the different components of your stack in the podcast. I'm particularly interested in neo4j.1
-
at one point in time, i had to work with a really junior backend team, they used javascript and neo4j as the database for an in-house developed community forum because "graph databases made sense" in the eyes of their tech lead
turns out that the team struggled quite a bit with it, and had some "unexpected complexity" problems when i asked them to add filters and sorting on the post endpoints
in the end, the "solution" they gave me was an endpoint that spewed ALL the posts so i could sort it in the front end
had they kept the same relational database they were using for the rest of the whole project, i'm quite sure it wouldn't take much to implement that (and their architecture was really performatic)
as a side project i rebuilt the whole forum in a weekend, but using postgresql as database, and it worked nicely, i even added some unit tests just for fun
gave myself a really big slap in the face after that, though1 -
Hey there people, I have a few questions regarding neo4j. Your experience could also be very useful to me here @dfox.
1. Is neo4j good for storing user data, like password hashes, etc.. In addition to the regular relationships with other components of the ecosystem
2. Is neo4j good enough to accommodate a really large number of users..
3. Does DevRant use a dual database, like user info in Mongo and relationships like comments and ++ on neo4j or is it like everything on neo4j
For q.3, if you're not @dfox then just provide an idea of how you would handle the situation.7 -
Not a rant, but maybe someone can help me on this one.
I am currently working on an app that will hopefully go live by the end of the year. Up to now, the webserver and database (for the REST API) is running on an old linux machine. However, as my ISP is not really reliable I want to move this stuff somewhere else. Has someone experience with the varios hosting providers? Currently I am a little bit overwhelmed by all the different solutions out there.
Ideally I would want something that doesn't cost very much now, but also scales with more users.
To make it more concrete, it's basically about neo4j + REST API in Python
Can somehow recommend anything? I really appreciate it, as I am currently a little bit lost on this.
Thanks for reading this!27 -
I know this guy who isn't really famous, but he was the one who got me onto the programming track. He was in the initial group of Neo4j, before it was released publicly if I recall correctly. Now he's moved on to found and grow Mapillary. Having one of those people near you can really get you inspired, so even though he isn't directly famous I'd still call him my favorite programmer.
-
SO , i just ran into this database called ArangoDB and it claims to single handedly beat Mongo,Neo4j,Postgres and claims to be capable of handling any use case you can throw at it.
If anyone could verify this claim , such an ideal database just makes me question it's existence.5 -
Hey guys,
can you recommend a graph database? I already tried orientdb but was really disappointed. The performance was quite good but I stumbled across a lot of bugs during my tests (even managed to corrupt the database during normal operation). So I am looking for a graph database that's a little bit more mature. I heard a lot of great things about neo4j..but I am not 100% comfortable with the license costs. Are there any alternatives?6 -
I'm taking a look at neo4j after working a lot of mongo. Takes some getting used to but I think I could use it well for my next project.4
-
A quick question !!
How popular is GRAND stack? GraphQL React Apollo client Neo4j Database.
Is anyone using it?5 -
Neo4j vs Mongo vs SQL
Which one would you choose for a high density scalable database?
Please comment with your ideas about speed and scalability.15 -
I would like to use an graph database for a new application. Do you have any recommendations? How is Apache Tinkerpop?4
-
Like 3 days looking for graphenedb connection with golang..
just did..
im so happy :'D
guys lets party!! -
I don't know about tinkepop but neo4j is the slowest fucking thing I have ever ran on my desktop, their fucking java based browser included.
and btw THAT is the reason I down Java apps, they're fucking slow most of the time !
https://saashub.com/compare-apache-...
Is that an aspect of graph databases ? slowness ?
according this guy yes.
https://memgraph.com/blog/...
except for specific tree traversals which makes me wonder what kind of things theyd be good for. -
Why with clojure every new thing have many hidden traps full of crap!? Did you try to connect to Neo4j with the two principal libraries?3