Comment by dvsfish
2 years ago
I did this at university. It was our first comp sci class ever, we were given raspberry pi's. We had no coding experience or guidance, and were asked to create "something". All we had to work with was information on how to communicate with the pi using putty. Oddly, this assignment didn't require us to submit code, but simply demonstrate it working.
My group (3 of us) bought a moisture sensor to plug into the pi, and had the idea to make a "flood detection system" that would be housed under a bridge, and would send an email to relevant people when the bridge home from work is about to flood.
So for our demonstration, we had a guy in the back of the class with gmail open ready to send an email saying some variation of "flood warning". Our script was literally just printing lines with wait statements in between. Running the script, it prints to the screen "awaiting moisture", and after 3 seconds it will print "moisture detected". In that 3 seconds I dip the sensor into the glass of water. Then the script would wait a few more seconds before printing "sending email to xxx@yyy.com". We then opened up our email, our mate at the back of the room hit send, and an email appeared saying flood warning, and we would get full marks.
Related, I work with industrial control systems. We’d call this “smoke and mirrors”. Sometimes the client would insist on seeing a small portion of a large project working well before it was ready. They’d misunderstand that 90% of the bulk of the work is not visible to the user but they’d want to see a finished state.
We’d set up a dummy HMI and have someone pressing buttons on it for the demo, and someone in the next room manually driving outputs and inputs to make it seem like it was working. Very common.
I, too, work with industrial control systems. If any of us did that sort of thing, we'd be fired instantly -- and rightfully so.
There would be no problem if you told the client that you were faking the back end behavior and if the client's motivation is that they wanted to see the workflow to make sure that there wasn't a misunderstanding on what you were supposed to be implementing, then a mocked backend would be perfectly fine for their purposes.
1 reply →
To me it sounds like a useful thing, for communicating your vision and getting early feedback on whether you are building the right thing. Like uh, a live action blueprint. Let's say the client is like "Email???? That's no good. It needs to be a text message". Now you have saved yourself the trouble of implementing email.
> To me it sounds like a useful thing
To me it sounds like lying...
Context matters a ton though. Are you presenting the demo as if the events are being automatically triggered (as in the OP) or are you presenting as this is your plan? Explicitly. If it is implicit, it's deceptive. If you explicitly do not say what parts are faked, it is lying. Of course in a magic show this is totally okay because you're going to the show with the explicit intention to be lied to, but I'm not convinced the same is true for business but I'm sure someone could make a compelling argument.
3 replies →
Definitely a useful thing to do to validate UI/UX/fitness.
Relying on blackbox components first mocked then later swapped (or kept for testing) with the real implementation is also a thing, especially when dealing with hardware. It's a bit hard to put moisture sensors on CI!
That said...
I would have recommended at least being open about it being a mockup, but even when doing so I've had customers telling me "so why can't you release this tomorrow since it's basically done!? why is there still two months worth of work, you're trying to rip us off!!!"
It definitely is a thing, we literally teach this to CS students as part of the design process in the UX design course.
It’s called prototyping, in this case it would be a hi-fi prototype, and it lets you communicate ideas, test the implementation and try out alternatives before committing to your final product.
Lo-fi prototyping usually precedes it and is done on pen and paper, Figma, or similar very basic approaches.
Google (unsurprisingly) uses it and has instructional videos about it: https://youtu.be/lusOgox4xMI
I've done similar things by manually inserting and updating rows in the database etc to "demo" some process.
Like you say it can be useful as a way to uncover overall process or UX issues before all the internals are coded.
I'm quite open about what I'm doing though, as most of our clients are reasonable.
the phrase I've heard is "dog and pony show" lol
Or “Wizard of Oz” — as a standard HCI practice for understanding human experience
The industry term is “art of the possible”.
I did this as well. I worked on a localized navigation system back when I was in a school, and unfortunately we broke all available GPS receivers in our hands over the course---that particular model of RS-232 GPS modules was really fragile. As a result we couldn't actually demonstrate a live navigation (and it was incomplete anyway). We proceeded to finish the GUI nevertheless, and then pretended that this is what you see during the navigation, but never actually ran the navigation code. It was an extracurricular activity and didn't affect GPA or anything, for the curious, but I remain kinda uneasy about it.
Learning those fraud skills needed later in the so-called "tech" industry.
Is this cheating? It sounds like cheating and reflects quite poorly on you.
> It was our first comp sci class ever, we were given raspberry pi's. We had no coding experience or guidance, and were asked to create "something".
Garbage in, garbage out.
Wow this is such an awful excuse.
Here’s a whole list of projects intended for kids.
https://all3dp.com/2/best-raspberry-pi-projects-for-kids/
It includes building out a whole weather station which includes a humidity sensor as one of the many things it can do.
4 replies →
Creativity is a good thing, sad to see trust abused this way.
More like cheaters in, cheaters out.
It's plausible to me that they weren't provided with what they needed precisely because pervasive cheating allowed their predecessor classmates to complete the assignments.
This can depend a lot on the context, which we don't have a lot of.
Looking at this a different way, they gave first-year students, likely with no established pre-requistites, an open-ended project with fixed hardware but no expectation to submit the final project for review. If they wanted to verify the students actually developed a working program, they could have easily asked for the Pi's to be returned along with the source code.
A project like this was likely intended to get the students to think about the "what" and not worry so much about the "how." Faking it entirely may have gone a bit further than intended, but would still meet the goal of getting the students to think about what they could do with this computer (if they knew how)
While university instructors can vastly underestimate student's creativity, they are, generally speaking, not stupid. At the very least, they know if you don't tell students to submit their work, you can often count on them doing as little as possible.
> If they wanted to verify the students actually developed a working program, they could have easily asked for the Pi's to be returned along with the source code.
Wait, is your argument honestly "it's not cheating because they just trusted the students"?
There's a huge difference between demoing something as "this is what we did" vs "we didn't quite get there, but this is what we're envisioning."
Edit: You all are responding very weirdly. The cheating is because you're presenting "something" that is not that thing. Put a dog in a dress and call it a pretty woman and I'll call you a conman.
9 replies →
It certainly reflects poorly on the institution for not requiring anything other than a dog and pony show for grading.
BS. The CEO of one of the largest public companies just did it and he is fine. Board and shareholders all happy.
I gleefully await Matt Levine’s article on AI demos as securities fraud.
Well done, you're halfway to secure a job at Google, no eh ethics/morals needed.
Of course it's cheating
It's very obviously cheating. They didn't do what the assignment asked.
I'd call it cheating too but yeah. I like the pi and sensors though. Sounds like the start of something cool. Wish I could get a product like this to put in my roof to detect leaks. That would be useful.
If the teacher was competent, they would've asked to see the code.
The view up on that high horse must be interesting! Were you the kid who reminded teachers about homework?
Literally all that matters is that they passed.
> Were you the kid who reminded teachers about homework?
Are you trying to bully me or something? Not going to work with me. You've revealed your poor character with that comment.
Kind of? Yes but they still demonstrated as much as was expected from them, which was very little to begin with.
It depends on what the intention of the assignment was. If it was primarily to help the students understand what these devices _could_ be used for, then it's fine. If it was to have them actually do it, well, then the professor should have at least tried to verify that. Given that it's for first-years who have no experience programming, it really could be either.
Well, you literally had a backend
do things that don't scale
more like backhand lol
There’s a story about sales guys at a company (NewTek?) who faked a demo at CES of an Amiga 500 with two monitors showing the “Boing” ball bouncing from one screen to the next. This was insane because the Amiga didn’t have support for multiple monitors in hardware or software so nobody could figure out how they did it. Turns out they had another Amiga hidden behind running the same animation on the second monitor. When they started them at the right offset it looked believable.
My version of this involved a Wii remote: freshmen-level CompSci class, and the group had to build a simple game in Python to be displayed at a showcase among the class. We wrote a space invaders clone. I found a Bluetooth driver that allowed your Wiimote to connect to your Mac as a game controller, so I set up a basic left/right tilt control using a Wiimote for our space invaders clone.
The Wiimote connection was the star of the show by a long shot :P
Are you looking for a job at Google? Don't be evil. They have enough scammers there already, no help needed, including PR at hacker forums
Sounds very familiar... UoM, UK ? :)