Email or username:

Password:

Forgot your password?
29 comments
Robert Rothenburg

@szescstopni @Threadbane @blacklight

I see a lot of folk get hot and bothered by clusters of NoSQL servers that use massive amounts of memory, CPU and bandwidth when a simple SQL database will do the job with less maintenance.

But it doesn't look as sexy on a CV.

Cybarbie

@rrwo @szescstopni @Threadbane @blacklight There are many cases where NoSQL is only sensible choice. NoSQL has been around longer than SQL, nearly as long as Voyagers which don't use SQL either. There is a narrow range of cases where SQL is appropriate usually some business context at a certain limited scale. It has nothing to do with your resume. Not only this just because business apps and web apps are shitty does not mean kids in critical systems engineering are not killing it, they are.

Fabio Manganiello

@nf3xn @rrwo @szescstopni @Threadbane SQL has been around since Codd's original paper in 1974, so it's a couple of years older than Voyager :)

As an SQL and relational algebra geek there's nothing worse I could hear than "SQL has only a limited range of applications". Both relational and non-relational databases can be amazing tools for storing data - when used properly for the right use case.

Cybarbie

@blacklight @rrwo @szescstopni @Threadbane NoSQL is even older than that. As for SQL sadly I have used most of them. SQL has its place, like anything. The key difference between the way say some webshit like facebook is built and Voyager comes down to the way the project is managed. There is no move fast and break things with a nuclear power plant. It's the old school SSADM with endless reams of docs, specs, ERDs and dusty old process Very high detail, labor intense, expensive software cycle.

John Socks replied to Cybarbie

@nf3xn @blacklight @rrwo @szescstopni @Threadbane I agree. In the old days I worked coding assembly language for medical instruments that would be in the field for decades. Certainly compared to today a lot of care was put into 64k. But as you say that's more about problem domain than technology

(I have also spun up MySQL instances for really trivial things, like organizing files at home.)

John Socks replied to John

@nf3xn @blacklight @rrwo @szescstopni @Threadbane Ha! I remember one of the last times I used a SQL database for a trivial purpose .. garage temperature recording.

I guess it cracked me up at that point how ridiculous it was to have a full unix(ish) stack and SQL to run a thermometer.

As an added bonus this pi zero and the one in the kitchen communicated, doing data replication for fault tolerance.

It's still funny to me.

stfn :raspberrypi: :python: replied to John

@John @nf3xn @blacklight @rrwo @szescstopni @Threadbane ah yes, for my first temperature measurement I also used a Zero W with a Postgres db and a pythons script writing to it every minute. Now I use an RPi Pico sending data by MQTT to a server which ingests those messages to InfluxDb, which is read by Grafana.

John Socks replied to stfn :raspberrypi: :python:

@stfn @nf3xn @blacklight @rrwo @szescstopni @Threadbane That sounds cool and much more modern. My boards answered my questions, which were basically about how the temperature cycle looked in my house with no heat or cooling (not present anyway) running.

Before running the test I had not really internalized that the coldest part of the night is not midnight ;-)

Fabio Manganiello replied to John

@John @stfn @nf3xn @rrwo @szescstopni @Threadbane we often forget that there's actually a very lightweight way of running SQL that doesn't require any server, it can also fit into memory, and even into a WASM frontend - SQLite :)

It may not come with all the bells and whistles of a full-blown RDBMS (no stored procedures and triggers AFAIK), but it definitely solves the use cases of (I'd say) 90-95% of the applications out there.

I've actually got the db of my Matrix server (~20GB) fully running on SQLite, and I've been impressed by its versatility and performance.

@John @stfn @nf3xn @rrwo @szescstopni @Threadbane we often forget that there's actually a very lightweight way of running SQL that doesn't require any server, it can also fit into memory, and even into a WASM frontend - SQLite :)

It may not come with all the bells and whistles of a full-blown RDBMS (no stored procedures and triggers AFAIK), but it definitely solves the use cases of (I'd say) 90-95% of the applications out there.

Sébastian Le Merdy replied to John

@John this is a very interesting project: do you have some links or details about hardware and software that you have used to achieve it?

John Socks replied to Sébastian Le Merdy

@seblm I think my method was a little idiosyncratic. If I remember correctly I used a DHT11 temperature sensor, and wrote c code to take a reading and insert it in the database. I just set that c code up as a cron job. I used shell scripts and cron jobs to do my data replication, database dumps and rsyncs if I remember correctly.

There are lots of ways to skin the cat, and if you search for raspberry pi DHT11 (or DHT22) there will be lots of examples.

Threadbane replied to John

@John @nf3xn @blacklight @rrwo @szescstopni
In 1984 I was getting radiation for lymphoma and the machine that was delivering the dose, some sort of Roentgen device I think, was computer controlled. During one of the treatments (everybody left the room of course), I reached over and turned the screen toward me and as the commands scrolled by the hair on the nape of my neck stood up. It was a BASIC *interpreter* running off an 8" floppy! AIEEEE!! 8^)

John Socks replied to Threadbane

@Threadbane @nf3xn @blacklight @rrwo @szescstopni

Ouch, yeah.

I came in at the start of the floppy era. Before that we actually shipped clinical instruments with ROM boards only, and updates were shipping a new board. Part of our department was still doing that.

There was this big consciousness that, even with floppies, you never knew they would reach their destination, and out of date software might live for many many years.

Eric Lawton

@blacklight

I wasn't taught SQL in my comp sci database courses in 1981, just hierarchical databases, because "relational is cool theory but not practical for commercial apps".

Ironically, I never used a hierarchical database but 5 years later, got a contract writing parsers for IMS, COBOL and PL/1 to generate SQL DDL and migrate data to DB2.

@nf3xn @rrwo @szescstopni @Threadbane

Fabio Manganiello replied to Eric

@EricLawton @nf3xn @rrwo @szescstopni @Threadbane this is a very interesting insight.

I studied computer engineering two decades later, we were told that SQL had been around since 1974, and most of us assumed that Codd came down the Mount Sinai with the foundations of relational algebra set in stone, and everybody embraced it immediately.

Working on some legacy systems at the beginning of my career, I actually also noticed that DB2 and friends weren't fully embraced until at least the second half of the 1980s.

Same goes for C++ - most of the post-2000 students assumed that after Stroustrup's initial draft C++ and its object oriented paradigm came as a tidal wave on software development, but later on I noticed that most of the software up to at least mid-1990s was still written in earlier languages.

@EricLawton @nf3xn @rrwo @szescstopni @Threadbane this is a very interesting insight.

I studied computer engineering two decades later, we were told that SQL had been around since 1974, and most of us assumed that Codd came down the Mount Sinai with the foundations of relational algebra set in stone, and everybody embraced it immediately.

Eric Lawton replied to Fabio

@blacklight

I was part of an OO Centre of Competence in the mid-1990s.

I wasn't writing much code by then, mostly design and team leader.

But I remember a developer telling another that I was an expert in C++, even though I had only read the manual (which I still have).

I think it was because I knew how to write compilers and read the book critically through that lens, so was figuring out the point of each feature as I read about it.

@nf3xn @rrwo @szescstopni @Threadbane

SarekOfVulcan replied to Eric

@EricLawton @blacklight @nf3xn @rrwo @szescstopni @Threadbane much the same in my database class in 1989, I think. SEQUEL got a passing mention in the textbook, but that was about it. :) I know relational theory was discussed, but I long ago chucked the proper terms in favor of SELECT, FROM, WHERE, etc. :)

bjb :devuannew: :emacs:

@nf3xn @rrwo @szescstopni @Threadbane @blacklight
There are a very few cases where nosql is a better choice. Also, there are flavours of nosql, each optimizing for different things.
There are a few cases where a full-blown sql server is a better choice. Some sql servers are better than others, they are not all the same.
There are tons of cases where either will do fine.

Threadbane

@nf3xn @rrwo @szescstopni @blacklight

But do they have to use an IBM 029 card punch, carry trays of punch cards to the big mainframe on base to compile (ready the next day)!? Do they have to toggle switches on the PDP-11 front panel to load the jmp instruction and then the address of the ISR that loads in the bootstrap loader from paper tape that then reads the hard disk for the big boot? Do they have to code without an onscreen editor!? HUH!? HUH!? HUH!?

Threadbane

@szescstopni @rrwo @blacklight
One of the first languages I learned was FORTRAN, back in 1969. Didn't really use it until the 70s though.
I've coded in:
Jovial
Simscript
c and C++
Visual Basic
PerlTK
Ruby
Singer-Kearfott assembler
8080 assembler
X86 assembler
PDP-11 assembler
MACRO-11
Many SQL variants
cshell, Korne shell, Bourne shell, Bash, etc
Pascal
Algol
Ada
Byron
...I'd have to go find some old resumes. 8^)

Jorge Stolfi

@Threadbane @szescstopni @rrwo @blacklight

Learned Fortran in 1969 too.

Funny that my list of languages is about as long as yours, but has very few in common -- C (not C++), csh/sh/bash, Pascal, Algol (Burroughs dialect).

Ramin Honary

@szescstopni @rrwo @Threadbane @blacklight

> > "Right. Sometimes I think I should learn FORTRAN."

You should learn Common Lisp or Scheme, for sure. Its a high-level language, its a low level language, it is a little of everything in between.

szescstopni

@ramin_hal9001 @rrwo @Threadbane @blacklight I might be too old for that. The main reason I still program is to manage running a small rural ISP operation, and Python is all I need for that.

Fabio Manganiello

@ramin_hal9001 @szescstopni @rrwo @Threadbane I've tried to learn LISP dialects for the past 20 years or so, and I've always failed.

I mean, I can definitely read some Common LISP, Scheme or Clojure code by now, and I've even debugged somebody else's code occasionally. But when it comes to writing, all those nested parenthesis and operators in an unintuitive order just keep shouting "unnecessary cognitive burden" to me :)

Ramin Honary

@blacklight @szescstopni @rrwo @Threadbane the parentheses are an essential part of the language, being that one of the distinguishing features of any Lisp is the ability to write code that transforms parts of your program into other forms before it runs (sometimes while it runs). You can do this with any programming language of course, but Lisp's minimal syntax makes it easier to do for both the programmer and the compiler — meaning a lower cognitive burden for the programmer, and also a smaller, more efficient memory footprint for compiled binaries.

Once you get used to it, nothing could be more intuitive than the elegant, minimalist syntax of Lisp.

@blacklight @szescstopni @rrwo @Threadbane the parentheses are an essential part of the language, being that one of the distinguishing features of any Lisp is the ability to write code that transforms parts of your program into other forms before it runs (sometimes while it runs). You can do this with any programming language of course, but Lisp's minimal syntax makes it easier to do for both the programmer and the compiler — meaning a lower cognitive burden for the programmer, and also a smaller,...

Threadbane

@ramin_hal9001 @blacklight @szescstopni @rrwo
Never learned or used Lisp, although I have seen a Lisp listing from a project a coworker was on. Cool.

SarekOfVulcan

@ramin_hal9001 @szescstopni @rrwo @Threadbane @blacklight GNU Lilypond, a music typesetting system, allows embedded Scheme code for the stuff that Just Doesn't Fit in the standard syntax. :)

szescstopni

@SarekOfVulcan I might have to look into this – I'll probably have to learn Lilypond to typeset a friend's ukulele book :)

Go Up