1. 3

    Cast all function arguments??? No way, that is surely not a good idea. The type passed should match, taking care of conversion, but just casting all of them is asking for unmaintainability and weird range errors. Somehow the text reads outdated. VAX? 386? 32bit? Library not declaring return values????? o_O

    1. 1

      It’s surely outdated, but not as much as one might wish. A lot of this was still relevant well into the mid 2000’s… you may not need to write code that accomodated such things, but you would certainly encounter code written with it in mind in the wild. You still can, if you look in the right places; there’s a lot of it.

      C99 sort of unintentionally stands as a quiet but firm symbolic barrier separating us lucky souls from such horrors of the past.

      1. 1

        Can you say more about this? I’m curious, and what did C99 add that made this practice unnecessary?

        1. 1

          The way I meant it, it is more symbolic. If you’re writing C99, then you are acknowledging that your code will not work on SunOS 3 or a VAX or such and that you’re OK with it. You’re no longer trying to appease Old Testament compilers or libc’s that, for instance, don’t actually declare the prototypes of standard functions. This may just be my own take though.

          1. 1

            Oh, okay. That makes sense. I was genuinely asking. I’ve written very little C89 in my day, and no amount of C that came before that. (My first copy of K&R was the second edition.)

    1. 1

      Obviously written by a Marketing Lead. Where is the technical meat?

      1. 10

        I mean, the RFCs are linked right in the first paragraph.

        1. 6

          i was expecting this reply, but of course an article like text comparing JMAP to IMAP with perf statistics is what I’m looking for, instead of reading the dreary bare specs and deriving the real world implications by hard thinking.

          1. 10

            You know, that’s fair. My response was too glib, and I apologize. The JMAP homepage might have better info. As far as I can tell, it’s a more “webby” HTTP API, that doesn’t require a persistent socket, and has changes for use cases that are more common now than when IMAP was standardized. Too, it also handles sending mail from the client.

            I’ve thought about implementing it, or at least some of it, just to see. But it’s pretty ugly, and I really mislike the HTTP style, so, I’ll probably just continue free-riding on other people’s work.

            1. 1

              There is no performance involved with a protocol. Implementations have.

              Protocols might be designed with performance in mind though.

              1. 1

                Anecdotal, but Fastmail web via JMAP is the fastest, most responsive email client I have ever used (other than pure-text ones like mutt).

          1. 6

            I thought I would be reading something about a programmer’s mind, this is just a rant about the AbstractFactory pattern. I like the quotes best.

            1. 3

              I am missing a discussion of the actual tradeoff: what about timing critical programs? What about dependencies / library coverage? Binary compatibility (e.g. kernel modules)? embedded platforms? This reads as a single-dimensional sales pitch and hardly even mentions the reasons why a memory-safe language might be unfeasible. The single axis here is that safety is good and unsafety is bad. IMHO too naive / not that interesting.

              1. 2

                usually a commit should be atomic, but there is a point where rearranging the history to achieve nice and small meaningful patches becomes prohibitively difficult: for large refactoring, especially with the API going back and forth or with interleaved cosmetic changes, rebase conflicts become extremely complex and take days to sort out. So, even though i am an atomic-commit evangelist, on rare occasions our team has agreed to merge huge code bombs instead of spending another month on creating intermediate refactorings that still pass all test suites.

                1. 1

                  This looks cool but it’s inaccessible on a phone with touch and drag controls.

                  1. 1

                    Yeah, also tried to play on a touch device with Fennec browser, and dragging an item is rendered at like 2 fps, and grabbing the arrows is almost impossible. i once built a half adder to count from 0 to 7 using minecraft redstone, so i guess i’m pretty permissive on UI, but here, I gave up on the 20th attempt to drag a gate to the litter bin to remove it. This would be fun without the annoying drag and drop UI! Why not just touch source, touch target? And make the target areas larger? (Also dreaming of a text mode version.)

                    1. 1

                      I emailed the author earlier and suggested an interface in which you tap the source then tap the destination to create links. He responded that it was a good idea.

                    2. 1

                      It has been updated so you can tap to play instead of drag to play.

                    1. 1
                      1. 1

                        For website logins?

                        1. 1

                          I rarely log to websites. <- The fact I can write this is a counter-example.

                          But unfortunately, not.

                      1. 6

                        Some drawbacks:

                        • now google even knows your private credentials to all the other services it hadn’t controlled yet, great.
                        • the openid login we require with our gerrit always requires me to login at the redmine first, go back to gerrit, log in there picking openid, and then to again click ‘yes’ on the redmine that i allow it to trust gerrit. Suddenly the usual one-step password-manager-and-done becomes 4 steps that can never be automated the way the pw manager automates your normal logins.

                        So maybe private managers of secrets are better than outsourcing them.

                        1. 1

                          Your first bullet indicates that you misunderstood how this works. There are no credentials.

                          1. 1

                            There are supposedly no credentials you enter on a website for the openid client, but you outsource them to an openid service, in our case redmine. There obviously still are credentials! Now i need to still tell gerrit (openid client) which openid service to use. I need to enter/click that EVERY time, pw manager will not help me there. Plus i need to make sure to already be logged in with redmine. In daily work the supposedly easier openid login becomes a major click orgy to reference the credential service, where other non-openid logins are me hitting enter (after unlocking pw manager once per browser session) and that’s it.

                            1. 2

                              what happens when you want to switch browsers or platforms or devices?

                        1. 3

                          Sounds promising, but so far seems to be a huge amount of sideways meta talk. I don’t really want to spend hours listening to what bitwise might be about later, i’d want to see him dive right into it.

                          1. 4

                            When reading this, either i’m too dense to catch it, or this text doesn’t actually say anything. What’s your point? Can you pin it down instead of talking past and around it, for us dense people?

                            1. 5

                              The project is six months late. Management brings in the fixer to find out why. The fixer determines that the convoluted spaghetti mess of json generating xml generating lisp macros is slowing things down and they’d be better of with six lines of awk. The team working on the late project cries foul, the fixer doesn’t understand the problem, and the only reason the problem is late is because the fixer is so stupid they wasted days explaining things and they still don’t get it.

                              At this point, the fixer either has (air) support from management, who tell the project team to shape up. Or they don’t, and the fixer gets a bad mark in their file.

                            1. 3

                              reading this is like playing a movie backwards … it never occured to me that anyone would say: “look! There’s a gdb for C just like good ol pydb!” – it’s the other way around to me

                              1. 4

                                Forever War is an amazing book. It makes the reader experience the senselessness of war.

                                I’m reading Cryptonomicon at the moment. It’s a great book: all the intertwined plot lines are fascinating and I want to know what happens to the characters. As usual for Stephenson, there are frequent diversions and a lot of technical details (eg on cryptography, the physical structure of the internet). He has become one of my favourite authors.

                                As far as classic sci-fi goes, Alfred Bester is great. The Stars My Destination is one of my all time favourites. The Demolished Man got a Hugo award in 1953.

                                The Machine Stops is an amazing story by E.M. Forster all the way from 1909! It predicts the internet and videoconferencing, among other things.

                                Some more classics:

                                • Heinlein’s Stranger in a Strange Land (1961) and The Moon is a Harsh Mistress (1966).
                                • Larry Niven’s The Mote in God’s Eye (1974).
                                1. 1

                                  Heinlein seems to be recommended by a lot of people in the community so I’ll give that a read next week along with the sequel (Forever Peace) to Forever War.

                                  1. 4

                                    Heinlein has several phases. There’s the early teen / mil sf stuff (“Farmer in the Sky” etc), the psuedo-libertarian propaganda stuff (“Moon is a Harsh Mistress”) that seems to have come along with his libertarian 2nd (3rd?) wife, then he has a stroke & a bunch of medical problems and starts writing weird huge books: “Friday”, “Stranger in a Strange Land” etc. He was also bright guy who, at least some of the time, was actually satirising the things he was writing about. So there are many Heinlines & people are probably attached to different aspects.

                                    Honestly, I think there’s better SF being written in the modern era though. If you really get into the field, it’s worth going back & reading some of the older stuff, to see what later authors are sometimes reacting against / referring to, but reading SF from the 30s<->50s is not in any sense mandatory.

                                    1. 3

                                      I tend to agree. Avoid Heinlein, other than maybe Starship Troopers. I will never forget his line “9 out of 10 rapes are actually the womans fault”, which is from Stranger in a Strange Land. That was such a bad book, it actually put me off reading for a while.

                                      1. 5

                                        bleah I wish I could unread that line. Not only is it preposterously and poisonously paradox, it also disgustingly ignores the fact that by far not all rapes involve women at all.

                                    2. 3

                                      Stranger in a Strange Land is great not just because it’s a great story, but again because it’s a window into the counter-culture / free love movement of the 60s. Same warning applies though - walking talking screaming sexism in this book. Doesn’t make it any less of a classic, but being aware is good :)

                                      1. 3

                                        Heinlein

                                        I could never get into Heinlein. I finished Starship Troopers, but couldn’t even make it half way through Moon is a Harsh Mistress. I just don’t think he’s that great a writer. I’ve heard good things about Stranger in a String land; might give that one a shot, but from what I’ve read so far, I have several other things I’d rather try to get through first.

                                        1. 2

                                          I really enjoyed Forever Peace too, although it isn’t really a sequel.

                                          1. 2

                                            The three companion pieces to Forever War would be Starship Troopers by Heinlin, Armor by Steakley, and then pick one of either Falkenberg’s Legion by Pournelle and Stirling or the anthology Hammer’s Slammers by Drake.

                                            Other military sci-fi novels (say, Old Man’s War by Scalzi or a lot of the space-opera-y stuff) to me just feels too…cartoony, I guess? Like, I don’t want to go so far as grimdark 40K “FOR TEH EMPRAH ETERNAL WAAAGH”, but I also want the fighting and fighters–or the politics behind them–to be in focus instead of the technology or cutesy sci-fi tropes.

                                            I may be in the minority in that opinion though. :)

                                        1. 3

                                          If you ask me for a recommendation for classic sci-fi, I would always reply: Stanisław Lem! He got famous for Solaris but I rather did not enjoy that one actually. For me, the ultimate pinnacles of Lem’s work are “The Futurological Congress” and the short stories of space travelers Pirx and Ijon Tichy. Tichy’s “Seventh Voyage” is a must-read! Also the Eighth and Twentieth. I particularly enjoyed Pirx’ “The Test”, “On Patrol”, “The Hunt”, “The Accident”.

                                          What I like about these works are their playful paradox, comical approach to sci-fi: even that far into the future and sci-fantasy, profane details dominate the plot in unexpected ways. From hilariously funny to mind-opening, etching out sci-fi in a higher resolution.

                                          1. 1

                                            wow, how many years ago was that … that website is really old. I liked the page at the time I first saw it, it marked my personal transition to pronounced certainty that “Agile” wasn’t my thang.

                                            1. 1

                                              Does anyone get where in the tcp state diagram you see this behaviour? I don’t see it yet.

                                              1. 4
                                              1. 3

                                                Completely rewiring Osmocom’s openbsc internals. (yes, the open source mobile phone network software)

                                                Traditionally, we had BSC, MSC, VLR and HLR collapsed into the OsmoNITB (Network In The Box), but with recent developments…

                                                • we want to also have true 3G authentication (milenage), which our HLR couldn’t do;
                                                • also for 3G, we’re separating MSC from BSC;
                                                • we want a separate Home Location Register for asynchronous DB access;
                                                • and Harald Welte has prepared a completely new Virtual Location Register implemented in well-defined finite state machines, basically completely replacing our previous attach/auth/ciphering code, which I’m now settling into place.

                                                As a result I have the joy of wildly destructing legacy code, lancing whole new end-to-end test suites to verify the state machines and invent new data structures to unweld the layers of OpenBSC. I get to see every hidden fold, I get to completely trash ugly corners of the code with a machete and am making good and focused progress: it’s super fun! :D

                                                Looking forward to merging this to master, hopefully in one or two months' time…

                                                1. 1

                                                  all those acronyms … it’s “Visitor Location Register”, not “Virtual”. Actually “Volatile” would be the best match for what it does…

                                                1. 1

                                                  Joscha’s talks are highlights of the *c3 events, amazingly clear reasoning on profound questions of our existence. Great moment where you see a game of life bulding some sort of larger computing structure [spoiler]… and it turns out to be another larger game of life!

                                                  1. 11

                                                    I had to turn in an assignment on reinforcement learning at midnight and now have to prepare a small presentation about the topic until the end of January. Still not sure if I should present in German or English.

                                                    For another course, I am writing a vhdl program for Elliptic Curve Cryptography. Well, essentially it’s going to be a basic hardware point multiplier. What needs to be done is

                                                    • binary extended Euclidean algorithm
                                                    • point addition
                                                    • point doubling
                                                    • repeated adding and doubling, alias multiplying.
                                                    1. 8

                                                      Split the difference and present in Frisian!

                                                      1. 1

                                                        I think part of the grading process is going to be about how well the audience understood the speaker so I am afraid that’s not a viable option.

                                                      2. 6

                                                        Benefit of English is it can be distributed widely. I collect and pass on tons of cutting-edge papers but only if they’re English. I apparently missed a few, good works in Germany and France at one point since they used native language. I wasn’t only one from what I could tell on forums with people outside America.

                                                        If it’s not intended for widespread utility, then its language should be tied to what your audience is most receptive of. Do whatever language they’d prefer in a presentation in that context.

                                                        1. 3

                                                          I’m surprised that there’s any research being done where the results are not published in the lingua franca of science. I was told that French institutes have to publish their abstract in their native language but besides that I thought it’d be all English.

                                                          The work is not cutting-edge at all so it does not factor into it much. The paper I wrote is English anyways.

                                                          I actually didn’t really think about my audience, they might benefit from German more, while English would be an opportunity for me to practice. And it might be less work since the scientific terms do not have to be translated.

                                                          1. 4

                                                            On practice side, you might do both languages regardless so you still get the practice. Then have someone review the English copy.

                                                            Example of one in German is uSINApaper in 2003 below in German where most from that group were English. Fortunately, a translation turned up plus descriptions in sections of other papers.

                                                            https://www.inf.tu-dresden.de/index.php?node_id=2664&ln=en

                                                            1. 4

                                                              …and while you’re at it practising, why not also write in Frisian, Arabic, Russian, Japanese and Xhosa, think of the long term benefits! ;)

                                                              1. 2

                                                                English, Spanish, Russian, Chinese, German, and Arabic probably have you covered if wanting job or political prospects in powerful countries from here to the future. ;)

                                                              2. 3

                                                                That would probably be the best, then I could just let the others vote on it.

                                                                Huh, the more you know. Thanks for showing me that.