He said he has no idea how but they made him try anyways.
Uh, I’ve been present when such a thing happened. Not in the military, though. Guy should install driver on a telephone system, despite not being a software guy (he was the guy running the wires). Result: About as bad as expected. The company then sent two specialists on Saturday/Sunday to re-install everything.
One of the most common problems of government or other big organisation software is that they don’t scale, either “not well” or “not at all”.
Some guy hacks up a demo that looks nice and seems to do what customer wants, but then it turns out a) that it only allows for (number of open ports on one machine) users at the same time, and b) it only works if everything runs on one machine. Or worse, one core.
No, there is no benefit. Actually avoiding continue or break like statements makes code overly complicated.
Maybe she made a mental short circuit with constructs like set_jump and long_jump (which are evil).
I’ve 30+ years of C in my portfolio, with >1000 programs small and big, with millions of LOC, and I’d say her stand on break and continue is utterly stupid.
As I described, I’d need way fewer, as the optimal computer counter-move would already be included in the next board.
So if you placed your X in the top left field in the starter image, the link would directly go to a field with the X in the top left, the O in the center position, and links in all the remaining seven positions. And of course the pre-calculation will eliminate some of the boards already, e.g. if the player or computer already won after the third move, where placing a fourth will not make sense.
Indeed. One could have done the whole thing with a simple, static HTML page.
On top an empty board with 9 clickable fields. Each of them links to a new, pre-rendered board on the same page, with the move of the player and the perfect reply of the computer already in place, and 7 clickable fields. Which link to other, pre-rendered boards with 5 clickable fields remaining, then with three. The last one only has one field open, so this could be pre-filled as a player move.
All in all this would result in 9x7x5x3=945 pre-rendered boards max on that page. And, of course, two links to “You won” and “You Lost”. I’m no HTML junkie, so I have no idea how many bytes one would need to produce such a board, but I’m sure this all could easily done way below 170MB.
When I started with computers, the cheapest way to get software was to buy a computer magazine which published software as printed source code. Yes, you had to type page after page from that listing to get a game or utility running. On top of that, I had NO means of saving such a program - it took some time until I could afford the cable to attach a cassette recorder as a storage device.
So I got quite good at two skills early on: Typing fast - and debugging. I basically learned debugging code before I really knew how to program.
And how did I get into coding? I remember the first attempt of understanding code was to find out: “How do I get more than three lives in this game?”
And from there it went to re-creating the games I’ve seen on the coin-swallowing machine at the mall that I could not afford to play, but liked to watch.
Since then, I’ve done about everything, from industrial controlles for elevators to AI, from compilers to operating systems, text processor, database systems (before there was SQL), ERPs, and now I do embedded systems and FPGAs.
I’ve probably forgotten more programming languages than todays newbies can list…
If you don’t care for the looks, just put it down where needed, and fix it to whatever is around with cable ties.
I did the same in my daughters shared accommodation. Officially they had wifi in all the student rooms, but my daughters room basically had no reception, so I ran a cable from the other end of the flat where the router was down the staircase into her room for a local AP. When she moved out, it was a quick job with a pair of pliers to get it out again.
It had been from day one, just in case no-one noticed.
The very idea of a “watch” that has a bunch of gimmics while completely fail the main job of providing the time over a long time without any hassle shows how absurd this product was from the very beginning.
A good automatic, mechanical watch is way superior on that behalf. As a bonus, it looks better. And you don’t have to press a button to actually see the time.
Back in Ye Olden Days, we probably had the first web interface to order pizza. “We” had been a long-established computer nerd meeting, and this pizza service that normally was closed on Sundays actually opened just for us on that weekend just for the occasion. We had an internal web page to order and organize orders of pizza. But of course, the order did not go out electronically - when our web app saw the need to place the order, is simply sent a fax ;-)
I remember a scene of such a crime movie that was at least funny for people used to computers and progrmmers.
The (old and seasoned) detectives were brought in contact with the new “cyber unit” of the police. Stored away in an otherwise empty office floor somewhere, they were the absolute movie style hackers: cluttered desks, sloppy outfit, beards. The old detectives were quite reluctant to work with those young “computer people” and had a lot of prejudices. Then, one of the detectives found a big red button on the desk and said “I wonder what happens when I press this button” - and presses it. And the “cyber guys”: “DON’T!”. The detective mocks them, and presses the button several times before he asks what the button actually does. Cyber guy: “That is our ‘order pizza’ button! I hope you’ve got enough money to pay for this…”. Cut. Next scene: They are all eating pizza together from a desk-high stack of pizza boxes.
Running “top” is also some common thing.
So, when I got a bunch of free serial WYSE terminals ages ago, I propped them up on the shelf, daisy-chained them, wrote a wrapper to be able to address all four screens through one UART, and had them display (and regularly update) system stats. Just because.
Got a bunch of RPIs, some of them retired.
One of the active ones runs a MediaWiki engine (if it detects my home wifi on startup, it acts as a mirror slave to the master installation on the server, if not, it opens a wifi with my home wifi’s credentials and offers the wiki as read-only).
Another one runs a DB that controls a number of ESP8266 clients controlling lights, motors, and sensors.
Do you have to break your fingers, too, to switch them off?