1. 12

    I made a long thread about this (and other properties of voting systems) a couple weeks ago

    A very important property of voting systems is secrecy. Once you drop in your vote, nobody should be able to tell who you voted for. This includes yourself – you should not be able to prove who you voted for.

    This protects against candidates paying for votes, as well as people forcing you to vote a certain way. Once you’re out of the polling place, you’re free to lie about who you voted for and nobody – not even someone with power in the government – can tell if you’re lying.

    Coercion is absolutely a problem in the united states. Often families are forced to vote the way the patriarch does. Many polling places in the South will even help families get adjacent voting booths (this is bad).

    Secret ballot is a property of voting systems that is there quite universally – most countries have it.

    Alameda County – the county in which I was helping run a polling place –does give you ballot stubs that you can take home. These don’t have your vote on them (they do have a unique ID) but you can use them to prove you voted (e.g. if you need to prove to your employer you voted so you can justify taking the 2 hours paid leave California requires employers to give you on election day)

      1. 2

        Reading your thread about ID, and about secure elections (no personally identifying paper trail) made me realize it’s actually quite easy to be ineligible to vote and still vote and there is no way to track this. A certain someone keeps harping on illegal voters and I drink the kool-aid that this is all over blown, but now I realize that anyone with any kind of id can just vote and we can’t track legality - we can only, after the fact, identify people who registered to vote illegally and only after systematically going through the whole voter roll and tracking down everyone and checking their citizenship. In the polling station I went to in Mass they don’t need any signature, so one can claim someone else voted in their name and so on. They took my ID, but I can’t remember if that was just because they initially couldn’t find me on the rolls, so I think you just need a name and address.

        1. 12

          You sign the voter roster under penalty of perjury, and if you’re voting provisionally that all gets dealt with later.

          If you are voting for the first time they often need ID because of the HAVA act, but otherwise there is no ID requirement in many states (california too).

          A lot of things in this country operate under trust that you’re not lying in a situation where lying is illegal. It works out.

          There’s plenty of research showing that the threat of illegal voting is extremely low. Illegal voting is very hard to scale, and if you’d like to flip an election you’d need a lot of illegal voters. The chances of getting caught go up dramatically as you try to scale this. It’s not worth it; and very few people do it.

          Your argument is that you can game the system. That is true, but that doesn’t mean people do game the system, and that doesn’t mean that it’s worth it to game the system.

          OTOH a lot of people don’t have photo id. The cons of requiring id outweigh the pros. Disenfranchising a large segment of our poorer population is totally not worth it to catch a couple cases of voter fraud.

          1. 3

            Don’t want to start this discussion on lobste.rs but that makes me worry - because now there is an incentive for candidates to treat illegal voters as a voting block and cater to them, just like any other voting block. This creates a market for this. May be I should try and understand more from you via message.

            I recall telling someone canvassing for votes a few years ago (local election) that I couldn’t vote because I wasn’t a citizen (at that time) and she just shrugged in a strange way. I always puzzled about that. It wasn’t “Oh, yes you can’t vote, bye.” almost a wink-wink.

            1. 10

              That could also be because non-citizens can still be politically active – in fact iirc non citizens are often over-represented amongst campaigners because that’s all they can do to affect the election.

              I know non-citizens who have been canvassed and asked to help phone bank or whatever when they explain they’re not citizens.


              Again, scaling a process of catering to illegal voters is hard. Every single vote you try this for is an opportunity to get caught; you can’t do it in bulk. And a wink-and-nudge isn’t enough since you still have to explain how to impersonate a different voter or whatever – most people don’t know how voting works.

              It is totally possible for a single person to vote illegally. This process is very hard to scale without getting caught. Furthermore, it has not historically been a problem, and still isn’t.

              Voter fraud fearmongering is typically used to enact hurdles to voting that end up disenfranchising legitimate voters.

              1. 6

                One of the most salient political issues in the US right now is the presence of tens of millions of illegal immigrants on US soil, and the question of what, if anything, should be done about it (anything from “national borders are inherently illegitimate” to “greatly expand the size and power of the government’s law enforcement apparatus in order to deport them all”). Many illegal immigrants have some kinds of official documentation, because not all parts of the government are the ones that check for citizenship/legal residency, and because deliberately not checking for citizenship/legal residency when interacting with government services is a politically-popular pro-immigrant position in many jurisdictions (of course, it’s also a massively unpopular position in other jurisdictions).

                If someone’s presence in the country at all is illegal, but they are part of a group of tens of millions with similar status, know that enforcing the law (i.e. deporting them) is logistically difficult for law enforcement and very politically contentious, and in general feel like they are rightfully Americans, just without documentation, I find it very plausible that they might decide to cast a vote, and that the mechanisms to detect illegal voting wouldn’t detect them doing so. I don’t think that doing something under penalty of perjury is a significant deterrent to someone whose is already subject to deportation if the parts of the government that enforce immigration law learn about it.

                1. 6

                  I find it very plausible that they might decide to cast a vote

                  They can’t cast a vote under their own name though, they have to be registered.

                  And as the OP mentioned it’s much easier to be caught during the registration process.

                  What they have to do is turn up at a voting place, and impersonate someone else. This is very much an actively malicious act, not a passive “I feel like I’m american, i’ll vote” act where there’s more misunderstanding than malice.

                  1. 2

                    hah I just brought up where that happened to my great grandfather, the misunderstanding option though. He thought he had done all the proper paperwork but he had not. I don’t have the full story though he may have gotten a visa confused with citizenship or something, the world will never know.

                    1. 2

                      You don’t need proof of citizenship to register. I did it online.

                      1. 4

                        Sure, but once done it’s something they can look for and catch at any time they want. Unlike voting under someone else’s name – if not caught that day (e.g. if the person being impersonated comes in and tries to vote later), it won’t be caught at all (but this is fine because it doesn’t scale).

                        When you register online you’ll provide an SSN or state id number, both of which can be traced to citizenship status. The state may not be interested in helping the federal government deal with illegal immigrants, and may not care about citizenship status in general, however the registrar of voters definitely will care about these things.

                        1. 1

                          I gave my drivers license I think. Don’t recall if that is tied to my ssn. If registration is linked to ssn then its less scary because automated scans can be done re: eligibility

                          1. 2

                            I’m registered in california; I registered through my state id (you can autoregister when you apply for an id). When you register online you either provide an id number or ssn.

                            When I want to access my voter settings (change vote by mail preference, check if my VBM ballot was counted, check my polling place, etc) it asks me for an id number or ssn. Being too lazy to fish out my id I just use my SSN, which I know. It still works, despite having registered through my state id.

                            This stuff can be linked if they want to, usually.

                            And again, evidence shows that none of this is actually a problem.

                    2. 5

                      Yeah except all research on this issue shows that voter fraud is exceptionally rare. Some of the most recent examples were conservatives who thought voter fraud was easy with this exact mindset and got caught. My great grandfather found out he wasn’t actually a citizen when he went to vote, they told him he couldn’t because he wasn’t a citizen, and then went to mexico and applied for proper citizenship in the US.

                      The reality is voter fraud, intentional or accidental is actually deceptively difficult. There are actually many layers at every step of the process that end up preventing this from being a problem. Voting machine based voter fraud, that may be a real thing, and we’ll probably never know how much. Humans walking in to do voter fraud, accidental or purposeful is statistically not a thing.

                      Even Trump’s voter fraud investigation turned up dust.

                      1. 5

                        I don’t think that doing something under penalty of perjury is a significant deterrent to someone whose is already subject to deportation if the parts of the government that enforce immigration law learn about it.

                        But the threat of deportation definitely is - have you met anyone who’s undocumented? The ones I know are terrified of every interaction with law enforcement, DMVs, employers, etc. Go to any restaurant kitchen anywhere in the country, any farm anywhere in the country, and see if you can even get them to tell you their full name without knowing why you’re asking.

                        I sense you’re not close to any of these people. You would be subjecting yourself to an immense personal risk of losing access to all personal property, friends and family, etc just by putting yourself on a voting roll when you aren’t a citizen. I would never risk losing access to my children because of my desire to vote on anything.

                        This is outside any discussion as to what we should do about the fact that large portions of our economy depend on labor that is undocumented – but their voting power is nil.

                        1. 4

                          yeah I found that part of the argument absurd, but it seemed very subjective so I left it alone

                          I’ve known some illegal immigrants, all of them are very careful about this.

                          1. 2

                            I sense you’re not close to any of these people.

                            That’s painfully clear.

                            My wife works with a community organization that serves undocumented migrants. The list of services public or private they avoid to avoid any interaction with government officials who might question their immigration status would amaze you.

                            The thought that an organized voting fraud bloc would arise around them is positively risible.

                            As noted in the thread, the evidence clearly shows in person fraud is a non issue; in reality, strict voter ID laws are the real problem, as they serve to disenfranchise the poor and those underserved by government while providing no real benefits.

                    3. 3

                      Way too many unsourced assertions here. And I hope I’m not the only Lobster for whom “just trust, don’t verify” rings hollow.

                      1. 4

                        here’s a whole bunch of sources from a non-partisan org: https://www.brennancenter.org/analysis/debunking-voter-fraud-myth

                1. 8

                  Software engineering actually starts much earlier, and are the areas that have the highest recorded success rates of quality:

                  • requirements gathering
                  • architecture specification (cleanroom calls this blackbox)
                  • detailed design (cleanroom calls this clearbox)
                  • intended function notations & code inspection

                  Compilers giving you more feedback is good(tm) and I am not maknig the statement that we shouldn’t have type systems or that we should. The author’s conclusion that the earlier the feedback the better is supported by code quality, cost, and speed research - but I must push back on the idea that writing software begins with typing into a source code file.

                  1. 2

                    Author here; I see why you read the post that way and perhaps I could have said “six stages of the ‘creating actual code artifacts’ cycle” or something, but I think the intent of the post is clear enough.

                    Certainly we should invest heavily earlier in the development cycle as well; there is data dating back decades in the Waterfall models that every step forward from requirements gathering to delivery increases costs of rework dramatically. This post just isn’t about that. :)

                    1. 1

                      To be strictly pedantic, the article said stages “where you can receive feedback”. It’s real hard to get empirical feedback on the requirements gathering, architecture specification or detailed designs. If it wasn’t, software engineering would be a much easier line of work. :)

                      1. 2

                        It’s easy to get feedback on them. This is an attempt to talk about quality and correctness while not including valuable research of significant projects that have been delivered with close to zero defects over decades of run time. The idea that you include monitoring but not code inspection is an odd blinder that ends up focusing on a point about type systems in compilers - which is weak and not supported by research.

                        There’s a reason that builders to this day use blueprints even though there is no way to get “empirical” feedback from them.

                        1. 1

                          If you have a way to work out, from a specification, whether or not that spec really meets the customer’s actual real world needs, which gives me an answer before delivery of the finished product instead of after, then I am all ears. Please tell me. That is a problem that I have right now.

                          Edit: it’s specifically the correctness and completeness of the requirements gathering phase’s outputs that I have the most serious worry about in the thing I’m doing next. Doing a prototype is not super realistic in this case because a working prototype would amount to a large fraction of the project’s budget all by itself: the bulk of the friction in this project is about how to interpret data from an API (not under our control or purview) and present it to end-users, and that data is really-vaguely described at best.

                          1. 1

                            Since you’re asking, I’ll give you what Cleanroom and other quality focused processes suggest. I don’t know a lot of what you’re going through, and I know the pain of the practical is not solved by hypotheticals, but I hope you can get some inspiration on how to proceed.

                            To find out if a specification meets a customer’s needs, you encode it in a contract and have them sign it, along with a certification that if met means you satisfied the contract. It’s the way almost all engineering business is done today outside of programming, and has easy economic mechanisms when either party doesn’t hold up their agreement (lack of payment, lack of delivery, etc).

                            What does certification look like? Statistical quality tests, with a MTBF/MTTF that is acceptably long to the customer based on certification tests. Defining these certification tests, and agreeing on their contents either with your development team or your customer is how you can validate your specification is thorough enough, or detailed enough.

                            1. 2

                              you encode it in a contract and have them sign it, along with a certification that if met means you satisfied the contract

                              That didn’t work last time we tried it. The signed-off document did not match what the customer needed the software to do.

                              It’s impractical for a human to read and actually concentrate on the every part of a long document that specifies what should appear on every screen in every circumstances. People’s attention slips when you ask them to verify a document that’s past a certain length and they let egregious mistakes through.

                              Last attempt at doing that:

                              • it was missing entire requirements.
                              • it had wrong requirements, of the form “show X when codes A or B are present in this list of strings, otherwise show Y” but actually X also needed to be shown when code C was present.
                              • it was pretty hard to work with or change.

                              Having the customer sign the requirements document in blood and attest that it definitely is correct and the customer will be liable for extra work arising from mistakes in the requirement document… well, it’s better than accepting the liability oneself. Accepting liability for an unbounded amount of unpaid work is untenable.

                              But it doesn’t achieve my real goal, which is that:

                              • I want the thing I write to actually work when it’s in the customer’s hands. Ideally, first time.
                              • I want the customer’s project manager to not have to go to their boss to beg for more money to fix an oversight, regardless of whether they agree it’s their own fault.
                              • inside the customer organisation, I want every employee who had anything to do with the project to get promoted.
                              1. 1

                                If you can’t figure out how to get a customer to communicate to you what they want, and yet you somehow want to satisfy what they want, this is an impossible task; however, you can work through a process that incentivizes them to communicate in ways that you understand on a technical level. To throw out contract negotiation (i.e. explicit legal communication) as “too much of a burden on the reader” feels like your’e throwing out the entire legal and engineering fields’ current mode of operation. I doubt that’s your point, but I’m coming from my own bias and struggling to see what else you might be saying.

                                • I want the thing I write to actually work when it’s in the customer’s hands. Ideally, first time.
                                • I want the customer’s project manager to not have to go to their boss to beg for more money to fix an oversight, regardless of whether they agree it’s their own fault.
                                • inside the customer organisation, I want every employee who had anything to do with the project to get promoted.

                                The first one you can do following statistical quality processes for software. The second one you can do by encoding in the initial contract what requirements changes are vs. unmet specifications, but we seem to not be in agreement that it’s possible for you. The third, well, I wish working software delivered to contract wasn’t such an outlier :)

                                Finally - I completely feel your pain, and I’m sorry if I haven’t been helpful. I wish you all the best.

                                1. 4

                                  Look, what I mean to actually argue is this: one does not get empirical feedback from the requirements gathering phase until the customer tries to use a running artefact.

                                  A contract is not empirical feedback about whether the requirements gathered were correct. It gives you empirical feedback about how well they’re agreed upon, but not about whether or not a thing written to those requirements will do what is needed.

                                  I’m not dismissing the value of contractual negotiation and agreement. You can’t survive without it. I totally agree on that.

                                  The first one you can do following statistical quality processes for software.

                                  FWIW, where I said “actually works”, I don’t mean “doesn’t crash” or “doesn’t manifest deviations from the spec”, I mean “it does the thing the customer needs it to do so that the outcome the customer wants happens”. The former only implies the latter if requirements gathering produced a good enough spec.

                                  we seem to not be in agreement that it’s possible for you

                                  Ah, I’ve miscommunicated something here? This is all possible for me, I just don’t like it!

                                  If I could wave a wand and magically get real feedback on the spec, we could use that to make the spec be correct, then we could easily deliver working software on the first try and then I wouldn’t need to do any contractually-guided negotiation at all and everyone involved would get promoted. Much better outcome!

                                  1. 1

                                    What if the customer can’t really know what they need until they’ve tried a few things first?

                                    1. 1

                                      That’s against the stated goals of 0x2ba22e11.

                      1. 6

                        We could probably retitle this more like: Rob Pike and others stuck on some weird Unix-based desert island, get comfortable programming in C.

                        This article misses the athropology of systems, products, and programming, which makes the assertions about C being “a near-perfect balance of vital language features” difficult to take seriously. Especially when they talk about how browsers use C++ (it’s almost like they weren’t designed in the 80s!) and refuse to mention how all mobile software written today basically avoids C like the plague. Or that web programming is largely Javascript.

                        Programming languages are largely selected by what ecosystem/platform they’re writing for, and the cultures that made those platforms. People keep attempting to be the freakonomics of software engineering, but at least the economists are ridiculed for their lack of research.

                        @nickpsecurity already posted a blog post here which has a reference to Capers Jones’ productivity research as to why even looking past these issues, this article is also just factually wrong in many of it’s assertions, so I won’t repeat it here.

                        1. 3

                          refuse to mention how all mobile software written today basically avoids C like the plague. Or that web programming is largely Javascript.

                          Is that good?

                          1. 11

                            Whether it’s good or not is unrelated to why peolpe are using those languages - they are using them because of the culture and platform they operate in.

                            Saying that Rob Pike, Linus Torvalds, and Dennis Ritchie agree that C is great is like saying everyone in a baseball stadium agrees that baseball is one of the greatest sports of all time.

                            1. 2

                              Well, mine was not the most serious comment in the world, but if you want to be serious: all the obvious flaws in C don’t make it any better that so much code is being generated without design or verification, using improvised languages that encourage sloppy code.

                        1. 6

                          A detailed introduction on how fonts are shown in current Unix-like systems. From the nixer and author of 2bwm.

                          By the way, I’m having a hard time sticking with a definitive font to use, mainly because most of the bitmaps I like (dina, scientifica, curie, terminus, uw-ttyp0) are not narrow enough and the two vector fonts I really like, Luculent and Iosevka, do not look good on my T410s default screen with a dpi of 96. Luculent is close to be a winner, but when antialias is on it looks weird on st but looks amazing on Emacs at all sizes, though autohint looks very good for both. Disabling antialias and autohint does the trick on st, but on Emacs, bold, italic and bold-italic variants are still rendered with antialias on (an Emacs’ problem that I haven’t been able to solve).

                          I would certainly appreciate some suggestions on any of my problems. Except shooting the machine or buying a new thinkpad with higher DPI (which is on my wishlist nonetheless).

                          1. 2

                            Have you tried DejaVu Sans Mono? I’ve tried lots of default fonts for Emacs, but I always end up back on that.

                            1. 2

                              Thanks for your suggestion. I’ve tried it but I don’t like the way it looks, feels a bit inconsistent on my eyes, I’m happy that you like it though.

                              1. 1

                                I used DejaVu Sans Mono for a long time as my terminal font, because it was the default on my system. Earlier this week though I switched to Inconsolata, and I find that I am personally finding it more pleasant to look at when doing console activities (although that may just be the novelty of a new font after staring at the same one for so long).

                              2. 1

                                I use the same one - because it’s easiest to get the same look in every OS & application for all code fonts. I’m not sure I actually like the look, but consistency is more important for me.

                              3. 1

                                I have no suggestions. I’m just glad to know someone else out there changes fonts as often as I do.

                                (I lied, I do have a suggestion. Go Mono has worked well for me in a variety of situations.)

                                1. 3

                                  I’m also trying out Go Mono after this suggestion (I’d never heard of the font before). It reminds me also of FreeMono (typewriteresque).

                                  1. 2

                                    Go Mono has worked well for me in a variety of situations.

                                    I like this one, and haven’t tried it yet. It reminds of the font used on the bootscreen of OpenBSD. I will give it a try for sure, when I get home.

                                    1. 2

                                      Go Mono reminds me a lot of the serif monospaced fonts I fell in love with on the Sun diskless workstations in uni. Thanks for the pointer!

                                      1. 1

                                        Too late to edit… looks like the Sun font was called “Sun Gallant Demi”, based on this post:

                                        https://unix.stackexchange.com/questions/307356/what-is-the-identification-of-the-font-being-used-for-the-solaris-console-in-tex

                                        1. 2

                                          I like that one, and I can also notice the similarities with Go Font. Which is the one I’ve chosen, it looks fantastic on my screen.

                                    2. 1

                                      I’ve settled on M+ 1mn for a monospace font.

                                      1. 1

                                        I will give that another try since last time I checked it I didn’t quite liked it.

                                      2. 1

                                        Great crisp truetype fonts (at least, at the correct size):

                                        1. 1

                                          Thank you very much for your suggestions. The three of them are seriously crisp, and I promise to give them a try when I get home.

                                      1. 6

                                        I haven’t started yet, but I am planning to create a simple Notepad like application using GTK+ 3.x in C. I have planned out the list of functionalities that I need with initial version of editor. Once, I get grip with application development, I will planning to do some changes with Mousepad, an editor that comes with Xfce.

                                        Any suggestions on GTK+ and C?

                                        1. 6

                                          C on *nixes has awesome man pages for both the standard and the POSIX library, learning how to read the man pages if you’re not used to it will save you a lot of time and effort. Also info usually has more example code than man.

                                          1. 1

                                            How did I never know about info before‽ There’s so much useful stuff in there. The difference in the amount of info between man dd and info dd is astounding.

                                            Oh, neat and it even falls back to manpages for third-party stuff I’ve installed.

                                            Thanks for mentioning that.

                                            1. 4

                                              On the other end of the spectrum, check out TLDR pages.

                                              1. 2

                                                Info is awesome because texinfo is relatively easy enough to write manuals in for websites, pdfs, and .info pages.

                                                The GNU culture around writing manuals is something more software projects should copy.

                                          1. 9

                                            Writing tests can prevent problems before they happen.

                                            1. 4

                                              I enjoyed reading this - though I read it because your one sentence summary gave me the “but waaait cleanroom” reaction.

                                              Another summary is “reflecting on your code, mechanically or not, improves quality”.

                                            1. 5

                                              I swear by org-mode. https://orgmode.org

                                              1. 2

                                                What do you do when you’re not at a computer?

                                                1. 2

                                                  I’m new to the emacs crowd, but just today I’ve installed Orgzly on my Android phone, syncing is a little bit odd though. I’m not sure though if I prefer the built-in calendar/reminders system or rather go with some emacs <=> CalDav integration (if such a thing exists).

                                                  1. 1

                                                    That post seems a bit like an overkill to me. I personally prefer to use the built-in sync with Dropbox (disclaimer: only built in in the Google Play version, not the F-Droid one), but people that keep it clean from closed code recommend Syncthing to do it

                                                    1. 1

                                                      You can call it overkill, but right now it’s the only way of syncing with this tool - I don’t have Play Store and I also don’t have Dropbox. I think Dropbox is acting in bad faith.

                                                      1. 5

                                                        Have you considered using Syncthing? It’s a peer to peer file synchronization utility that doesn’t rely on Google, and doesn’t store your data anywhere but your devices.

                                                        1. 1

                                                          Syncthing is mentioned in the thread I’ve linked to in my initial comment. I’ll still give it a try, since I haven’t considered it at all. Note: I haven’t used Syncthing in the past two years, maybe it has improved.

                                                          1. 1

                                                            Syncthing is pretty terrible on Android, regularly was out of sync, and took my battery from ~28 hours to ~4. Wondering if there are specific setups that use less cpu for syncthing.

                                                            1. 1

                                                              I must have randomly stumbled into a working configuration, since my Keepass database stays pretty well-synced and my phone will usually last a day without needing charging. Sorry it doesn’t work for you, though.

                                                          2. 1

                                                            I keep my org-mode files in my Nextcloud instance, and in the Android app mark all the files to be kept in sync. Orgzly auto-syncs them now, no need for Tasker or anything.

                                                  1. 5

                                                    Notebook folks want many things:

                                                    1. A way to share table/csv data along with a program that runs, excluding data that they can’t share.
                                                    2. A way to view their data & visual analysis through a browser that can execute.
                                                    3. A way to share code, with documentation built in.

                                                    This is the push & pull of executing/running a program vs. publishing a program. Sounds like literate programming problems, and can be addressed with better literate programming tooling for python folks. There are many better formats, Org-mode even lets you share data between languages :)

                                                    But there is hope! Notebooks are the single largest group pushing for better literate programming environments. While the current iteration is rather poop, looks like all of these issues are pretty fixable, even using a notebook-style UI.

                                                    1. 4

                                                      Full Catastrophe Living - take care of yourselves out there folks.

                                                      1. 2

                                                        raco exe + chez will be wonderful!

                                                        1. 1

                                                          what’s the advantage in having that?

                                                          1. 1

                                                            Chez has a better compiler than Racket. It’s faster, and has a simpler architecture (from what I can tell). Some more details here: https://blog.racket-lang.org/2018/01/racket-on-chez-status.html

                                                            1. 1

                                                              Have you tried compiling chez in a repeatable manner, that is delivered as an executable? I got stuck for quite a while dealing with all their boot files - raco exe working would mean I don’t need to do that.

                                                          1. 20

                                                            Kinesis Advantage. I’ve been using them for almost twenty years, and other than some basic remapping, I don’t customize.

                                                            1. 2

                                                              Ditto, I’m at a solid decade. I cannot recommend them enough.

                                                              1. 2

                                                                Also Kinesis Advantage for over a decade. On the hardware side I’ve only mapped ESC to where Caps Lock would be. On the OS side I’ve got a customized version of US Dvorak with scandinavian alphabet.

                                                                I’d like to try a maltron 3d keyboard with integrated trackball mouse. It’s got better function keys too, and a numpad in the middle where there’s nothing except leds on the kinesis.

                                                                1. 2

                                                                  Me too. I remap a few keys like the largely useless caps-lock and otherwise I don’t program it at all. It made my wrist pain disappear within a couple weeks of usage though.

                                                                  1. 2

                                                                    My only “problem” with the Kinesis, and it’s not even my problem, was that the office complained about the volume of the kicks while I was on a call taking notes.

                                                                    So I switch between the Kinesis and a Apple or Logitech BT keyboard for those occasions.

                                                                    1. 1

                                                                      You can turn the clicks off! I think the combo is Prgm-\

                                                                      1. 2

                                                                        Yeah, its not that click, it’ the other one from the switches :-)

                                                                        I can be a heavy typer and for whatever reason, these keys stand out more than I expected to others behind the microphone.

                                                                    2. 2

                                                                      I prefer the kinesis freestyle2. I like the ability to move the two halves farther apart (broad shoulders) and the tilt has done wonders for my RSI issues.

                                                                      1. 2

                                                                        similar, largely I like that I can put the magic trackpad in between the two halves and have something that feels comparable to using the laptop keyboard. I got rid of my mouse years ago but I’m fairly biased on a trackpad’s potential.

                                                                        I’ve sometimes thought about buying a microsoft folding keyboard and cutting/rewiring it to serve as a portable setup. Have also thought of making a modified version of the nyquist keyboard to be a bit less ‘minimal’ - https://twitter.com/vivekgani/status/939823701804982273

                                                                    1. 1

                                                                      The license of this article doesn’t allow derivative works.

                                                                      It seems in conflict with arguing for right to repair if you don’t want the right to remix..

                                                                      1. 7

                                                                        The article is was freely given. I have no doubt you can offer the author something for a license to remix their content. The bike was already paid for.

                                                                        1. 7

                                                                          Could you tell me why one would one to remix an article? The current license lets you quote the whole thing or sections of it for use in your own work. I’m not sure what extra would be gained by derivatives but I am happy to change it if there is reason.

                                                                        1. 11

                                                                          Nice! For the uninitiated, what’s the difference between this project and corrode?

                                                                          1. 14

                                                                            Corrode is completely implemented in Haskell and handles a smaller set of code. This project uses Clang to handle parsing, pre-processing, and type-checking the code. It also takes advantage of Clang’s libtooling library so that we can understand all of the clang command-line flags when processing a C file. This allows us to handle a lot more code.

                                                                            1. 3

                                                                              I ran across your tweet but would have mentioned you in the post if I’d known you were a lobster! (I probably should have checked the user list first)

                                                                              1. 5

                                                                                No worries, I joined after you posted this :-)

                                                                                1. 1

                                                                                  glad to see you here, glguy

                                                                                2. 3

                                                                                  glguy came in to IRC asking for an invite after seeing your post.

                                                                                3. 2

                                                                                  Makes sense, thanks for the reply! (In fact, I believe this is the same method that rust-bindgen uses, and, as far as I know, rust-bindgen works pretty well, so it’s a good idea…)

                                                                              1. 4

                                                                                These vary pretty heavily in quality. Many seem to be missing proper quoting. Use with caution.

                                                                                1. 4

                                                                                  Use bash with caution.

                                                                                  1. 1

                                                                                    Yeah, but its the same as any script you find online, don’t run it if you don’t understand it. The benefit here is that some of the better one are explained or corrected by other users.

                                                                                  1. 8

                                                                                    I had been vaguely aware of Copperhead OS but never looked into it or used it (I used Cyanogenmod before they imploded, and Lineage OS thereafter). I don’t know anything about the context for this other than the reddit and hacker news links here. Everything I’ve seen so far makes me feel inclined to be sympathetic to this Daniel Micay fellow, so I can’t help but wonder if there’s any information from his former business partner’s side of the story that would make me feel less sympathetic.

                                                                                    1. 12

                                                                                      He’s a fellow Arch Linux Trusted User. He seemed like a pretty ok dude in my interactions.

                                                                                      1. 8

                                                                                        I also chill in a few old irc channels with strncat post my major arch days, he has a lot of people in the open source community that respect his contributions. My bet is he’ll come out ahead of this if he can get untangled from the copperheados company.

                                                                                      2. 16

                                                                                        Daniel Micay was a prolific Rust contributor. (In fact, he is still in the top 20 even if he has been inactive since 2015.) In his Rust work, I found him to be a straight person.

                                                                                        1. 2

                                                                                          I have a good impression of Daniel Micay after talking with him om IRC. He’s also an unusually knowledgeable programmer.

                                                                                        1. 2

                                                                                          Getting XOAUTH2 to work with isync / mbsync.

                                                                                          If not, I’ll be writing yet another program to scrape mail out of Google’s email walled garden.

                                                                                          1. 7

                                                                                            Folks - take notes!

                                                                                            I am shocked at the number of developers/engineers I work with that are debugging an extremely complex problem, and force themselves to keep so much state in their head. If you can write out the debugging steps more like a journal / record of every action you took, it’s much easier to reinflate your subconscious state.

                                                                                            Make it refined enough someone else could reasonably follow along, and you’ll be able to as well. Lots of coworkers in other functions take detailed daily notes as a habit to show their progress to management, software gets lucky as there is an “output” on a small granularity of work.

                                                                                            As I get more and more reprioritizations & interruptions in my work, I’ve found it’s helpful to have confidence that all but maybe the last 30 mins of work are recorded in a decent fashion (org-mode!).

                                                                                            1. 2

                                                                                              I took notes on running a specific regression test at work. It’s something like 50 steps just to set it up [1]. And even then, others that have tried running it have had to fill in information I’ve neglected. It is hard to know at times what should be written down and what doesn’t have to be written down. And that changes over time, unfortunately.

                                                                                              [1] Why not automate it? Not that easy when you have to set up the programs and associated data across four machines. And then when it’s automated, it’s an even harder issue to debug if the automation breaks down [2].

                                                                                              [2] About half the time the test fails anyway because the clocks are out of sync. I had to code a specific test for that in the regression test, and yes, for some reason, ntpd isn’t working right. The other times the test fails is because the Protocol Stack From Hell [3] fell over because someone looked at it funny.

                                                                                              [3] Six figures to license a proprietary SS7 stack that isn’t worth the magnetic flux used to store it. This is the “best of breed” SS7 stack, sadly.

                                                                                            1. 4

                                                                                              I hacked up a small tool the other day that would buffer output from a command into memory until it receives a signal to reconnect to stdout, when it would dump everything that was output in the interim. I want to integrate this into dtach so emacs can have resumable shell sessions on remote hosts for TRAMP workflows.

                                                                                              Let’s just say it’s a huge distraction from the work I actually need to do and I hope I don’t make too much progress on it.

                                                                                              1. 2

                                                                                                The link to your tool is currently 404ed

                                                                                                1. 1

                                                                                                  Oops, had no http on it: https://github.com/codemac/sigbuffer

                                                                                                  It’s a dumb tool, but it was just a proof of concept that I knew how to use dup2+pipe again.

                                                                                              1. 3

                                                                                                I always love thesis dedications. It reminds me how much human life goes into each of these papers I tuck into ~/docs/pdf.

                                                                                                I dedicate this thesis to you, NH. Your continuous support and love throughout the writing of this thesis and also within my own life helped me in more ways than you probably realize. In the vastness of space and immensity of time, it is my joy to spend a planet and an epoch with you.

                                                                                                1. 2

                                                                                                  I remember reading one dedication where it was obvious that the author was not pleased with the support of his advisors or something. Basically they said “my parents are awesome, my wife’s wonderful. My advisors were Bob, Sue, and Joe.”

                                                                                                  1. 2

                                                                                                    And don’t forget Olin Shivers’ acknowledgements section for Scsh (1994).

                                                                                                    Who should I thank? My so-called “colleagues,” who laugh at me behind my back, all the while becoming famous on my work? My worthless graduate students, whose computer skills appear to be limited to downloading bitmaps off of netnews? My parents, who are still waiting for me to quit “fooling around with computers,” go to med school, and become a radiologist? My department chairman, a manager who gives one new insight into and sympathy for disgruntled postal workers?

                                                                                                    My God, no one could blame me – no one! – if I went off the edge and just lost it completely one day. I couldn’t get through the day as it is without the Prozac and Jack Daniels I keep on the shelf, behind my Tops-20 JSYS manuals. I start getting the shakes real bad around 10am, right before my advisor meetings. A 10 oz. Jack ‘n Zac helps me get through the meetings without one of my students winding up with his severed head in a bowling-ball bag. They look at me funny; they think I twitch a lot. I’m not twitching. I’m controlling my impulse to snag my 9mm Sig-Sauer out from my day-pack and make a few strong points about the quality of undergraduate education in Amerika.

                                                                                                    If I thought anyone cared, if I thought anyone would even be reading this, I’d probably make an effort to keep up appearances until the last possible moment. But no one does, and no one will. So I can pretty much say exactly what I think.

                                                                                                    Oh, yes, the acknowledgements. I think not. I did it. I did it all, by myself.

                                                                                                1. 2

                                                                                                  Thanks for posting this paper - really excited for what these types of tools could do for testing and verification.

                                                                                                  nickpsecurity: do you regularly review publications? if so - which? As a storage nerd I read a smaller subset than I shuold.

                                                                                                  1. 1

                                                                                                    I just run through dozens of them at a time with my Google-fu (now DuckDuckGo-fu) to find the most interesting or practical along many areas of application. I submit some of those regularly to places where people enjoy or can use them. I also keep an eye out of folks building usable tools that might benefit from seeing specific papers. I try to get it to them.

                                                                                                    I also constantly look for connections between it all for new methods of doing things. Ive spotted some decent ones recently that could simultaneously boost productivity and code confidence by about an equal amount. Usually inverses of each other. So, if not that valuable now, I hope to make something useful later that builds on stuff you see me submit here.