This is a nice guide on exactly how to setup Ruby on Rails. Obviously using the RPI.
I think it would be pointless to copy and paste the whole article here, so here is a google cached version of the above page as well. Google Cache Ruby on Rails
Of course it's possible to decrypt encrypted file/containers/etc. without asking for a password. It's sufficient to store the (encrypted) password on the SD card and use it to decrypt your data. For example, an easy openssl demo could be:
openssl enc -a -e -salt -aes-256-cbc -pass pass:abc123 -in /tmp/plaintext.txt -out /tmp/ciphertext.enc
openssl enc -d -...
I'd suggest looking at this distribution which has a number of things stripped out that makes it a bit better suited to running a server. SSH is already running in it, so you can just SSH (pi/raspberry) in.
once you've got it installed on a card and running, and use the menu option for expanding out the root-fs to fill ...
There is a ruby 2.3 package in the Raspbian repos, but since apt show ruby on a "jessie" system shows 2.1, I presume this is a "stretch" package -- i.e., part of the the current testing/unstable branch.
However, I ran ldd on it and libruby2.3 and they alone do not have any requirements that aren't part of jessie, so you could install them this way:
Practically, if the code and keys are on an SD card machine, they will be able to de-compile it, they will be able to discover the keys and they will be able to extract the sensitive data.
It's like encrypting movies, a DVD has to include all of the information required to decrypt the movie so that it can be displayed to the viewer, so all movie copy ...
I have recently invented very elegant solution to this unsolvable problem.
It was inspired by this xkcd comic:
So the solution is called super glue.
If one superglue SD card to the PI It will be almost impossible to extract the card without damaging it.
You can even use external SSD disk, encrypted with a password stored on SD and feel safe!
The problem was with my paths.
Since I am using rvm with ruby I ran
rvm cron setup
from my working directory to setup my crontab.
I then added the path to my directory to the PATH in crontab made by rvm
Took a day to figure this out.
Installing Ruby on RPi3 with Raspbian Stretch (9.4)
There are two ways to install ruby on the RPi:
Installing the ruby2.3 APT package.
Using the official RVM install method.
(1) Installing with APT
sudo apt-get install ruby2.3
This will also install the additional dependencies:
libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet
gem install pry
If you want to include the bin directory used by gem, you will need to add it to your $PATH.
bin directories generally contain executables and if you echo $PATH you'll see a number of them there.
If you had installed pry from the distro package, apt install pry, then likely it would be in a normal system bin. However, the distro version (...
Compilation to bytecode would be the best repellent. As for encryption, software could be stored in TrueCrypt volume, but only if user did not gain root access; there is just no way to securely store password as memory/disk can be dumped at any time for inspection. Even the help of secure devices (smart cards) would not do much, if software runs where the ...
You'll need to compile ChromeDriver for the arm6 architecture. Details can be found on ChromeDriver's Internals site. You can also follow a similar guide "Building Chromium OS for Raspberry Pi (ARMv6)"
Yacc is a tool often used together with Lex to create a language parser, which is a critical part of a code interpreter such as ruby. The language (in this case Ruby) is described using a special notation understood by yacc, which then compiles (part of) the parser.
So yeah, you need it. There are yacc compatible tools such as bison that might be used in ...
From your comments above, the gem sounds unmaintained, while RPi.gpio looks to be active.
Depending on the complexity of your web application, you may be able to get up and running much faster with a microframework like flask.
You can use that gem as far as it will do whatever you want to do; it is obviously unmaintained now and doesn't include, e.g., I2C support.1 However, I notice there may be some other generic ruby modules for I2C on linux (they do not have to be specifically for the pi).
Much of the GPIO functionality can be controlled via the /sys/class/gpio interface, ...
Sonic Pi shouldn't be confused with Ruby :-)
Although it's built on top of Ruby, it isn't Ruby. You therefore can't expect it to behave 100% like Ruby. In fact, unless something in the documentation or tutorial, you shouldn't rely on it being there or changing in the future.
One of the main deviations from Ruby is to eschew object orientation in favour of ...
Okay, I ACTUALLY have found a way to do this in Sonic Pi.
MAIN = self
class Parent < SimpleDelegator
super(MAIN).tap do |obj|
obj.on_init(*args) if obj.respond_to?(:on_init)
class BeepBeep < Parent
puts "You can use this as your initialize function... don't override initialize. O_o"...
If it must be in ruby, have you tried? https://github.com/joshnuss/bcm2835
However if you can give C a chance the WiringPi library has it built in see:
I'm using the MCP3008 and it works pretty much the same and if you do some digging around you can find the commandline debugger tools ...
If you are calling your script from rc.local then call . /etc/profile.d/rbenv.sh before your script in rc.local . You can use source instead of . . ~/.bashrc and ~/.profile can be used for per user login settings. printenv is a good tool to check what is set.
As I have already commented, I may be running into this issue shortly, as I am planning on using a Razberry, a RPi dongle for use with Z-Wave home automation devices.
The partial answer to your question, and I am paraphrasing it heavily, "Is lib8 on my machine, and if not how do I get it on there?", may be found in a small, typo riddled, article from the ...
Raspberry Pi is good for learning about basic computing and setting up servers. But if you are talkinng commercial web dev. It is not a web dev tool but it can help you harness and finetune your unix/linux skills which will be useful if you decide to expand to Dedicated Servers or Virtual Private Servers.
It has a selection of nice editors, interpreters and browsers, and it will suffice to try some simple stuff. However, you should not expect the speed of a full desktop, and will encounter slowness sometimes.
Browsers - don't expect the full glare of element inspection and chrome to operate. You will be able to render js, css and images normally.
It's a chip from a mobile phone!
How powerful is it?
The GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and
1080p30 H.264 high-profile encode and decode.
The GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24 GFLOPs of general
purpose compute and features a bunch of texture ...
Yes. It's even cheaper that shared hosting. It will cost you more time to setup, and maintain though. But you might consider that a learning experience.
HD-video might be pushing it a bit, but normal images and other static files won't be a problem. But your uplink speed at home might also be to low to do HD video.
Just a wild guess; 100 requests per second ...
This is because of lightdm, the default display manager you use to do a GUI login on raspbian.
Personal additions to $PATH are usually set in ~/.profile. This is a file bash reads when invoked as a login shell. Login shells include those where you must explicitly log in with your user name and password (e.g., the non-GUI console -- for future reference, ...
rbenv install may take a long time (mine is about 2 to 3 hours), you can just let it run in background and returns to check the installation log in /tmp/ folder later.
I followed the instructions on rbenv website. For step 2 and 3, I use:
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
$ echo 'eval "$(rbenv init -)"' >> ~/.profile
One of the solutions is to use the MAC address of the RaspberryPi which is almost unique for a given Pi.
Verify this address inside your code and provide the compiled version.
This will make reverse engineering difficult.
For people who blindly copy the SD card to a new one, it won't work for them on another Pi. This will put away the large majority of ...