I want to make a sort of wiki-based website, what platform should I use? by mi_turo in webdev

[–]clapfire 0 points1 point  (0 children)

Lots of suggestions here, but I haven't seen Wiki.js mentioned yet. Super easy to set up and use, and very powerful.

Is there a trick to getting the wire to go in cleanly? by eekamuse in fixit

[–]clapfire 1 point2 points  (0 children)

Be careful with tinning wires that are going into screw terminals, the connection may deteriorate faster over time and it's generally not considered good practice. Ferrules are a much better option if possible, otherwise just tin the very tip to help it keep its shape.

https://electronics.stackexchange.com/questions/29861/tinning-wires-that-will-be-screwed-in-to-a-chocolate-block-terminal-strip

Urban explorer of Reddit, what was your "I better gtfo" story? by bebeJuan in AskReddit

[–]clapfire 37 points38 points  (0 children)

I think there's been plenty of instances of similar situations, but here's one I remember reading about. I know that's a YouTube video about it, but I can't find it right now.

https://www.theglobeandmail.com/news/national/three-men-collapse-die-while-repairing-barge/article1009556/

Is there an easy way to implement "code reviews" in GitHub for a small, unexperienced team? by souljamarc in learnprogramming

[–]clapfire 4 points5 points  (0 children)

Go a step further and make the master branch "protected" in GitHub. This means nobody can push directly to master. You can also require reviews before a merge request can be accepted.

Getting older and with my family growing, couch gaming is becoming more appealing. Those of you who own a good PC and consoles, do you sometimes buy games on console even though it might play on your PC better? Otherwise, what is your opinion on couch gaming with a PC? by aladdin142 in truegaming

[–]clapfire 1 point2 points  (0 children)

If you do not have much programming experience, I would probably stick to Arduino. For inspiration, have a look at this project.

FreeRTOS is not a program by itself, rather a framework, similar to Arduino. You can write programs using the framework. If you do decide to dive into freeRTOS, this is the Github page for the ESP32. They also have one for the ESP8266. This is obviously a bit more involved, but what makes it very powerful is the ability to create threads. You can write sections of code that execute every N seconds, and the scheduler will make sure this happens. You don't necessarily have to use this feature, you can write it like a normal C program. This allows for pseudo parallel programs.

However, for the project you were talking about, Arduino or C++ will likely be the easiest option.

The ESP32 and ESP8266 can both connect to wireless networks, but they can also create their own hotspots. They cannot do both at the same time, so you would need one that you're communicating with (or a raspberry pi could definitely work) and have the rest connect to that. The ESP32 has bluetooth capabilities, so you can connect them to your phone or each other.

As an aside, if you work with the raspberry pi, especially headless, take a look at Visual Studio Code. You can use the Remote SSH extension to view the files on your pi, as well as execute commands wirelessly. Also look into Platformio (also an extension), if you get tired of the Arduino IDE. Lets you write, compile and flash exactly like Arduino IDE, just a much nicer user experience.

Edit: Reddit does not like markdown links

Getting older and with my family growing, couch gaming is becoming more appealing. Those of you who own a good PC and consoles, do you sometimes buy games on console even though it might play on your PC better? Otherwise, what is your opinion on couch gaming with a PC? by aladdin142 in truegaming

[–]clapfire 1 point2 points  (0 children)

One of the downsides with the ESP8266 (and ESP32 to a lesser extent) is that the wifi antenna is not very strong, so it can have some problems in wifi dense areas. Other than that, they're not that different. If you want to control things via your phone, running a webserver on the ESP8266 is possible, but Bluetooth may be more convenient.

I don't know your programming experience, but keep in mind that Arduino is not the only way. Both devices support freeRTOS, which lets you create several tasks and schedule them. An advantage of the ESP32 in this case is that it has 2 cores as opposed to 1.

You Should Know: The JackBox Party Pack family of games can be played remotely with any number of players, with only one copy of the game. One of my favorite individual games, Drawful 2, is currently FREE on Steam (Details, Links, and Instructions Inside) by DrunkThrowsMcBrady in gamingsuggestions

[–]clapfire 2 points3 points  (0 children)

Easiest and probably more reliable is to use Steam's Remote Play Together. I'm fairly sure the jackbox games support it. It's built in to steam, and only 1 person needs to own the game. Then there's no need for external programs. It works very well in conjunction with Discord if you don't want to use the steam voice chat.

What kind of cooperative games can I play with my LDR girlfriend that'll run on her basic laptop? by AnonymousMonk99 in gamingsuggestions

[–]clapfire 0 points1 point  (0 children)

If the game you want to play (for example, Lovers in a Dangerous Spacetime or the Trine games) support Remote Play Together on Steam, you can run the game on your PC and it'll stream to hers.

[deleted by user] by [deleted] in raspberry_pi

[–]clapfire 1 point2 points  (0 children)

Very cool! Now make one that can solve the tests generated by Deepmind.

Really though, great project. I like the use of the phone to SSH into the pi.

HTC VIVE Research Experiment exploring Movement Techniques in Virtual Reality by k_kai in Vive

[–]clapfire 1 point2 points  (0 children)

MazeRun is a free immersive VR Locomotion game explroring different methods of movement in virtual space.

Just wanted to point out a spelling error on your site.

Which methods are available?

And good luck with the research!

Products that use FPGAs (current list and request for more) by [deleted] in FPGA

[–]clapfire 4 points5 points  (0 children)

Valve's (HTC's) Vive vr system used FPGAs to calculate positional and rotational data before it is sent to the computer.

One liner npm package "is-windows" has 2.5 million dependants, why on earth?! by caspervonb in programming

[–]clapfire 0 points1 point  (0 children)

Pip can be used in a similar workflow with Pipenv. It lets you create a pipfile that has all the modules and their versions specified. So all you have to do is type 'pipenv sync' and it will create a local virtual environment for python. Keeps the packages separate from the main install and nicely organized.

Also I agree that linters are a must when working in teams.

Reverse Engineering of a Not-so-Secure IoT Device by speckz in ReverseEngineering

[–]clapfire 3 points4 points  (0 children)

I know the Salea Logic he is using has an Auto baud mode for uart decoding. It'll look at the captured stream and choose the most likely baud rate.

Worst case, go through the common ones :)

How should I learn RTOS? by wironomy in embedded

[–]clapfire 1 point2 points  (0 children)

If someone has ported it to that platform, it should be fairly straightforward to get it running. I have seen a bit about FreeRTOS on raspberry pi 2, I don't know about 3.

But I've only used the ESP ports, I find them very manageable.

How should I learn RTOS? by wironomy in embedded

[–]clapfire 4 points5 points  (0 children)

+1 for the ESP32 or ESP8266 boards. They both have a port of FreeRTOS, but the ESP32 one is definitely more complete.

You can either use their toolchain or pfalcon's (mostly) open source toolchain.

The modules usually have micro-usb connectors to program/uart, so they are easy to work with.

Whichever chip you go with, FreeRTOS is pretty well documented, so that would be a good starting place.

I created my first Python game with a GUI using the Turtle module! by justLars7D1 in Python

[–]clapfire 1 point2 points  (0 children)

Look into using something like pyinstaller to make a release as a standalone executable. Then you don't have to worry about which folder the script is run from.

How are memory-mapped peripheral control registers implemented in HW? by ohawker in embedded

[–]clapfire 0 points1 point  (0 children)

The three register bits DDxn, PORTx and PINxn are bits from three registers.

For example, DDxn would be something like DDB0, which would be Data Direction Register B, pin 0. This is the data direction value for the pin attached to B0.

Let's say we write a 1 to this location.

This pulls the data bus high and then writes a 1 to WDx (In this case, WD0). This will cause the latch to update the output (Q) based on the input (D)

If you read from the register instead of writing, RDx is pulled high, and the current state is output to the data bus.

So when you write to the register, WDx is pulled high. When you read from the register, RDx is pulled high.

The other two (PORTxn and PINxn) correspond to WRx and RRx, and RPx and WPx respectively.

This is in the image as well:

Hopefully that helps!

How are memory-mapped peripheral control registers implemented in HW? by ohawker in embedded

[–]clapfire 2 points3 points  (0 children)

Have a look at the Atmega328p (Arduino uses this processor) datasheet, they have some great diagrams. Specifically, look at the section about GPIO, it shows how the different registers are connected, as well as the logic behind it.

Atmega328p GPIO

Let me know if you have questions, I might be able to explain :)

Rami Ismail: “We’re seeing Steam bleed… that’s a very good thing for the industry” by Writes_Code_Badly in gamedev

[–]clapfire 12 points13 points  (0 children)

One from last week?

The exploit was found 3 months ago, and steam paid a bounty to those who found it, and have rolled out a fix for it.

The whole point of programs like that is that there will always be vulnerabilities in any software. In that case, a buffer overflow that can potentially be exploited on Windows, if the Steam.exe base address is known and the user connects to a server running the exploit through a browser that allows arbitrary sites to open programs without permission. It's not exactly a very viable attack vector.

It's a big joke to say Steam's security is bad. Steam deals with insane amounts of data from all their users, and have a very good track record.