4 ms·
How Samba Was Written (2003)
- i386 10mo agoAt the WiseTech office in 2006 we had a small shrine in the corner dedicated to Tridge, the patron saint of hackers.
- skrebbel 10mo 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.
- Z_Z 10mo agobetter off moving to Québec. enables a more passive approach
- skrebbel 10mo agohow so?
- Z_Z 10mo agoonly 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
- Y_Y 10mo agoTabarnak de câlice de ostie! Most of their swearing is just references to Catholic paraphernalia. https://en.wikipedia.org/wiki/Quebec_French_profanity https://en.wikipedia.org/wiki/Quebec_French_profanity
- deltoidmaximus 10mo agoMy 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.
- sekh60 10mo agoThis reminds me of the Kids in the Hall Skit, "Direction's (I Speak no English)". https://www.youtube.com/watch?v=6vgoEhsJORU https://www.youtube.com/watch?v=6vgoEhsJORU
- ZeroConcerns 10mo agoNote 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_protocols/ms-smb https://learn.microsoft.com/en-us/openspecs/windows_protocol...
- jchw 10mo agoYeah, 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.
- dcminter 10mo agoThis 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.
- p_l 10mo agoA 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.
- toyg 10mo agoNadella' 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.
- nolok 10mo agoTo 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.
- pluralmonad 10mo agoAlternatively, it is very well thought out, but has different goals than you imagined. It is certainly a terrible user experience in many ways.
- taskforcegemini 10mo agoto be fair, things also break on windows if you use their online services
- nolok 10mo agoThe 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://fsfe.org/activities/ms-vs-eu/ms-vs-eu.en.html https://blogs.fsfe.org/gerloff/2011/05/27/samba-case-hearing-how-microsofts-gamble-backfired-2/ https://blogs.fsfe.org/gerloff/2011/05/27/samba-case-hearing...
- commandersaki 10mo agoI 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.
- p_l 10mo agoIIRC 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)
- lukeh 10mo agoThis is also my recollection.
- bell-cot 10mo agoMinor 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 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.)
- doodlesdev 10mo agoNicely 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.
- lionkor 10mo agoI 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.
- doodlesdev 10mo agoI 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.
- yencabulator 10mo agoIn 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.)
- vessenes 10mo agoThis 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.
- doublerabbit 10mo ago2003 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
- johnisgood 10mo agoI 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
- dang 10mo ago[stub for offtopicness]
- rcxdude 10mo agoAnother win for the HN title-munging rules.
- curtisblaine 10mo agoAt least we know it wasn't passed down orally.
- hinkley 10mo agoThere 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.
- jra_samba 10mo agoFantastic summary of the early days by tridge !