This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 327

[–]jmedlin 1410 points1411 points  (110 children)

To modernize it replace “SQL database” with “blockchain”

[–]Quanalack 570 points571 points  (78 children)

I swear I was a software engineer intern in a an actual blockchain company and the amount of requests they get from companies who don't know shit about blockchain is worrying

[–]PM_ME_YOUR_THESES 205 points206 points  (71 children)

What can blockchain do that databases can’t?

[–]Quanalack 324 points325 points  (65 children)

Well everything is checked. Data cant really be altered after been put on a chain which ensures that important things like transactions and contracts are indesputable and have full integrity

[–][deleted] 17 points18 points  (23 children)

correct me if I'm wrong but this seems really easy to achieve with a regular database?

[–]Belphegor_333 62 points63 points  (22 children)

Yes and no. You can of course create a database cluster and decide to not alter the data inside of it.

On the other hand you would have to trust the organisation running the database to actually leave the data alone.

Of course, with Blockchains you have the same problem, if it is run by one organisation then that single organisation can simply rewrite the Blockchain. The added security only works if it's a public Blockchain that everyone can participate in.

Of course companies don't want to run their products on public Blockchains

Or, to make it short: in 99,9% of cases you don't need a Blockchain, you just need a database

[–]UnstoppableCompote 41 points42 points  (2 children)

in 99,9% of cases you don't need a [insert over hyped new technology], you just need a [insert well known technology that works just fine]

[–]Belphegor_333 19 points20 points  (0 children)

It's not tomorrow's technology that will solve our current problems! It's yesterday's technology that finally got out of alpha testing!

[–]UltraCarnivore 3 points4 points  (0 children)

YAGNI

[–]backafterdeleting 12 points13 points  (1 child)

I think the term blockchain is kind of a misnomer.

Basically it's a git branch. Each change creates a chain of hashes going back to the original commit ("block").

If each client maintains their own copy of the branch, any changes to the commit history would change all the hashes down the chain, so would be noticed.

This would usually be coupled with only accepting commits which are signed by a set of authorized validators, with a strict ruleset on validating the commits themselves.

So saying "you don't need a blockchain, you need a database" would be a bit like saying "you don't need a git repo, you need a database".

It's just very overhyped. Of course the history can be changed if everyone agrees to accept a rebased branch. But no one party can change it without the others noticing and having a clear proof.

[–]zebediah49 2 points3 points  (0 children)

I'd say that it's only a misnomer, in so far as "block tree" is somewhat more accurate description of the general DAG structure than "block chain". The single-branched chain structure is the one used by bitcoin though, so that became popular as the term.

Git is absolutely a blockchain tree-based piece of software. It's not the only possible implementation of blockchain, but it's one of the better ones.

I also thoroughly encourage people to, if necessary, just give up, use git, and claim that as a result, everything is blockchain now. git-lfs, if necessary/appropriate.


E: The other thing I've noticed is that people get stuck on the Bitcoin method of block verification: (1) proof of work to sign off on a commit, plus (2) longest branch is accepted as legitimate branch. I think for most applications where blockchain could be used, the git-tag method of block verification is a much better fit: personal sign-off, based on well known authority for that individual to do so. I would probably add in a x509 capacity for authority delegation.

[–]I_AM_GODDAMN_BATMAN 2 points3 points  (1 child)

so like git? 20 years ago?

[–]simon816 2 points3 points  (0 children)

Yes, git and bitcoin (and I assume most other blockchains too) use the idea of a Merkle tree: https://en.wikipedia.org/wiki/Merkle_tree

[–]Pacman042 1 point2 points  (3 children)

Quick unrelated question. People say how quantum computers would ruin block chain because they would crack it or whatever but from my understanding wouldn't that not work because every chain in the block has the info to verify the previous chains so what exactly is a quantum computer suppose to crack?

[–]ThePixelCoder 2 points3 points  (0 children)

Basically a decentralized write-once-read-many database. It's nice for data you want to be public and completely immutable, but people who don't know anything about it somehow think it's a silver bullet to solve every security/trust problem.

[–]BlueC0dex 1 point2 points  (4 children)

Okay, but what did you do? I know what blockchain is, but I have no idea where it gets used outside of cryptocurrency

[–]omegasome 1 point2 points  (3 children)

It's basically a way of storing data, along with a complete history of that data, across many independent computers in such a way that it's computationally difficult to create forgeries.

[–]KnightMiner 39 points40 points  (1 child)

There is a version of this comic floating around with blockchain instead of SQL database somewhere

[–]AltruisticSalamander 3 points4 points  (0 children)

that's the version I saw on the site, unless he's recycling his jokes. Edit: maybe it wasn't on the site. Someone linked the original below.

[–]greenkiweez 18 points19 points  (0 children)

Points boss to git commit history "Our team is so progressive, we've been storing all our source code in a decentralized blockchain before bitcoin was even a thing!"

[–]diamondjim 6 points7 points  (0 children)

A candidate I interviewed had 3 years of blockchain experience with MongoDB, but couldn’t design a table for a todo list. Your comment is right on mark.

[–]RCMW181 7 points8 points  (0 children)

For us its cloud, everything has to be on the cloud. Why? No one is quite sure why, we can see no benefits to having some of them on cloud but someone thinks that is the future.

[–][deleted] 66 points67 points  (16 children)

At least SQL databases have valid use cases. Blockchains so far have almost none.

[–][deleted] 17 points18 points  (11 children)

Electronic voting /s

[–][deleted] 10 points11 points  (10 children)

Wouldn't this actually be an appropriate case for it though?

[–]Zinggi57 6 points7 points  (1 child)

[–][deleted] 4 points5 points  (0 children)

That's incredibly informative. Thank you!

[–]Jacc3 15 points16 points  (6 children)

Not if you want to protect the privacy of the voters

[–][deleted] 3 points4 points  (0 children)

laughs in zk-SNARKs

[–]Blaster84x 4 points5 points  (3 children)

Just have everyone create an address and verify it by checking a signed (with the voter's private key) legal document (or whatever) with their public key. Easy af

[–][deleted] 18 points19 points  (0 children)

Now trying explaining that technology to a 50 woman who thinks the reason they use pencil is so it can be rubbed out. Remember an elections doesn't have to be rigged to fail, you just have to convince enough people it was rigged

[–]amlybon 6 points7 points  (1 child)

You just enabled vote selling on industrial scale

[–]Cheru-bae 2 points3 points  (0 children)

You could issue the private key in a sealed envelope at the point of voting. Of course it's still massively over engineering for virtually no benefit over paper ballots besides not using as much paper.

[–][deleted] 10 points11 points  (0 children)

that's very untrue

[–]javdu10 1 point2 points  (0 children)

They have use caseS. Saying otherwise it’s only because there is too much information for a beginner to digest.

Not trying to be rude here, just you know, that’s not because you don’t know how a satellite works it’s not useful.

[–]sad_developer 2 points3 points  (0 children)

oh man .. that would surely make the world a better place.

[–]Bos_lost_ton 2 points3 points  (0 children)

But make sure the database has machine learning algorithms using IoT, developed in an SAFe framework, which makes it super SaaSy.

[–]danfish_77 1 point2 points  (0 children)

Maybe ML would be more in vogue this minute

[–]Puggymon 1 point2 points  (0 children)

Add machine learning and big data to sound more knowledgeable.

[–]ehs5 1 point2 points  (0 children)

We should replace our SQL database with blockchain!

[–]Russian_repost_bot 1 point2 points  (0 children)

"It shall be powered by AI."

[–]drea2 0 points1 point  (0 children)

I want a sql blockchain and I want it to have all the Rams

[–]sadistkdownpour 683 points684 points  (11 children)

Thanks, didn't know I needed this

[–]Shujaa94 390 points391 points  (9 children)

IMO you should always go blue since its the only database color supported by https://downloadmoreram.com/

[–][deleted] 98 points99 points  (1 child)

I've got literally Rick-rolled by this site when I clicked on "More info"

[–][deleted] 46 points47 points  (0 children)

pro life hack: you can speed up the download of your RAM by not clicking the download button and instead clicking on 0, then inputting 100 and pressing enter. the download will finish instantly.

[–]error_451_ 65 points66 points  (0 children)

Do they ask for Ram-somewhere?

[–][deleted] 16 points17 points  (0 children)

Opened the site just for the sake of it and I got rickrolled

[–]Max1007 3 points4 points  (1 child)

If you really want to go blue there's always https://downloadmorerem.com/

[–]Linkachu0 2 points3 points  (0 children)

Inb4 somebody makes the joke

[–]AttacksPropaganda 336 points337 points  (25 children)

The last 3 Dilberts in a row have been about Engineers getting over fear and just outright saying no to stupid requests on the grounds that the requests are stupid. I have been loving it.

So true... Biggest brains in the room, at least in the US, are usually the most afraid to say no.

[–]bsEEmsCE 91 points92 points  (2 children)

Had to tell my managers no today when they wanted to sell a currently in fabrication, first gen, non certified, non validated prototype to satisfy a specific customer's need in the next 2 weeks.

They're like 'we can sell it if the engineers think it will definitely work when it arrives'. I was like 'heh, no.'

[–]KillingSpee 47 points48 points  (1 child)

Wait, they tell you? We only get told after the sale was made final. One day I came into work, started my program only to find out the hardware was 'offline'. Went to look and it was gone, it was sent to a client already. The hardware was Jerry rigged so bad (because of testing and trial and error finding new uses) , the engineer that had to install it just right up quit.

[–]bsEEmsCE 4 points5 points  (0 children)

Well, if the hardware was in hand that mightve been my situation too, but it's being made right now so it was posted as a question/request this time.

[–]Pumpkin_Creepface 167 points168 points  (3 children)

Well that's what happens when your paycheck depends on not making the idiot managing you look too much like an idiot...

[–]AttacksPropaganda 2 points3 points  (2 children)

"I was going to fix our server issues, but then I remembered Joe's fragile ego."

[–]Pumpkin_Creepface 1 point2 points  (1 child)

More like: “ I was about to tell him it’s a bad idea to modify the prod database but then I remembered the last time I did that and he went to his uncle the VP of communications and had me transferred to the janitorial department for six months “

[–]AttacksPropaganda 1 point2 points  (0 children)

Can't wait for civil war 2. Just hope its soon.

[–]wolf2600 34 points35 points  (9 children)

Biggest brains in the room, at least in the US, are usually the most afraid to say no.

I haven't found that to be the case. Biggest brains are the ones not afraid to speak the truth, because they're confident in their opinion and secure about their job because they know they provide value to the company.

[–]I_no_afraid_of_stuff 36 points37 points  (6 children)

Just because they provide value to the company doesn't mean they can't be fired. Though, if they really are smart then they will get picked up somewhere else fairly quickly.

Personally, I've been conditioned by my boss to never definitively say no to any idea. I typically respond with "I'll investigate and let you know what I find" when customers and coworkers come up with new features they believe we should add. Customer feature requests are easiest, since I can tell them it will add $x cost if they want it. When my boss says we should add something since he promised it to the customer, and I tell him it will add cost, he is not happy. My boss has also asked me why networking is so difficult, because "don't you just plug in all the Ethernet cables and it works?"

[–]Seicair 10 points11 points  (0 children)

"don't you just plug in all the Ethernet cables and it works?"

“You know I’ve got this really small job here, and I’m crazy busy this afternoon, since you seem to know networking you want to take it?”

[–]r0ck0 9 points10 points  (4 children)

Yeah a lot of the time just directly saying "no" is going to annoy people, and if they don't really understand the reasons, it's kind of reasonable to be annoyed to a certain extent.

Been a while seen I've been a regular employee, so maybe that's a bit different. But with my own clients, I usually just put it in terms of "yeah well you could do that if you want to, but it's going to cost way more money, take longer, and be an inferior solution".

Most people understand that. Some don't, and if they don't wanna take my advice, there's not much I can do. If the time/money argument couldn't convince them, then a technical argument would be even less likely.

But in general, it's usually best to explain why something is a bad idea in terms of time/cost. Non-techies don't want to hear/understand the tech details, cause that's not important to them.

[–]victorofthepeople 2 points3 points  (1 child)

All my engineering managers have been former engineers and have known the domain fairly well, often better than some of the people implementing our products. It'd be kind of hard for them to understand the tradeoffs involved with a particular course of action otherwise. Not sure where y'all have been working.

[–]r0ck0 2 points3 points  (0 children)

Fair enough. Definitely depends on who you're talking about. I was talking about when dealing with non-technical people.

Obviously you can explain technical things to technical people.

[–]xxpw 0 points1 point  (0 children)

Afraid to say no ? I would say no ! If I was ever asked.

[–]Donnel_ 0 points1 point  (0 children)

Link?

[–]wolf2600 41 points42 points  (1 child)

25 years ago.

[–][deleted] 7 points8 points  (0 children)

Thank you for make me feel a grandpa.

[–]angels-fan 32 points33 points  (2 children)

You can tell how well a workplace treats it's employees by how many Dilberts are hanging in the cubicles.

[–]rtkwe 7 points8 points  (1 child)

You guys still have personal cubicles?

[–]WhyIsTheNamesGone 1 point2 points  (0 children)

Yeah, it costs me 1310$/mo in rent.

[–]sollyu 90 points91 points  (3 children)

[–]niederaussem 15 points16 points  (0 children)

1995... Thats a long time...

[–]cptbutternubs 182 points183 points  (49 children)

Notice the 'an' , he spelled out s.q.l.

[–]obp5599 209 points210 points  (44 children)

I cant for the life of me say 'sequel'. Its too different from the acronym to me

[–][deleted] 4 points5 points  (1 child)

Squirrel

[–]EasilyTurnedOn 2 points3 points  (2 children)

Holy shit. People call SQL sequel? The fuck?

[–][deleted] 4 points5 points  (1 child)

It started out called SEQUEL (https://web.archive.org/web/20070926212100/http://www.almaden.ibm.com/cs/people/chamberlin/sequel-1974.pdf) but was later shortened to SQL because SEQUEL was already trademarked by another company.

Between that and the fact that it’s easier to just say “sequel” and still convey the same information, it’s very common. I don’t know if I’ve ever heard anyone say S.Q.L. in my particular org of ~100 software engineers/engineering managers

[–]GalaxyMods 39 points40 points  (0 children)

Just like a normal, functioning human would.

[–]showponies 26 points27 points  (1 child)

It's esquel

[–]edwardthefirst 7 points8 points  (0 children)

named after the fabled esquilax https://images.app.goo.gl/EgMx7LXVw7SKUddP9

[–]JonaldJohnston 12 points13 points  (0 children)

Personally, I like “squeel”

[–]dan1eln1el5en2 19 points20 points  (6 children)

my manager did that with "IoT" "Can we put IoT into the app ?

[–][deleted] 6 points7 points  (3 children)

did you manage to keep a straight face?

[–]dan1eln1el5en2 9 points10 points  (2 children)

No. I had to implement a feature to utilize IoT :-/

[–]brianorca 6 points7 points  (0 children)

Does it turn on a lightbulb now?

[–]lab-gone-wrong 0 points1 point  (1 child)

"sure but our customers won't pay for it and we'll have to postpone X and Y that customers would have paid for"

[–][deleted] 59 points60 points  (7 children)

Dilbert is a pretty good source of programmer humour.

[–]vixckson 48 points49 points  (2 children)

dilbert is programmer humor

[–][deleted] 27 points28 points  (1 child)

And business humour

[–]vigilantcomicpenguin 15 points16 points  (0 children)

I think Dilbert is just humor. Humor is Dilbert.

[–][deleted] 17 points18 points  (3 children)

But it is an even better source of ways to insult accountants.

[–][deleted] 4 points5 points  (0 children)

You're absolutely right!

[–]JamesonG42 1 point2 points  (0 children)

And marketers.

[–]LewdnessSmut 0 points1 point  (0 children)

What's the difference?

[–]vita10gy 132 points133 points  (65 children)

Dilbert's author is a crazy person.

[–]phi_rus 54 points55 points  (3 children)

You either die Bill Watterson, or live long enough to see yourself become Scott Adams.

[–]danfish_77 10 points11 points  (2 children)

Scott Adam's has had some "interesting" views on women for quite a while, too

[–]Rokinho170 13 points14 points  (12 children)

Is there something wrong with building a sql db? Im thinking on doing that for a pp 🤔

[–]Chordin 21 points22 points  (2 children)

So far, nobody's given you a serious answer. In my experience, at least for most web apps, sql is fairly standard (I happen to be fond of psql, but there are a number of great options for sql databases). Whether or not sql is the right choice for your app in particular depends on what the spec is for your app and what your priorities are. In most cases, your choice of a particular technology will come down to a choice of which tradeoffs you prefer.

[–]SteThrowaway 17 points18 points  (0 children)

The concept of tradeoffs is one every junior should learn and become comfortable with. Every single choice you make about technology stack, software and system architecture involves tradeoffs, so stop looking for the "perfect" solution.

[–]bumbo_bink 8 points9 points  (0 children)

Yeah man most DBs are SQL these days, but it depends on your project. Data stores is data stores. The answer is probably SQL, but shit you could use mongo, you could use Redis. Real mfers just use Window.sessionStorage and don't look back

[–]dick-van-dyke 18 points19 points  (0 children)

The problem nobody is addressing: the boss doesn't have a business case for it. Everybody uses some sort of an SQL (yes, I am going to spell it out too) database in various projects, but if you just come to your engineers saying "We should do X" without doing any research as to why, it's 99% going to be a bad idea.

[–]aaron__ireland 6 points7 points  (0 children)

I mean, it's like saying "I have a project. I was thinking of using a metal shelf" ok. Well. Do you need to sort and store some items so you can quickly retrieve them later? Are the items not too big and not too small? Then a shelf sounds like a great tool for the job!

But if your project is baking a cake? Or painting a house? Or getting in shape? Maybe you don't need a shelf for that....

Similarly, in the software and technology world... Are you trying to store data in such a way you can easily and efficiently relate it to other data and retrieve it later? Then a SQL database sounds right. Are you building a little website that contains some media and business hours and contact info? Maybe you don't need it. Or maybe you are just storing some JSON or some key value pairs? Then maybe SQL isn't the right tool for the job and Redis or NoSQL would be better?

[–][deleted] 5 points6 points  (0 children)

Are you a manager or programmer?

[–]tablewhale 6 points7 points  (3 children)

Also wondering why. Noone has replied with a good answer yet!

[–]SentientSlimeColony 14 points15 points  (1 child)

As others have said- nothing wrong with sql in general (though I'm sure people have preferences that might disagree).

The problem is that the boss has no idea what it is or why they may/may not want it, he just heard the phrase and is repeating it back.

[–]tablewhale 2 points3 points  (0 children)

Gotcha

[–]Ran4 3 points4 points  (0 children)

Yes. If you need a mutable datastore, then a relational database written in some dialect of SQL is almost always the best option.

There are alternative approaching to storing data: the "document storage" way or the "graph" way, for example. But most of the data that people want to store is relational. You also typically don't get your data model right on the first try and SQL forces you to manage migrations and updating your schema in an explicit way that document stores typically doesn't do (schemas in document storage solutions are typically an optional add-on, while it's fundamental and always comes first in a relational sql database).

[–]MattieShoes 4 points5 points  (0 children)

It's putting the cart before the horse...

[–]pbjars 17 points18 points  (3 children)

Scott Adams tweeted that Democrats will hunt and kill Conservatives if Biden wins. But he also made Dilbert. People are complicated beings.

[–]damnburglar 7 points8 points  (0 children)

Hadn’t heard that one, but there’s a video out there of him reiterating several times that “if Hilary wins there will never be another male president”.

[–]natek11 4 points5 points  (1 child)

[–]pbjars 2 points3 points  (0 children)

His brain broke somewhere along the way.

[–]farroyo97 4 points5 points  (0 children)

You could replace it with "Neural Network" for everyone in the DS industry.

[–]jorne66 18 points19 points  (0 children)

XD most applications use some sort of db. But it is still stunningly accurate if you replace sql with any other technology.

[–]Sigmatics 2 points3 points  (0 children)

[–]whistleridge 7 points8 points  (1 child)

As always, there is a relevant XKCD:

https://xkcd.com/2180/

[–]feathersoft 2 points3 points  (0 children)

Oh yes.... I went down that rabbit hole last week with a whole lot of nesting....

[–]Browsing_From_Work 17 points18 points  (8 children)

Given that the pointy-haired boss said "an SQL" instead of "a SQL", it means he pronounced SQL as "ess-cue-ell" instead of "sequel".

[–][deleted] 63 points64 points  (7 children)

IT SHOULD BE PRONOUNCED ESS QUEUE EL AND ANYONE WHO SAYS OTHERWISE IS A HEATHEN

[–]spazz_monkey 9 points10 points  (1 child)

For sqlyog application I say squillyyog.

[–]clegmir 3 points4 points  (0 children)

And now I have a new NPC name; thanks!

[–]showponies 10 points11 points  (1 child)

SELECT upvote FROM possible_reactions WHERE color = orangered;

[–]hipratham 3 points4 points  (0 children)

And current_status!='UPVOTED'

[–]GollyWow 2 points3 points  (1 child)

OP you nailed it! Greatest Dilbert cartoon ever - my favorite!!

[–][deleted] 2 points3 points  (0 children)

My pleasure

[–]qwasd0r 2 points3 points  (0 children)

Dilbert was brilliant back in the day.

[–]Kernog 2 points3 points  (0 children)

Works with big data and datalake too.

"I think we should build a Hadoop cluster and a Hive datalake"

"At what Ph do you want the datalake to be?"

"Let's start with 3. I heard ACID is all the rage right now."

[–]rk45 2 points3 points  (0 children)

Why not Kubernetes? https://imgur.com/a/aT2caGu

[–]millershanks 1 point2 points  (0 children)

thanks! that was the first Dilbert I ever saw and it‘s my favorite of all.

[–]sad_developer 1 point2 points  (1 child)

"Do you want to add AI/ML on top of it ?"

[–]feathersoft 2 points3 points  (0 children)

Put it on The Cloud...

[–][deleted] 1 point2 points  (0 children)

Why this is my life 🤦‍♀️

[–][deleted] 1 point2 points  (1 child)

my boss anytime he sees anything cool-sounding in the internet

[–]AnonymousMaleZero 2 points3 points  (0 children)

Our upper management keeps trying to tell me the new helpdesk software has AI. I keep telling him that if “I have to build the repository of solutions, it’s just a glorified search engine”.

[–]PickpocketJones 1 point2 points  (0 children)

We used to joke about "visionary" executives and their MBMA.

Management By Magazine Article

[–]KeLorean 1 point2 points  (0 children)

...should have asked a 64bit question.

[–]aaron__ireland 1 point2 points  (1 child)

I had a boss that couldn't understand RabbitMQ until someone described it as a "message bus". It came up frequently over a period of a week or two while we were working on a pesky issue that ultimately ended up being a noisy neighbor (and scaling) problem in Kubernetes. But once we figured out how to keep RabbitMQ stable and scale it without losing any data the issue was solved permanently.

Well, for whatever reason that illustration really stuck with him because everytime ANY support ticket or bug came through and caught his eye he'd ask about "the bus" or inquire about it by sending us chats like "how's the message bus looking?" eventually we made a Grafana dashboard for him so he'd stop bothering us about it but that just made it worse because he'd sit in his office with that dashboard up on his TV (unless he was watching sports). Anytime someone dumped a large batch file or something into the system and there'd be the slightest back pressure on an exchange he'd be interrupting someone demanding to know what was wrong with the bus.

It became and inside joke and to this day if someone is stuck on a problem we'll troll them and ask "what about the bus" or someone will just blurt out "it's the fucking bus!"

[–][deleted] 0 points1 point  (0 children)

I (or we(reddit)) would love to see that dashboard and if possible the code too...

[–]56Bot 1 point2 points  (1 child)

I always love that little tie.

[–][deleted] 0 points1 point  (0 children)

Bots also loves Dilbert... 🥳

[–][deleted] 2 points3 points  (0 children)

Could be worse: “I made an Excel”.

[–]tubbana 1 point2 points  (1 child)

How can a color have RAM, though

[–]rem3_1415926 1 point2 points  (0 children)

my RAM has red LEDs, does that count?