Monday, April 7, 2014
Computers are not an unnecessary "shit that I have to buy, just don't spend much". They are your records, data center, analysis tools and your professional image all in one box. When you've installed or bought computers with Windows XP you did the right thing. They were the best you could find, a value for money deal like no any other. The main reason for that was the Microsoft monopoly. Linux distributions were good but you couldn't find the tools you needed easily, and Apple oh Apple. . .
But in 2014 things are different. You can have a free office solution that may lack the User Interface eye candy of Microsoft's but it does the job and guess what: it's free. Also you have a large range of free Linux based Operating Systems you can use. People tend to agree that Ubuntu or Linux Mint are the most user friendly ones.
But if you feel that open source and free software is "insecure and vulnerable and Jesus everyone can see the code, is that even safe?" you can buy from Red Hat and have the support you used to have with Microsoft. Which in fact you didn't have, but this time it will be a real thing.
So before upgrading to Windows 7 or 8 (Jesus are you thinking "what about Vista?" now?) or buying new machines, think about spending a fifth of that money to install a free operating system (which is also safer) and train your employees to use them. If they can't learn it, fire them and get new ones.
So what are the benefits of Linux based Operating Systems?
Remember when you needed to update manually Firefox, Google chrome and a bunch of other applications that weren't Microsoft's? Well, no more. Every application (assuming you've installed them correctly which requires an IQ roughly above the 20's) gets updated automatically along with the system updates. And guess what: If you screw up or something breaks, you can roll back (again, if you have the IQ index mentioned before).
"But why do I need to keep updating?". Well that's the reason you are switching from XP to something else right? Anyway, most of your employees play solitaire or they are on Facebook. So get them something that's free and actually works.
Friday, December 27, 2013
The pi-web-agent is a web application that aims to provide a more user friendly way of interacting with the Raspberry Pi and performing basic tasks by eliminating the need of using the command line directly.
How to useAfter starting the pi-web-agent service by executing run.sh or sudo /etc/init.d/pi-web-agent start , you can access the application with your browser via either https://raspberrypi:8003 or https://ip_address_of_your_pi:8003 if your internet router does not resolve hostnames to IPs. To access the application inside your Pi just access the local host without https: http://127.0.0.1:8004
The web application currently provides the following functionalities:
- Firewall management by controlling the iptables.
- A package management system for installing useful applications easily.
- Service management for starting or stopping services
- Update management for updating the underlying Linux distribution with a simple click
- GPIO management for controlling the pins on the Raspberry Pi (special thanks to the author of wiringPi for his excellent open source program)
- General purpose information of the system (memory usage, disk capacity, ip, cronjobs, swap usage)
- Tightvnc is provided, by setting up a vncboot service and enabling users to use tightvnc java applet to access the system by the tightvnc viewer (special thanks to tightvnc for their open source tightvnc client)
- Power management for rebooting or powering off the system with a simple click
Currently the Firewall management section displays the current state of the iptables. Enabling input for altering the iptables state is under development
The package management provides a list with useful packages and a short description. You can request an uninstall or install of the application by simply clicking on the switch button.
Service management allows you to stop or start services. Only services with known state are shown.
The update management aims to arrange or the hassle about updates for you. It takes care of checking for updates and notifies you on the live information feed. The update section also provides information of weather there is an update or not and if yes, it provides a list of packages with there description that need update. The update can be initiated with a simple click of a button at the end of that list.
The GPIO management provides access to the General Purpose Input Output pins on the Raspberry Pi. You can convert a pin to input or output and activate outputs. Currently only GPIO0-GPIO7 pins are available. The solution is under development to provide more functionality on the second release.
VNC is very important because most users want to access their pi from their laptop and have an image of the desktop in their screen. That's why the application has the tightvnc server as a dependency and provides the tightvnc client java applet. The whole vnc solution is pre-setup and only clicking at the vnc section should work. The tightvnc service on the RPi should be started manually because you need to setup a password.
Currently the web application agent supports the Raspberry Pi with Raspbian installed. Any debian based Linux distribution should also work but is not thoroughly tested yet.
Vasilis Nicolaou, Angelos Georgiadis, Georgios Chairepetis, Kyriacos Georgiou and Maria Charalambous
GPLv2. Imported projects have their own license.
Please consult the README file in order to setup an environment for testing purposes of the application. Note that architecture specific code won't work (just the GPIO for the moment). The application is based on the micro-CernVM web appliance agent developed at CERN by Vasilis Nicolaou and documentation section contains documents for that web application but are highly relevant to the forked version (the pi-web-agent)
Report (only relevant information of the web application, ignore update management section)
Presentation (first 9 slides)
Follow usr/share/pi-web-agent/doc for documentation on key python modules.
Last edited by vaslabs,
Tuesday, October 29, 2013
The meaning of this post is to describe the tools we used for collaborative purposes as they are very interesting.
We used git for code version control. We needed a private repository during the event and we didn't want to pay anything. What did we do? We set-up a git server on a Raspberry Pi. It was awesome. We left the Raspberry home running and kept it register its IP via dropbox with another amazing tool so we wouldn't lose it. Worked like charm.
For task board and discussion forums we used an awesome tool that no-one knows: Facebook
Yep, as simple as that. You may say that setting up a git server is too damn complicated and expecting something awesome for forum and task board, but we want easy and convenient solutions. Having a private git server will turn out useful in the future too.
We were 5 people and so the Raspberry didn't catch too much traffic. There were a few break in attempts but installing fail2ban got rid of them quickly.
So, use a Raspberry Pi as a personal server, web server, git server, vpn, whatever. It's awesome and sleek.
Congratulations to my amazing team again.
Thursday, January 31, 2013
OverviewRaspybox is a minimalistic but powerful dropbox client written in python for the RaspberryPI.
How to use itThere are three forms that the program can be executed. The simplest is the graphical way. First you have to execute raspberryDropy.py and type login. Follow the instructions and when you finish press ctrl+D to exit. Now you can use it in any of the three forms.
Setting things upYou need to install the dropbox sdk for python (which can be found in dropbox developer page) and create your own app. Download all the files from the file directory of this project and place them in a directory. Create an app for the whole dropbox and copy paste the keys in raspberryDropy.py accordingly.
User InterfeceTo execute the user interface simply type ./raspberryDropy_gui.py . The user interface should come up after a few seconds.
You can also use some shortcuts instead of the menu:
For upload press insert key.
For delete press delete key.
To refresh press F5
To navigate through your directories use the arrow keys and enter or double mouse click to either enter a directory or download a file.
There will be some messages in the console, don't worry about them. If the program crashes send the output as a bug report to the developer. This is because it is the initial version, so it might have some serious bugs.
Dropbox command lineYou can also execute the raspberryDropy.py and use the dropbox from the command line. Type help to view the necessary commands.
Alternative command lineBecause the RaspberryPI is very useful when using scripts and command line fire and forget programs such a functionality is supported. Instead of running ./raspberryDropy.py to access command line, you can supply a dropbox command as argument. Then the program will start-up execute the command, display the output and die. Be ware that the cache can't work on such situations. You can modify it to keep a cache on a file instead of the memory or use your own in your script.
This part however needs further development and consideration, so the command line can be used efficiently and fast enough (for example it makes no sense to run a command for changing directory, it will be of no use for this purpose)
ContributionCurrently the code is not very well commented, but it should not be very difficult to understand it, since it's a small program. However, a commenting will be done soon, I hope. If you want to contribute to this program, please send a request.
You can find everything here: http://sourceforge.net/p/raspybox/wiki/Home/