BiggieStylin // The way Eric Gach does blogging.

Tag Archive for ‘Programming’

New Tutorials

September 19, 2008Programming, TutorialNo Comments

Well, I’m sitting here today trying to think of new subjects to do a new tutorial. A few ideas are coming to mind, but if there’s anthing that anyone would like to see, please let me know. It’ll probably be a few weeks before I have anything ready, but I’d like to start on something!

Tags: ,

New Tutorial Series: What you should know about X

I’ve started on a new series of tutorials that I plan on writing over the next few weeks. They’re pretty simple subjects, but I feel they need to be out there! The series is titled What you should know about: X. My first subject in the series is Dynamic Includes. This is based on my previous tutorial that is here, but is completely rewritten.

I’ll start working on a new tutorial when I get the chance. As the tutorial says in the conclusion, it will be about input filtering to prevent injection attacks on your site. I hope someone who reads these will learn something they can put to use! If you notice any problems or errors, please just let me know. Happy reading!

Tags: , , ,

PHP and ini_set() - A few things you should know

December 12, 2007PHP, ProgrammingNo Comments

Today I was writing some code for a website I’m building and came across a problem when trying to set the include path. When I was using set_include_path() and ini_set() to set the include_path, both functions would return false. It took me some time and a bit of help from Davey to finally figure out what was going on.

In my Apache configuration I was using php_admin_value to set an include_path for one of my virtual hosts. If you’re not familiar with php_admin_value, you can see the manual page here. By using php_admin_value in the httpd.conf (or a vhost), you’re there by telling PHP to force that setting and disallow anything else to change it, meaning PHP scripts or even .htaccess files. That was fine, except what I didn’t realize, is that for some reason PHP sees that setting and disallows it to be changed in any other virtual host or PHP script running under Apache. I can only speculate that this behavior is a bug and not intended. I would assume for that value to only affect the virtual host it was declared in, but instead, I spent 30 minutes debugging my code wondering why my calls to set_include_path() were returning false.

Let me just clarify for a second, the virtual host I had php_admin_value on was called, lets say foo.example.com and the code I was working on, that was returning false, was in the virtual host for bar.example.com. So, as soon as I realized that was the only place I was using php_admin_value at was foo.example.com, I changed it to php_value and restarted Apache with the new configuration. Instantly the code on bar.example.com began working as expected and setting my new include_path value. I’m not sure if this is default expected behavior, but it’s not what I expected at all. I will be filing a bug report to verify this though.

Well, that was my fun for the evening. I just wanted everyone to be aware of the effects php_admin_value and php_admin_flag have on your Apache configuration. If anyone has any different results or findings, please let me know!

Tags: ,

Call of Duty mods

Lately in my spare time, I’ve been working on something a bit different. Instead of the normal PHP or Python adventures, I’ve been working with a game language for Call of Duty. It’s structured somewhat like C++ but there’s quite a few differences. I won’t get into them now, but perhaps at a later date I’ll post my findings on the language itself, somewhat of a tutorial of sorts. Anyway, I’ve been working with this language to create my own mod for the game.

Why do I want to do this, you may ask? It’s for a few reasons, but mainly because I’m curious and picky. I can’t find a mod out there that does everything I like. Out of the mods I can find, I can’t find one that works without modification and is easy to add on to. I’m modeling my code closely after another mod that I’ve downloaded and like, but I’m rebuilding the code, hopefully fixing a few flaws and problems I’ve seen and ran into with the other mod. I’m also taking things from another mod I like that will add features that aren’t in the mod I’m modeling mine after.

I haven’t got much done so far, but I’m hoping sometime this week I’ll have some actual code that can be tested on my server. I’m going to have quite a few features in it, like the ability to maintain a crouch only server (this means that there is no standing and running, you must remain crouched), user punishment methods, bash only (weapon melee only attack), weapon damage modifiers, weather effects, and lots of other things. I’ll make another post explaining more, it’s pretty interesting stuff though. Until next time…

Tags: ,

wxWidgets and Python

So recently I’ve been playing with wxWidgets and Python. I’ve enjoyed it so far, but I’ve found one problem that I haven’t really found a good solution for. When creating a window in Windows, the default background seems to be a rather dark gray. My theme for Windows is the windows classic, which shows all windows as a light grey color. The menu bar and the status bar of the application are the light grey desired, but the background of the application itself and any text label widgets I create are all dark gray. It makes no sense to me.

The solution I’ve found so far is to set the main window background to the color of the menubar background. This seems to make everything conform to the default light gray. Here’s the code from my custom wx.Frame class:

self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENUBAR))
self.SetBackgroundStyle(wx.BG_STYLE_COLOUR)

This sets the frame’s background to the correct expected color. I’m not sure if this is the way I should be going about things since I’m new to wxWidgets, so if anyone has any suggestions for me, please let me know! I’ll post an update later this week when I get further along with my client. Right now I’ve taken a break from the SimpleIRC bot part of things and am creating a GUI interface for a client. Until next time!

Tags: , ,

Product Review: Zend Studio Neon Beta

October 11, 2007Programming, ZDE1 Comment

So, a couple of days ago I got an e-mail from Zend about Zend Studio Neon and their free beta release. I decided sometime yesterday to give it a try. I realize that the new editor is basically a version of Eclipse with PDT installed. I also noticed some other changes such as the Welcome screen is customized for Zend. Nothing special here, but I got past that and into the editor itself.

Now, first let me explain how I use Zend Development Studio right now. Currently I use it for work and a couple of my own projects that all use a SVN backend. I don’t have to check them out in ZDE to get SVN working with them, it automatically detects the .svn folders within my project and lets me use SVN functionality. I’m also able to start a new project and easily create it from a folder or group of folders that I select, as well as assign external dependancies to be included while editing. I use the function completion and method completion with classes because I have a horrible memory and cannot remember arguments for some functions I only use every now and then. Beyond that, I don’t expect much from ZDE besides the occasional use of the debugger, which has helped me out a few times.

Now, opening Zend Studio Neon, I realize that the editor is still beta, and that it’s completely new from ZDE as it’s Eclipse with PDT. I remember trying PDT not long ago and wasn’t very impressed at all. It seemed to lack a lot of the basic features that ZDE has. OK, so first thing I want, I want to use my existing files and still have SVN access. I have a lot of local changes right now that I don’t feel like commiting to break the whole project, so I don’t want to check it out fresh again. I start a new PHP Project, type in my project name and change the default directory to where my project currently exists. It creates the project files and opens the project. First thing I check is SVN, it’s there and working right off the bat. The PHP Explorer shows my revision numbers and allows me to right click and access the “Team” menu just as Eclipse does. Great, now I know that SVN works fine by default.

Now, lets see how editing files goes… I open up my first file and start typing away. First thing I notice is that it’s pointing out a couple of errors to me already. I was using a loop and not using all my variables in the loop, which means in my assignment, I forgot to include the array keys. That could have been bad… good catch! Also, while fixing this problem, I notice that variable completion works, which is no supprise, it also worked in PDT when I tested it. Now, I open another file and find it’s got a few errors in it as well. Some things are notifying me of unused variables in methods for my XML parser, others are telling me of issues where I misspelled a variable and it thinks it’s undefined. Great, fix the ones that can be fixed and move on.

Now I wanted to test the function/method completion. This is one thing about PDT I wasn’t completely satisfied with, but it appears to work well in Zend Studio Neon Beta. I created a new method in a parent class, then in the child class that extends it I implemented the functionality. When I start typing $this-> it then pops up a window with all my methods in the class, including the ones in the parent and the one I just created. For those methods that have phpdoc comments, it also fills in the types for the arguments and return value. I write my method out and save, everything looks good and I’m deffinately enjoying this better than just Eclipse and PDT. Now, one thing I didn’t mention earlier which I noticed while making changes and saving files.. in my PHP Explorer where it shows my SVN versions, on the files I’ve modified, there is now a > infront of them signifying that they’re changed. I prefer the old style where the color changed, but I can deal with this too, and it might be customizable.

So far my experiance with Zend Studio Neon Beta has been pretty plesant. When I first installed it I had a couple of issues that were a bit confusing. I blame windows though, because after rebooting and opening it up again, everything seems to work as expected. Also, one other feature I didn’t get to is the phpdoc strings. It works about the same as it did in ZDE wheren when you type /** and hit enter before a method, it inserts the doc tags as expected. I can say that I like it so far, especially the fact that they’re using Eclipse. I’ve been a fan of Eclipse for a few months now because of how easy it is to install plugins. I’ve been using eclipse for Python and C within the past few montsh, and now I can use Zend Neon for PHP. I also checked the Help menu where you can access the Software Updates to install new plugins. This means that I can most likely add PyDev and CDT for my Python and C needs, great! For now it looks like I’m back down to one error instead of three.

I’ll post more later if I find some other interesting features of Zend Neon or if I find any problems.

Tags: , , ,