An idea came to mind the other day. I was pondering small ventures I could possibly spin up, to make a few dollars and in the process provide something of value for low cost. The possibility of starting a Friendica–based service, wherein a user can start their own SSL-secured self-contained Friendica node, via a web-based service front-end, came to mind.
The goal of this service would be to provide an inexpensive and easy way, for non-technical individuals to start their own personal Friendica nodes, complete with their own subdomain (possibly their own domain, as a later, more advanced feature) and complete SSL protection.
As I talk to people who are not familiar with Friendica, I notice a recurring theme, that they find it interesting; but getting something started is possibly too confusing or too technical for them. I want to offer something that eliminates many of the hurdles new users would face; things they typically don’t want to deal with, while providing them an environment that they can be comfortable interacting in and fully supported. Continue reading “The Possibility of a Friendica-Based Service”
Friendica is a powerful tool, not only for social networking; but also for a variety of other purposes. The usage I would like to discuss today is content aggregation.
There are many ways to aggregate content on the web; but Friendica has something that none of the others have. Friendica not only allows you to aggregate content; but it also allows you to integrate that content with social networking content from a variety of sources. Generally aggregators only aggregate RSS feeds; but Friendica has been customized to handle a variety of different kinds of content, not just RSS feeds.
This means you can look at all of the latest posts from your favorite websites, via their RSS feeds, while also seeing the latest from your social networks (Friendica, Twitter, Identica, Youtube, Facebook, etc). This is a valuable tool for efficiently keeping up with the flow of information from websites you follow and social networks that you are part of.
The process of integrating the content from websites you want to follow, is similar to how you might add a contact to your social network. In fact, on Friendica, the posts from websites you follow, appear in the same way as post from your social networks.
Continue reading “Using Friendica as a Content Aggregator”
I have recently started using a Toshiba P870 laptop and decided to install Linux Mint 13 Maya (Cinnamon Edition) on it, due to its ease of use and overall security soundness.
Being as the Toshiba P870 is a relatively new laptop, with some components’ drivers not having been included in the installation files of Mint, it has been a little tricky. I’m sharing this, for those who want to install mint on the P870 or similar laptops. This should save you a couple hours of searching. It will get you the drivers you need and get you up and running.
We’re going to discuss howto:
- Download, Burn and Run the Linux Mint Installer
- Install the missing network drivers, both WIFI and Ethernet, so you can connect to the internet
- Fix the internal sound problem that causes the internal speakers not to produce any sound
- Update: Installing the SD Card driver — since this article was originally written, I also figured out that the SD card driver needs to be installed as well.
Most LINUX users know how to copy and overwrite a file from one server to another; but it can also be useful to directly append to a file, without having to login to the remote server and make the changes manually. This does not appear to be possible with the commonly used SCP utility; however, there is a way to do this with SSH. Its actually quite simple. Continue reading “Appending to a Remote File via SSH”
If you’re dealing with systems behind a firewall it’s almost inevitable that you will need to tunnel into those systems from time to time. Fortunately, there are some quick & easy commands to accomplish this. In this example, we are going to use a Mac OSX or linux-based system, to gain access to a web server’s port 80 on a fire-walled server.
Let’s say the domain of the remote server is dfrn.net, the fire-walled server has an IP address of 192.168.1.100 and the firewalled server has a web server at port 80. We need to choose an unused port on our own system, in this case we’ll use 2020.
So our side of the tunnel is going to be http://localhost:2020/ and the other side of the tunnel will be http://192.168.1.100:80/.
ssh firstname.lastname@example.org -L 2020:192.168.1.100:80
So, now port 80 on the fire-walled server will be accessible by simply pointing your web browser to http://localhost:2020/. To terminate the tunnel, simply exit the shell.
I was once perplexed by a bizarre performance issue, I encountered at seemingly random intervals, in an application I help to maintain. The application kept freezing up, without any log messages to use for diagnosis. This was very frustrating, because it meant the application server typically had to be restarted manually to restore service.
After a bit of research, I learned of thread blocking, as a potential performance issue. Being as I was fairly certain that the database was functioning within acceptable parameters and the server had ample CPU and memory to handle the load. I sought to determine if thread blocking was an issue.
I started by simply running a twiddle command to dump the threads, whenever this performance problem was reported. This showed that the BLOCKED threads were indeed the cause. Continue reading “Fixing Performance Problems on Your JBoss Web Apps By Diagnosing Blocked Thread Issues”
It’s very easy, especially for an “evolving” web application, to end up with a user interface that is buggy and difficult to maintain, particularly if you are incrementally making changes to an outdated app, without a full redesign. This is a challenge that I’ve faced on many occasions, as I have often worked on applications that were built using an outdated software paradigm or have subsequently failed to keep up with the advances in software technology and methodology. This is not uncommon at all, in fact most, if not all, software engineers have had to deal with this on many occasions during their career.
Working through these challenges has taught me a great deal about the evolution of software applications. It’s something that I’ve had to learn, while balancing the day-to-day demands for the support/upkeep of an existing codebase. This process can teach a developer a great deal, as they research best practices and gain experience; but most importantly, it can teach developers what not to do, as you see how the process unfolds over time. Continue reading “10 Principles to Consider When Evolving Your Web Application’s Front End”
When you’re trying to move a large block of files, its often useful to do so in one command and to be able to close your terminal window (or allow it to time out). If you run a command under normal circumstances, losing the connection can cause your command to terminate prematurely, this is where nohup (No HangUP — a utility which allows a process to continue even after a connection is lost) comes in.
Let’s say we have a large directory to backup, which we want to first tar, then gzip; keeping the command non-dependent on the continuity of the terminal session. Continue reading “Tar/GZip Files in One Operation, Unattached to the Terminal Session”
I was attempting to set up an SSH key between two servers, so I could automatically back up a file from one to the other. This is usually a fairly straightforward and routine procedure; but in this case I had some issues.
When I got everything set-up, with the public key in the accepted_keys file of the remote server, I saw this error when running in debug mode, then I was asked for a password, which should not happen.
[me@host ~]$ ssh -v root@remotehost
debug1: Unspecified GSS failure. Minor code may provide more information
Unknown code krb5 195
Continue reading “SSH: DSA Key Issue: Unknown code krb5 195”
Today, it came to my attention that a LINUX computer, priced between $25–35, is now available. This computer is called the Raspberry Pi.
It sure looks like computing is going to take on a whole new dimension in the coming years. No longer are there going to be significant financial barriers to acquisition, meaning they will be everywhere and clusters of extremely cheap computers will add yet another dimension to cloud computing.
I think this will mean that computer technical skills are going to eventually be synonymous to literacy. Surely computers and computing will continue to evolve at a feverish pace, eliminating much of the unnecessary human toil.
Continue reading “The Paradigm Shift to Accompany The Advent of Cheap Computing”