Archive for category Applications

Gnome 3 + Netbeans Revisited

I wrote at some point in the past about a small bug in Gnome 3 where Netbeans menus behaved strangely. My solution then was to switch to Gnome classic. Well I started using Cinnamon recently and found that it has the same issue. So I wanted to find a better solution.

I came across a strange way to fix the issue. I tried it out, and it worked beautifully, even if it is weird.

Unmaximize Netbeans so that it is in a Window on the desktop. Grab the top left corner of the Window and move it all the way to the top left side of the screen. Now, maximize it. The menus work again.

It's weird, but I'm glad it works. I spend most of my time in Netbeans, and I'm really digging Cinnamon.

, ,

No Comments

Introducing LavaPHP – Yet Another PHP Framework

I've used quite a few PHP framework to varying degrees, and like many other PHP developers, I've decided to make my own. Of all the current frameworks available, I prefer CodeIgniter, because it is easy to use, has great documentation, and generally stays out of your way.

Everyone has their opinion of the best PHP framework, but I like the ones that let me write PHP and don't throw a lot of features that I don't need into the mix. I found that no matter what PHP framework I was using, I was always creating a table for users. I was always creating login functionality for users. I was always creating email confirmation functionality for users. I was always creating an admin interface for working with my configuration. I was always creating classes that helped me work with web services/REST APIs. I always need a small web service of my own for Ajax functionality. I always needed to add curl functionality just in case the hosting provider had fopen disabled (which most do).

Those were the things I needed. ORMs are great and all, but I really didn't want to learn proper YAML syntax just so I could setup automatic object models for my database tables. Creating models for my database isn't that much of a chore. Creating a complete user system can be.

So, I set out to create a framework that I can use for my own projects and have all the functionality that I find I usually need right out of the box.

Another thing about frameworks is that they are designed to make enterprise level sites. They aren't designed to create software system which can be distributed. By that, I mean I wanted to create a software package that could be installed by end users and used by them to create their own websites (custom CMS system with a specific purpose). A normal framework doesn't work well in this area because of the way views are usually handled. Mainly, I wanted third parties to be able to create themes for my CMS systems without much effort. With something like CodeIgniter, I could use a templating engine via a plugin or Codeigniter's own minimalist template engine, but I don't like take one piece of software and adding on a bunch of plugins.

First you have to learn how to use the plugin. Then you have to hope that there isn't a bug in the plugin that will spring up in your app. Then if there is some small customization that needs to be made to the plugin, you could spend days trying to figure out a way to make it work with your system, when it would have taken less time to just write your own. Using plugins also feels a bit like cheating to me, as well. I want to know every little part of my system, so that if a bug comes up, I'll know right where to look or at least have a decent idea where to look.

With all that said, I'm announcing my PHP framework. I've written it completely from scratch and I'm hosting it on Github. I also have purchased the dot com for it. I'm calling it LavaPHP. The motto will be "LavaPHP - Add a little lava to your LAMP" and it will have a lava lamp as it's mascot/logo. If you'd like to help with the initial development, hit me up and fork the project here: https://github.com/lpcustom/LavaPHP

, ,

No Comments

Cinnamon – Another reason to love Mint

There's plenty of Debian-based distributions out there. So many, in fact, that many of them have derivatives of their own. Ubuntu has been a leading distribution for many years, and it owes much of its fame from its Debian roots. Enter many Ubuntu-based distributions which add to the great works done on Ubuntu.

LinuxMint is probably my favorite of the derivatives. It started out as a more feature-rich, multi-media version of Ubuntu. It also added its own (better looking) theme. I've always disliked the default themes in Ubuntu, whether it be orange, brown, or purple, although I give them point for originality. LinuxMint brought a minty green flavor to the Linux desktop.

I've recently posted that I can't stand Unity or Gnome 3, and I was searching for an alternative in a more modern distribution. I could have went with Debian Stable or CentOS 6, which still use Gnome 2, but I wanted a distribution that uses more up-to-date versions of software like Blender, LibreOffice, Firefox, and such.

The problem with that scenario is that there aren't many "modern" distros which use something other than Gnome 3 or Unity as their default desktop environment. I tried to use XFCE4, but it just wasn't for me. I can use it in spurts, but I wouldn't want to use it permanently. I wanted something that looked fresh.

For a few days, I tried to adapt to KDE4. You know things are rough in my Linuxland if I'm trying to adapt to KDE. I was getting by and actually liking the experience until I tried to do a little Java game development. For some reason, anytime I switched my Java app to fullscreen and then back to a window, it would disable my second display. This peeved me off enough that I just installed Windows 7. I've been using it for the past month.

Today, I was messing around on my laptop, which happens to have LinuxMint 12 installed on it, and I remembered reading something about a Gnome 2 fork that the LinuxMint crew was working on called Cinnamon. I thought, "what the hell, I'll give it a shot".

It was impressive. It was actually more than impressive. It was exactly where I thought Gnome should have went. It's like a better looking version of Gnome 2, with all the same Gnome 2 features. It felt like home, which is coincidentally like the subtitle of the Cinnamon homepage:
"Love your Linux, Feel at Home, Get things Done!"
This is a great slogan, because it really goes right along with how I felt about Cinnamon. I loved using Linux on the desktop again. I felt at home. I bet I'll be able to get things done in it as well.

I rarely use that laptop, so next I'll be installing LinuxMint on my main desktop again. I'm going to cross my fingers and hope that their isn't some annoying bug that makes me wish I'd stayed on Windows 7.

It's pretty sad when a Linux advocate, that loves working in the command line, doesn't want to use Linux because of the sad state of desktop environments. I wish the main developers of this type of software would lose the "unify everything" mentality and make the desktop just work.

Hopefully, I'll be able to give Cinnamon a thumbs up on my main desktop and just stay in Linux heaven. I'll post my results later.

»crosslinked«

, ,

No Comments

Reset a WordPress password

I'll make this post short and sweet. Let's say you've forgotten your login for a WordPress site. To reset the password to something new, you can simply use a SQL query. If you have access to PHPMyadmin or the MySQL command line, this is really straight forward.

From PHPMyAdmin, open the database for the WordPress installation. If you don't know which database to use, check out your wp-config.php file inside your main WordPress installation folder. You'll find constants defined in that file for your database name and database user. Once you've found the database, you can execute a SQL statement by clicking the SQL button. In there, type:

 
UPDATE wp_user SET user_pass = MD5("yourpassword") WHERE user_login = "admin";

That's assuming that your username is "admin". Change it to whatever username you are using. Once you run that SQL statement, your password will be set to whatever you put in "yourpassword". Both the username and password need to be quoted in the SQL statement.

To do the same thing in the MySQL command line, connect to the database with:

mysql -u<username> -p

Substitute <username> with your actual username from the wp-config.php file.
You will be prompted for a password. Use the password from the wp-config.php file.
Once you are logged into the mysql command problem type:

USE <databaseName>

Substitute the actual database name from the wp-config.php file.
Finally, type the update statement above and hit enter.

After you've updated the table via SQL, you should be able to login to your WordPress installation.

, ,

No Comments

Netbean’s Menus Don’t work in Linux Mint 12

Gnome3 has some issues. I really like the look and feel of Linux Mint's Gnome3 + Mate interface. However, looks aren't everything. Functionality is important as well. Almost everything works with it but Netbeans is an exception. The menus are completely unusable with it.

The quick solution is to select "Gnome Classic" when you login. I like the look of it as well, and at least everything works in it.

While I'm on the subject, why did Gnome decide to take the path it did with version 3. It's too much like Unity, and I hate Unity. Why are they moving to this type of desktop? Gnome 2 may not be the prettiest thing available, but it has been the most usable desktop environment for years. They should have just concentrated on improving the look of it, added a few new features, and worked on any bugs they had laying around. Most people don't like Unity or Gnome 3. This doesn't leave much of a choice other than KDE and XFCE4. Of those, I'd pick XFCE4, but if you have a large userbase like Gnome has, why screw that up by making your new version look like and act like the DE most people are wanting to avoid? I just don't get it.

, ,

No Comments

Windows 7 Freezes Randomly

I recently reinstalled Windows 7 on my main box because I wanted to do some good screencasts for my PHP Video Tutorials site. After installing a few updates for Windows 7, I started getting a strange issue with audio and video. The OS would glitch. I would get short pauses in video and distortion in the audio.

After killing some processes and services, I soon found out that the problem was with Windows Superfetch. The issue has to do with my SSD drive. So if you have an issue like this and you have a solid state drive, you should try disabling superfetch. After stopping the service, give it a few moments. Play videos and see if you still get the problem.

If you want me to write up a howto on disabling superfetch, leave a comment. If there is any interest, I'll write it up.

, , ,

No Comments

Couldn’t Load XPCOM

If you are like me, you like to use the latest plugins for Firefox (when you use Firefox). Things like Firebug have become a staple for my web browser usage. I also love using Debian as my OS, and the stable version comes with a much older version of Firefox (sans logos and with the name iceweasel). Unless you download older version of plugins, most of the time you'll have trouble installing the plugins you want.

The simple solution is to download and install the latest version of Firefox directly from Mozilla. There's not much of an install process. Just download and uncompress the file. You'll get a firefox directory, which I moved over to my home directory and proceeded to create shortcuts for on my desktop and menus.

If you are using the 64 bit version of the OS, you will quickly run into the "Couldn't Load XPCOM" error. It's obvious that it is a library issue but the error doesn't give you a big clue as to how to fix it.

Good news, the fix is extremely easy. You are lacking some 32 bit libs that are required to run the program.
Fix is by running the following as root or with sudo:

apt-get install ia32-libs-gtk

After that, you should be able to run Firefox. Enjoy!

No Comments

The Best PHP Framework?

I've been really interested in using a PHP framework. One thing holding me back is deciding which one to work with. It seems that every time I start looking at frameworks, I end up deciding to just code everything manually. The major contenders seem to be Yii, Zend, Symfony, CakePHP, and CodeIgnitor. However, I have no idea which one I'm going to use. It's hard to decide without learning the ins and outs of each one and making a good decision based on that knowledge.

My latest attempt was with the Zend framework. I was getting into it and realized that most of the documentation for setting it up bases the setup from a virtual host in Apache. This would be fine, but it actually makes development and deployment overly complicated for me. My development environment is a Linux machine that is my main desktop. My production server is my own dedicated server with CPanel. Zend doesn't work very well with this setup from what I can tell.

I want my site to transfer easily between the two environments. I like them to be self-contained as well. I want to throw the framework into a lib folder or link to it in some way. I don't like that the forward-facing web site is in the "public" folder. I want the root of the website to be the forward-facing public website.

I would really like to use Zend because it has a lot of good extensions for utilizing various web services.

I'd like to hear from others. Which framework would you recommend and why?

, , , , ,

No Comments

Reddit’s Interview with Richard Stallman

Recently, Reddit users were given the opportunity to ask RMS (Richard M. Stallman) questions. The top 25 were answered by RMS here.

For anyone who doesn't know who RMS is, he is the founder of the GNU project. He wrote Emacs and the GCC compiler. Much of what makes up a "GNU/Linux" (don't ever let him hear you call it "Linux"), is the GNU tools. Linux itself is just the operating system kernel. Although the OS kernel is a very important part of the OS, a base GNU/Linux system has a ton of software from the GNU project as well. The OS doesn't work without the kernel, and it doesn't do much without the GNU tools.

RMS answered most of the questions as I would expect. The one question that stood out to me, although I haven't made it through the entire list yet, is number 7. The question relates to how the open source world can't create tax software and games that can compete with proprietary software. It's a very good question. RMS mentions that the Free Software Foundation in Latin America does have free tax software. He also says

I don't know whether our community will make a "high end video game"
which is free software, but I am sure that if you try, you can stretch
your taste for games so that you will enjoy the free games that we
have developed.

Now, this is the part that really made me think. I've always been an advocate of free software, but do I really want to rely on free software to produce video games that compete with some of the games I play on PS3? I truly wish that they could make them, because I'd love it, but I don't see it happening. Another major point to that comment is that games have always been the driving force in computer hardware improvements. The computer systems we have right now are only this good because of games.

That may be hard to believe, but for anyone that's been playing PC games for decades, it's common sense. Video games are it. That's what all of this technology was built on. You were either playing games or writing them. Sure, computers have many other useful features, but games are responsible for these beautiful user interfaces and awesome sound.

Games kept getting better. Hardware kept getting better. A huge majority of the research and design came from game sales. All of that wouldn't have happened without proprietary games.

RMS knows that, but RMS isn't worried about games at all. RMS is worried about software freedom and he has many good points. Those same points could be applied to many industries. To me is seems like the old communism vs. capitalism debate. Extremes on both sides suck. It's the happy medium we should strive for.

, , ,

No Comments

LXDE – The Light-weight Linux Desktop Environment

I was reading a post over at the Linux Mint Blog and found that I'm a bit behind on my Linux news. I've never heard of LXDE. Now my desktop environment of choice is Gnome, usually. I also like XFCE, but Gnome has all the features and rarely lets me down. I like the variety in Linux so I was glad to see yet another desktop environment.

LXDE seems to be geared toward netbooks and other cloud-client computers. Linux has many light-weight desktop environments, and even though I like variety, sometimes I wish that they would all come together and work together.

This leads me to a pitfall of open source. It's also an advantage. Those are complete contradictions, but there's really no other way to explain it. I lean more toward the advantage side of things but sometimes I wonder if the different projects could be merged as much as they are split.

It seems that it's perfectly logical for developers to split from a project and create a fork, but rarely do two projects merge to form a super project. Perhaps open source in general needs more merging to balance out the massive amounts of forks....just a thought.

No Comments