14
\$\begingroup\$

Solderless-Breadboards are very common to make and build electrical prototypes typically, they consist of rows, and each row has 5 holes. There are 2 columns of rows on a standard breadboard.

I want to introduce a new possible challenge. .

Why should we allow these challenges?

It's a very simple step in golfing, and is very similar to our current challenges. It has Inputs, outputs, a general set of rules, and an easy scoring method.

For example, take the challenge:

Create a full-bridge rectifier.

Input: 240V AC

Output: 180V DC, with ideally no noise

Rules: No loose ends, all contacts must be tied.

A possible answer could be:

Diode Rectifier: 4 spaces.

enter image description here as mentioned by WyldStallyns, this image is courtesy of https://circuits.io/lab

As you can see, the recifier has I/O slots, and satisfies the challenge with the breadboard platform. There are other ways to golf the rectifier down to 2 rows.

I would appreciate any and all input on thoughts to this type of challenge.

Adendum1:

It's been brought to my attention that using 'ideally' isn't a business plan. I agree. For any challenge, the legitimacy of any competitor would be determined with a standard SPICE simulator.

Adendum 2:

This seems to have been received well. I will be posting a challenge to the sandbox for review. If you do not see a link to the challenge, i have not posted it, yet. This challenge will outline, in detail, the specific rules of a beadboard golf, as well as rules for the challenge itself. If that challenge is well received, then i shall post it to the stack as a trial question for real answers! If all goes according to plan, we'll see the challenge go live on december 26th.

Adendum 3:
I've posted a new challenge here. I eagerly await critiques. If the challenge has a positive score on December 26th, I shall post it onto the site.

\$\endgroup\$
  • 2
    \$\begingroup\$ A remark like "ideally no noise" certainly doesn't belong in a golf specification. In general, you need an objective way to decide if the answer is valid. \$\endgroup\$ – feersum Dec 13 '16 at 1:01
  • 7
    \$\begingroup\$ I have no idea what I'm looking at \$\endgroup\$ – Gabriel Benamy Dec 13 '16 at 1:18
  • 3
    \$\begingroup\$ circuits.io, specifically circuits.io/lab \$\endgroup\$ – wyldstallyns Dec 13 '16 at 2:44
  • \$\begingroup\$ @wyldstallyns Thank you! \$\endgroup\$ – tuskiomi Dec 13 '16 at 4:55
  • \$\begingroup\$ I think you need some rules on how far you can stretch the pins. With a resistor or low-power diode, you can get quite a distance (or alternatively place the pins right next to each other by standing it on end), but some components (e.g. ICs) aren't as accommodating with their pin arrangements. \$\endgroup\$ – user62131 Dec 13 '16 at 13:50
  • \$\begingroup\$ @ais523 I'll put a proposal in my question in a few. Thanks for the critique! \$\endgroup\$ – tuskiomi Dec 13 '16 at 16:35
  • 4
    \$\begingroup\$ I'm against this. This site is for Programming Challenges, although this relates to electronics, it itself is not programming. \$\endgroup\$ – ATaco Dec 14 '16 at 4:07
  • \$\begingroup\$ @ATaco i agree, however, this is not a challenge for puzzling, either. I would like to raise the possibility of letting participants use programmable chips, such as the ATMega series, or ARM Processors. \$\endgroup\$ – tuskiomi Dec 14 '16 at 6:59
  • \$\begingroup\$ @tuskiomi Agreed. This isn't [code-golf], it's a "programming puzzle" (see the site's title). \$\endgroup\$ – mbomb007 Dec 14 '16 at 18:57
  • \$\begingroup\$ Possible duplicate of Where to put non coding challenges? \$\endgroup\$ – Christopher Dec 15 '16 at 16:38
  • 1
    \$\begingroup\$ @ChristopherPeart That's not a duplicate, since using a breadboard is programming. Typically, it's hardware programming, but there are also online simulators, as linked above. \$\endgroup\$ – mbomb007 Dec 15 '16 at 20:42
  • \$\begingroup\$ You say "this seems to be received well", even though there are not currently any positively voted answers. Note that upvotes on the question generally mean "this needs discussing" rather than "I am in favour of this". \$\endgroup\$ – trichoplax Dec 16 '16 at 18:28
  • \$\begingroup\$ This is not programming. Post challenges like this on Puzzling. \$\endgroup\$ – programmer5000 May 18 '17 at 17:46
  • \$\begingroup\$ @programmer5000 see the linked meta question. This is programming. codegolf.meta.stackexchange.com/questions/10893/… \$\endgroup\$ – tuskiomi May 18 '17 at 17:48
  • \$\begingroup\$ @tuskiomi you just linked to this page. \$\endgroup\$ – programmer5000 May 18 '17 at 17:49
10
\$\begingroup\$

A challenge needs an objective winning criterion

If I want to test an answer, I can wire up the same arrangement but may get different results. If however a specific digital simulator is required by the challenge, then answers can be objectively tested, with everyone agreeing on the result.

I see no problem with provided that each challenge specifies a freely available digital testing environment. A free trial period is not sufficient to qualify as "freely available". For example, challenges may be posted more than that period apart.

Why this needs to be picky

This may seem overly strict at first glance, as most breadboard circuits are (naturally) designed to work consistently when constructed by more than one person. This makes them nearer to being digital devices, which will tend to be consistent with the behaviour of a digital simulator.

The reason that we need to be more strict here is that golfing is always going to push towards the limits of what is possible, so answers will no longer be carefully avoiding analogue behaviour, and may even depend on it. It seems unlikely we could find an objective way to draw a line between what is digital enough to be a valid answer, and what is chaotic enough to be non-reproducible and an invalid answer.

The simple solution is to use a digital simulator, which will allow for all the digital approaches a challenge writer is hoping for, without the analogue problems that golfing is likely to push towards.

Picking an appropriate simulator

When writing a challenge, consider what types of answer you would like to see. You may be able to find (or write) digital simulators that simulate noise and analogue effects to different degrees. Provided each allows for objective testing (same results on different machines), all are valid choices, so just specify the one that has the range of behaviour within which you wish to see people compete.

\$\endgroup\$
  • \$\begingroup\$ I like your answer. well detailed. What would you think of simply stating that 'unmeasurable' noise / deviation is the default? \$\endgroup\$ – tuskiomi Dec 16 '16 at 20:30
  • 5
    \$\begingroup\$ It's not just that there may be noise. There are other analogue effects too. For example, if you build something that is near a tipping point between two stable outputs, it may always give a zero noise output, but if I build it there may be a different zero noise output. I don't see a problem with noise - that can make for interesting golfing tricks. It just needs to be consistent so it can be verified by others, and that requires a particular specified digital simulator. \$\endgroup\$ – trichoplax Dec 16 '16 at 21:22
4
\$\begingroup\$

This is programming

One key question that needs to be answered here, which the other upvoted answer does not address is: Is this programming, for the purpose of this site?

Clearly, we're not going to allow arbtirary puzzles or games or what have you, there are other sites for that. That being said, this challenge has a variety of features which put it in the programming camp:

  • Rigorously simulable - anyone can check the results.

  • Complex input-output relationship. Different arrangements of components can have all sorts of effects.

  • (Optional, but a nice bonus) Directly related to the wider world of programming through the world of circuitry design.

This is programming in exactly the same sort of way that Brainfuck is: With enough time and effort, you could do anything that a full computer could do.

\$\endgroup\$
-6
\$\begingroup\$

EDIT

As it was pointed out to me this is programming puzzles and code golf.

No

Breadboarding is not programming or code. Try Area 51

\$\endgroup\$
  • 2
    \$\begingroup\$ This is not code golf stack exchange. This is Programming Puzzles and Code Golf Stack Exchange. The main argument for this, is that it's a programming puzzle. and (I think) it most certainly is. \$\endgroup\$ – tuskiomi Dec 15 '16 at 16:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .