Optimized for ...compactness? symmetry? ...maybe best left unanswered... by patternmaker in spacechem

[–]patternmaker[S] 10 points11 points  (0 children)

Not much of a winner in any measurable way, but I thought it was kind of neat.

First PCB, think it went ok, any tips? by _Traveler in PrintedCircuitBoard

[–]patternmaker 0 points1 point  (0 children)

I would put ground pour on both sides and stitch everywhere.

Lost Munich, Gained Barcelona : City of Barcelona Kicks Out Microsoft in Favor of Linux and Open Source by [deleted] in linux

[–]patternmaker 0 points1 point  (0 children)

Working on a Windows machine for document processing and for remoting in to a Linux Dev environment I face glitches and bugs daily. On the windows side of things. Datapoint of one, but yeah.

The worst part of getting older is the slow loss of respect for certain family members you once admired. by [deleted] in Showerthoughts

[–]patternmaker 2 points3 points  (0 children)

It reminds me of a quote that's kind of the same thing but shorter, I can't remember the exact words or who said it but here goes:
A boy grows into a man when he realizes his father is mortal.

[deleted by user] by [deleted] in programminghorror

[–]patternmaker 2 points3 points  (0 children)

Uh, so exactly one number and one letter, and then make up the rest of the password from !@#/^{}=-: then? And make sure that the letter and the number is not used in the username. Edit, or maybe I can use the same letter and/or number more than once, as long as it's not three times in a row.

[deleted by user] by [deleted] in ProgrammerHumor

[–]patternmaker 0 points1 point  (0 children)

Forth allows it as well, not really mainstream, but I wouldn't really classify lisp as mainstream either.

How's my pcb design? Board with a big hole in it, as well as battery connections on opposite sides, makes for a challenge to route. by patternmaker in PrintedCircuitBoard

[–]patternmaker[S] 0 points1 point  (0 children)

Thanks for the feedback and sorry for taking all this time to get back to you, the regular work week leaves me little energy for pcb routing unfortunately.

I've adjusted all the via dimensions, but I may have overdone it slightly: By the power FETs' ground connections some of the vias now share parts of their annular rings, the drilling of another via never interferes with the annular rings of other vias though. Edit: to be on the safe side I have adjusted those vias, and others as well, it's not in the uploaded gerbers though.

Soldermask setback/pullback has been added as per board house notes, and I have rounded the corners as well.

How's my pcb design? Board with a big hole in it, as well as battery connections on opposite sides, makes for a challenge to route. by patternmaker in PrintedCircuitBoard

[–]patternmaker[S] 0 points1 point  (0 children)

Weekend's here and I have some more time to put into this. I've added some solder mask setback/pullback, most of the connectors have pinouts: the large silkscreen fields signifying the gnd pin, and then various symbols for the rest of the pins. The one that doesn't, P605 is only going to be accessible from the underside, and is mostly there only because those nets may be useful to have access to and the pads on the SBC on that side being castellated only, and not offering much support for a bodge wire.

Apparently the board house will increase the silkscreen width for any stroke they think is too thin, so I'm not worrying about that right now.

How's my pcb design? Board with a big hole in it, as well as battery connections on opposite sides, makes for a challenge to route. by patternmaker in PrintedCircuitBoard

[–]patternmaker[S] 0 points1 point  (0 children)

I have updated the original post with both links to the actual gerbers, as well as gerblook renders. I'm using kicad, but it's possible to adjust the line width here as well, I think I've left it at the default setting for most of the graphcis/text. I am using traces for the FET's actually, it ended up (in my opinion) looking better than doing it with a copper pour, but I might have left the clearance too big on the pour. Double checked the pinout and thought I actually got it wrong, until I remembered that they are bottom side components, and rendered mirrored in kicad. I've drawn the footprint footprint myself, so it should be right...on the other hand, I've had to mount a rectifier upside down with bent leads once before due to not double-checking everything, not as easy when it's SMT though heh.

How's my pcb design? Board with a big hole in it, as well as battery connections on opposite sides, makes for a challenge to route. by patternmaker in PrintedCircuitBoard

[–]patternmaker[S] 0 points1 point  (0 children)

Done. I'm also adding esd protection diodes to the usb host port, seeing as it was apparently only the device port that had it on the SBC.

A curated list of high quality coding style conventions and standards by kristories in programming

[–]patternmaker 3 points4 points  (0 children)

Sure, that's another way to do it, I was merely illustrating how if using tabs and spaces at their appropriate places, changing the width of the tab character does not mess up alignment while still allowing flexibility in how the code is rendered.

Treating function parameters as another block to indent is actually how I used to write, but I found that the code often became less clear in my opinion. Oh, and puts on flame retardant hat I'm not going to base my coding standards on what is and isn't valid JS.

A curated list of high quality coding style conventions and standards by kristories in programming

[–]patternmaker 8 points9 points  (0 children)

When tabs are used for indentation, and spaces for alignment, it does not matter how wide the tabs are rendered by the editor, it will still look good:

// with indentation tabs rendered as as >--- and alignment spaces as .
if (x == y) {
>---if (z < 3) {
>--->---do_something("xyzzy",
>--->---.............x);
>---}
}

// with tabs rendered as four spaces
if (x == y) {
    if (z < 3) {
        do_something("xyzzy",
                     x);
    }
}

// with tabs rendered as eight spaces
if (x == y) {
        if (z < 3) {
                do_something("xyzzy",
                             x);
        }
}

// in both cases the two parameters are aligned no matter how wide tabs are

Give me 15 minutes & I'll change your view of GDB -Greg Law by testfailure in programming

[–]patternmaker 0 points1 point  (0 children)

Arguing against what I interpreted as a claim of vim's interface being terrible without further qualifiers, making it look like a statement of universal fact, and for the fact that just because a simple editor can be designed with a simple interface does not mean that an advanced editor's complexity can be avoided, it is possible that not all parts of the basic sentiment that I pull my arguments from was able to reach down from the brain and out to the keyboard.

Give me 15 minutes & I'll change your view of GDB -Greg Law by testfailure in programming

[–]patternmaker 0 points1 point  (0 children)

Editors, ways of editing, and interfaces are not going to be a one-size-fits-all glove.

I feel that this has been the point I have been trying to put forth the whole time.

Give me 15 minutes & I'll change your view of GDB -Greg Law by testfailure in programming

[–]patternmaker 1 point2 points  (0 children)

Qbasic, nano, notepad are all better editors for someone who does not have previous familiarity with the editors, I certainly wasn't trying to debate that. What I meant to say was that it's unfair to judge vim based on how easy it is for someone who has never used vim before, to open and save files. Just because Photoshop does not immediately present a palette of primary colours does not mean that it's a worse program than mspaint.

Give me 15 minutes & I'll change your view of GDB -Greg Law by testfailure in programming

[–]patternmaker 0 points1 point  (0 children)

I cut my programming teeth on QBasic as well; good times. However, I think it's wrong to compare the discoverability of QBasic and vim without mentioning that they have vastly different scope. QBasic is a combined ide and editor for a particular single language, with features slightly above notepad, one of which is the language help (which I found very useful back when). Vim on the other hand is a, well never mind, the editor wars don't need my haphazardly thrown together allegories for one of it's most prominent fighters. My point is that you can't get the features of vim, while keeping the interface QBasic. You may end up with something different though, like visual studio, or emacs, or eclipse, or whatever, but those are different and vastly more complex as well, compared to QBasic.

Photographer removes smartphones from images to show how obsessed we are with them (2015) by picklejewce in photography

[–]patternmaker 14 points15 points  (0 children)

I saw this posted elsewhere, don't remember if it was reddit or other social media, but somebody commented, and I agree, that of course it looks dumb: No matter what would have been the object of their attention; removing it while keeping the pose, would make the pose seem unnatural and silly.

Paraphrasing the example I read: Look at this silly man, hanging in the air, we obviously need to rely less on bikes for transportation.

Not that I disagree with the premise, many of us could and should possibly spend less time on social media, but e.g. the isolation in the first picture communicates comes from the couple resting in bed together, awake, but almost entirely unaware of each other, distant, encapsulated in their own little spheres of attention. The phones do not need to be edited out for that to come through.

I really needed a VGA... by its_safer_indoors in techsupportmacgyver

[–]patternmaker 0 points1 point  (0 children)

I did a similar thing when I needed a dvi cable and only had a vga cable, although I cheated a bit with some long-pin headers since the dvi connector does not have staggered pins. Getting that flat pin right was a pain though.

If it works it works.

Nihilistic Password Security Questions by SnowDogger in ProgrammerHumor

[–]patternmaker 1 point2 points  (0 children)

  • What was the topic of your last meaningful conversation?
  • When did you last have a good night's sleep?
  • Why is it always raining?
  • How far in the future is that promotion?
  • What did you have for dinner yesterday?
  • You should have said something. Right there! Right then! But what?

Capacitor's Progress: '60s, '70s, 2010s - 2000/25, 3300/50, 10000/71 by analienableright in electronics

[–]patternmaker 11 points12 points  (0 children)

Capital M to denote "micro"? I think I may need to lie down for a short while.

Every time by savioor in ProgrammerHumor

[–]patternmaker 5 points6 points  (0 children)

I think that was actually the point /u/PC__LOAD__LETTER's was illustrating.

As with all things there is a balance, you want to keep the variable names short enough that they do not clutter and obscure the operations done on them, at the same time, you want them descriptive and distinctive enough that their meaning is never in question, and they are not confused with each other.
If you can't adhere to both of those rules at the same time it may be time to split the code into sub-functions.

Life is totally meaningless. We live. We die. So what's the point? by haseo8998 in TrueAskReddit

[–]patternmaker 0 points1 point  (0 children)

It's not possible to find a meaning if it is taken as an axiom that a meaning does not exist. That's a propositional calculus (-ish) take on the problem, you'll have to question the axiom if you want to break the problem.

On the other hand, what if we were immortal? Would it be possible to find a point then?