How Samba Was Written (2003)
173 points
by tosh
5 days ago
| 11 comments
| download.samba.org
| HN
nolok
14 hours ago
[-]
The EU court case against Microsoft, with FSFE and the Samba team fighting the good fight, was also a major step in getting there.

It was one of the "first few major cases" in the EU against tech, and the testimonies from the open source side had been great in explaining to the judge just what they wanted (and almost as important, what they didn't want at all, despite Microsoft claiming otherwise)

Then Microsoft got a fine by day and tried to play the force card by refusing to pay for a while.

https://fsfe.org/activities/ms-vs-eu/ms-vs-eu.en.html

https://blogs.fsfe.org/gerloff/2011/05/27/samba-case-hearing...

reply
Someone
13 hours ago
[-]
> It was one of the "first few major cases" in the EU against tech

Against? I would call it pro tech, against the tech industry.

reply
nolok
13 hours ago
[-]
Eh I would agree, I meant that in the "to reign companies that had been left to their own devices for too long".
reply
vessenes
11 hours ago
[-]
This is nicely written, and the style is fresh after a year of reading LLM writing whenever I click.

Interesting to me is the audience - this article is appropriate for a middle schooler on up to read, and assumes no technical knowledge at all, or very little. Documentation targets and the social culture around them have varied since I started reading documents like these, but this sets an especially low bar for reader knowledge.

I like it. On the one hand, I could have gotten much more technical detail out of a version that used industry-specific words and was half the length, but on the other, I got what i needed, and learned much about the author to boot.

reply
deltarholamda
9 hours ago
[-]
It also impressed me, as I'm not sure I'd have that sort of dogged patience. Samba is one of those incredibly useful pieces of open source software that sometimes I feel I take for granted.

I won't take it for granted now.

As a side note, the documentation has been pretty darn good too. I set up an AD server in Samba just from the docs, with a bit of additional help from Stack Overflow. It was only after I had finished that I determined that I could do what I needed with just the basic Samba user/groups. (My needs were not complicated enough to justify the extra overhead of AD.)

reply
doublerabbit
9 hours ago
[-]
2003 was a completely different era for technical detail. That kind of detail normally only sat in corporations.

People would jump in, contribute their part, write a bit and leave. Folk were willing to contribute ideas to your project and assist in parts you got stuck. You learnt and understood by studying the source you were given or obtained. There were less expectations, if you had a half-baked thing folk gave you grave .

Code was more optimistic, fun and free for all. You didn't get lynched for not having a license or for not using $LANG. You grabbed something from Sourceforge and ran with it.

Why are you not using Python!? Why are you coding in TCL. PHP, pathetic. eww, you use IRC? lol perl.

Forums were rampant, the internet was a friendly place; LAN parties were awesome and the internet had rainbow coloured fences not grey greased walls like now were climbing over are a struggle requiring you to leave with one or the other. The world wasn't as depressed and a new phone was a new phone and not just a rehashed Android UI.

Where did we go wrong is an answer that cannot be answered other than we seem to keep making the same mistakes over and over again blaming whoever.

Granted I was 15, so naivety. Thirty Seven this year and still waiting for someone to code the time machine to relive those days.

/me goes and scours sourceforge

reply
johnisgood
9 hours ago
[-]
I agree with everything you said, apart from "That kind of detail normally only sat in corporations.". I do not agree with it, because it applied to many open source projects.

And yeah, remember Eggdrop? :D

reply
doublerabbit
8 hours ago
[-]
I do, I never understood it then, I do now. Hybrid Ircd is what I used for my server. You were cool if you used Ratbox, and Unreal I never unstood why you needed +a and +q

Documentation was never fun so I'll use my age as an alibi. I was just a script kiddie and recalling downloading MB's of scripts and uploading them on to polarhome [0] where some awesome swede was hosting shell access to different systems on his home DSL. Me kitted with my three-hour limited 56k and my fathers work 128K ISDN line.

Oh well, nostalgia over back to work, writing IT architecture docs.

[0] http://www.polarhome.com

reply
dogleash
7 hours ago
[-]
> Where did we go wrong

Driving character out of the software world. Spotify couldn't whip the llama's ass even if it wanted to. And it doesn't want to. Spotify is a boring office worker that we're professionally cordial with only because they run the stockroom.

reply
pixl97
6 hours ago
[-]
If you looked at 'old' software companies that existed at 2000, they were boring companies like IBM. Really what most people don't want to admit is most of the software world grew up and got old.
reply
skrebbel
16 hours ago
[-]
> Now one problem with the "French Cafe" technique is that you can only learn words that the customers use. What if you want to learn other words? Say for example you want to learn to swear in French? You would try ordering something at the cafe, then stepping on the waiters toe or poking him in the eye when he gives you your order. As you are being kicked out you take copious notes on the words he uses.

This is written so compellingly that I almost want to try this approach to learn French swearing.

reply
Z_Z
16 hours ago
[-]
better off moving to Québec. enables a more passive approach
reply
skrebbel
16 hours ago
[-]
how so?
reply
Y_Y
14 hours ago
[-]
Tabarnak de câlice de ostie! Most of their swearing is just references to Catholic paraphernalia.

https://en.wikipedia.org/wiki/Quebec_French_profanity

reply
deltoidmaximus
6 hours ago
[-]
My wife is fond of swearing profusely in Québécois and it amused me how detailed this wikipedia entry was when I looked it up. Apparently, it was used to the fullest extent by her father recently in response to a broken toilet.
reply
Z_Z
15 hours ago
[-]
only meant it in tongue-in-cheek jest. the "gros mots" in Québécois french are firmly rooted in the culture and liberally applied. though I guess the same could be said about any language's swear words now that I'm thinking it out loud
reply
ben1040
8 hours ago
[-]
I've been watching the Québécois version of Taskmaster with community-made subtitles and I love how the subtitle writers have included brief idiomatic explanations for the swearing that is constantly peppered into the dialogue.
reply
skrebbel
15 hours ago
[-]
Hahh nice, appreciate the elaboration!
reply
doodlesdev
12 hours ago
[-]
Nicely written.

If I ever want to teach someone how to write a black box implementation for some kind of software interface, I'll point them to this to get started. The French café analogy is pretty good. It's also great because Parisians aren't always the nicest people around, just like the servers and clients you'll be working with during your implementation.

I guess nowadays you could also automate some part of the protocol discovery with LLM agents? Has anyone tried this before with any promising results? My idea would be to have a traditional fuzzer poking at the server, but use an LLM agent whenever you get a non-error message or a different error message to attempt the well-crafted request without having to shotgun every possibility under the sun into the server.

reply
lionkor
12 hours ago
[-]
I feel like using an LLM for this is not a good fit, because it's super difficult to verify whether the knowledge it found is true or made up. LLMs are much better at coming to a conclusion when a human wouldn't be sure at all, and that seems really important here.
reply
yencabulator
7 hours ago
[-]
In this case, you verify whether the knowledge was made up by comparing the virtual waiter behaviour to the actual waiter. Having a strong test suite like that is actually the ideal scenario for agentic development.

(It still incredibly hard to pull off for real, because of complex stateful protocols and edge cases around timing and transfer sizes. Samba did take 12 years to develop, so even with LLM help you'd probably still be looking at several years.)

reply
doodlesdev
11 hours ago
[-]
I guess the LLM doesn't need to verify whether what it found is true or made up, but rather just save the request and answer for later, so it can be reviewed by a developer and documented.
reply
toyg
16 hours ago
[-]
Nadella' Microsoft talks a good game about open source, but Samba (for all it's awesomeness), arguably the key piece of interop between Windows and Linux, is still periodically awkward to deal with. For example, if Windows users authenticate with their cloud account (which MS made basically compulsory) things tend to break.
reply
taskforcegemini
8 hours ago
[-]
to be fair, things also break on windows if you use their online services
reply
nolok
12 hours ago
[-]
To be fair, I'm not sure if it's an interop/open source thing, and it's just the fact that windows was always based on the fact it can be disconnected and run on a local account, even though microsoft tries to hide it.

Also one thing I have discovered with the whole work from home thing, is that users connected to their personnal cloud account on windows at home who then also connect their professionnal o365 account for work randomly end up with various weird issues.

Their cloud account in the OS thing is just not well thought out.

reply
pluralmonad
8 hours ago
[-]
Alternatively, it is very well thought out, but has different goals than you imagined. It is certainly a terrible user experience in many ways.
reply
ZeroConcerns
16 hours ago
[-]
Note that the complete title is "How Samba was Written", but apparently there is a list of unapproved interrogative adverbs...

Also note that since the MS-EU settlement, the SMB protocol is quite extensively, if a bit passive-aggressive opaquely, described in a series of documents that Microsoft updates to this day, e.g. https://learn.microsoft.com/en-us/openspecs/windows_protocol...

reply
p_l
13 hours ago
[-]
A lot of "fun" with those documents is that some of them quite probably were archeological digs on Microsoft side too.

For example, the MAPI specs have references to valid parts of the protocols and data structures that are not used anywhere and which in fact crash MAPI libraries (so Outlook and Exchange just throw errors if you give them such data), sometimes giving a glimpse of how there might have been abandoned features that were never delivered.

Like, surprisingly, HTML email support in Outlook[1] :D

[1] MAPI Message struct, and thus Exchange and Outlook, crashes when encountering "HTML message" let's call it "submessage". Turns out the valid way to save a HTML message is by wrapping it in RTF and saving it as Rich Text submessage. Plain text is another submessage.

reply
jchw
14 hours ago
[-]
Yeah, Hacker News does that. I've heard you can simply edit the title after submitting to fix Hacker News' "fixes" but I've not submitted enough things to give it a try.
reply
dcminter
11 hours ago
[-]
This is correct (I've done it a few times). I think there's an edit window though and at 8 hours we're well outside that.

The other option (e.g. when it's not your submission) is to email the mods, which I've just done, and they will fix it up if appropriate.

reply
i386
5 days ago
[-]
At the WiseTech office in 2006 we had a small shrine in the corner dedicated to Tridge, the patron saint of hackers.
reply
hinkley
6 hours ago
[-]
There was a weird moment when the overlay filesystem in docker had a disk leak for files that were written to inside the container and not being able to clean up after they exited except by resetting the entire host system.

One of the recommended ways to solve it was to smb mount a volume for the volatile files. Which almost as fast as the overlay.

reply
commandersaki
14 hours ago
[-]
I remember reading an interview or a biography of Tridgell that talks of him writing the code for what became Samba before Linux had existed, for I think interop between Microsoft and DEC.
reply
p_l
13 hours ago
[-]
IIRC Samba started out working on interop with DEC Pathworks, which was somewhat compatible SMB implementation (devil in the details, Pathworks predates SMB ossifying into what it became in NT4 when there was a lot of customization by vendors).

This meant that early versions were compatible with Pathworks servers but not Windows ones (but Windows could be configured to work with Pathworks)

reply
bell-cot
14 hours ago
[-]
Minor points of HN amusement:

This item is popping up from HN's Second-Chance Pool - check the mouse-over text on the submit time. Background - https://news.ycombinator.com/item?id=26998309

This item has been on HN a number of times. Sometimes the "How " is re-added to the title, sometimes not. (Click the 'samba.org' link, above, for a quick look at that.)

reply
dang
7 hours ago
[-]
[stub for offtopicness]
reply
emmelaich
12 hours ago
[-]
How Samba Was Written
reply
rob74
12 hours ago
[-]
Yeah, that's the HN "anti-clickbait" feature that (amongst others) removes the "How" from titles like "How we managed to run Doom on a mechanical typewriter", but in this case it doesn't make sense at all...
reply
Archer6621
12 hours ago
[-]
If anything, it made it more clickbait-y due to being an unusual title.
reply
dang
7 hours ago
[-]
Yes, it's imperfect that way.
reply
sph
11 hours ago
[-]
How does removing the word "how" make a title less of a clickbait?

"I made 40,000 dollars in a week with one simple trick" is exactly as bad as "How I made 40,000 dollars in a week with one simple trick"

reply
gosub100
11 hours ago
[-]
It removes repetition and imitation. To avoid a frontpage list full of "why I rewrote ___ in rust" , ,"how I use rust for filing my taxes", "how I switched from braille to rust"
reply
zahlman
8 hours ago
[-]
I sort of get it, but overall I still get the impression this particular filter is hurting more than it helps.
reply
layer8
8 hours ago
[-]
Samba was written …instead of vibe-coded. ;)
reply
khy
9 hours ago
[-]
I would say in this case it makes it enigmatic.
reply
jonstewart
10 hours ago
[-]
There should be luminaries to whom this does not apply, and tridge is certainly among that small pantheon.
reply
dang
7 hours ago
[-]
Rehowed. Thank you!
reply
sedatk
7 hours ago
[-]
The title is actually “How Samba was written”.
reply
dang
7 hours ago
[-]
Rehowed. Thank you!
reply
vessenes
11 hours ago
[-]
@dang original title is “How Sambas Was Written”, which makes more sense
reply
dang
7 hours ago
[-]
Rehowed. Thanks!
reply
curtisblaine
16 hours ago
[-]
At least we know it wasn't passed down orally.
reply
Minor49er
8 hours ago
[-]
...by a French waiter
reply
zem
16 hours ago
[-]
it was indeed
reply
rcxdude
5 days ago
[-]
Another win for the HN title-munging rules.
reply
kgwgk
12 hours ago
[-]
From the creators of “I met your mother” and “Green was my valley”.
reply
dang
7 hours ago
[-]
That's very good!
reply
darkwater
15 hours ago
[-]
Are they using something like 's/^[Hh]ow (to )?//' ?
reply
rcxdude
15 hours ago
[-]
I think so. Sometimes a mod comes and fixes it up afterwards but it's kind of inconsistent.
reply
creata
14 hours ago
[-]
Submitters can also edit the title themselves after submitting.
reply
skrebbel
16 hours ago
[-]
Samba
reply