Andrew Monkhouse

author and jackaroo
+ Follow
since Mar 28, 2003
Andrew likes ...
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
Merit badge: grant badges
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Andrew Monkhouse

This book starts from the very basics, explaining what PHP is, and why you might want to develop with this; then gradually works through the process of setting up a web site. As you progress through the chapters, new features are added at logical steps, leading to a good understanding of both PHP and MySQL.

Once you are passed the very first chapter, the standard Murach format is followed: description of the new feature on the left-hand-page, and example code on the right. This makes it very simple to see how a function would be used in real life.

This is designed with latest versions of PHP and MySQL, but there are extensive details in the back of the book that detail what has changed between versions, which is very useful if you have to maintain legacy code or are trying to migrate it.

There is also extensive coverage on the different ways to connect to different databases, and how to debug your programs as you work on them.

Likewise the back of the book describes how to set up PHP and MySQL for the three main platforms - Mac, Windows, and Linux.

It is interesting to note that this explicitly mentions MySQL in the title, and throughout the book, even though the authors ended up using MariaDB. This should not dissuade anyone from this book though

This is a very good book, and I highly recommend it. I give this book 10 out of 10 horseshoes.

Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.
6 years ago

Image from Amazon
Title: Murach's PHP and MySQL (3rd Edition)
Author(s): Joel Murach, Ray Harris
Publisher: Mike Murach & Associates
Category: Web Programming

Amazon wrote:I can’t count how many PHP books I have purchased over the years trying to learn the language. Murach’s was the first book that helped me grasp the concepts and got me onto actually scripting in PHP.

That’s what one developer posted on the first edition of Murach’s PHP and MySQL. Now, this 3rd Edition does a better-than-ever job of delivering the skills you need to develop database-driven websites using PHP and MySQL, the way today’s top web professionals do.

Book Preview (when available)

From the publisher
Official website

Where to get it?
  • Mike Murach & Associates

  • Related Websites
    6 years ago
    I'm sure most of you know Coderanch runs on JForum - an open source, Java-based forum software. However, the volunteer staff at Coderanch is awesome, and most of them could never stop improving the forum software this site runs on. After about 8 years since we switched to JForum, what we really have right now is an extremely modified and improved version of JForum! Believe it or not, the staff improves this software about every other day, and we push new stuff to production about once a week.

    Here is an example of some new stuff we just made live!

    • Devaka - connect more solar cells to the undervolt main B bus
    • Devaka - Show the attachment file size in MB if the file is above 1 MB
    • Andrew - add one photon cannon to the runabout
    • Devaka - replace the damaged communication array on the hull
    • Devaka - install new aneutronic fusion system
    • refurbish the phaser emitter array for improved accuracy
    • Devaka - install a new torpedo launcher for improved firepower
    • install a backup navigation system in case the main one fails
    • replace electrodes of the gridded ion thruster
    • Devaka - install a new cloaking device for stealth operations
    • Devaka - repair the damaged gravity plating in the cargo bay
    • Frits - add more tritium to the main engine
    • main engine reconnected to another electron pump
    • Devaka - Fix bug where attachments over 700MB were failing to download
    • Devaka - Increase the quality of images used in the banner ads
    • Devaka - Little CSS changes to the list of top volunteers at the left
    • Devaka - increase the magnetic field intensity of the primary cyclotron
    • Devaka - Make the vimeo BB tag support full screen mode
    • Devaka - repair the hull breach in section 12B
    • Devaka - fixed the glitch in the teleporter that was sending people to the wrong planet
    • Devaka - Installed new water troughs for the horses
    • Devaka - Adjusting the temperature controls in the lab to prevent the growth of mutant bacteria
    • Tim M - repair the damaged replicators in the mess hall
    7 years ago
    As others have said, please try to provide constructive feedback. We can look at the specifics of what individuals in this topic have said, and see if it makes sense to change things or not. But simply saying it is awful does not help us at all - we are unlikely to change our entire site back to the old look-and-feel because you personally find the new one awful, and we cannot change any aspect of it because you have not told us what aspect(s) you don't like.

    I have given cows to anyone who made constructive comments in this topic, irrespective of whether they are talking about what they like or what they don't like.
    8 years ago
    There are two staff members who we consistently notice are working above and beyond expectations to make Coderanch a better site. In recognition of this, we have promoted Henry Wong and Devaka Cooray to the rank of Marshall!

    Please join me in congratulating these two in getting the recognition they so richly deserve!
    8 years ago

    Lucian Whiteman wrote:I have over 10 years in the industry,

    I have 30. I am a junior compared to some of the people here. Shared wisdom helps us all! :-)

    Lucian Whiteman wrote:yet only today I got to read that agile manifesto.

    I think this is a great point to start from - since you are admitting that you are new to the agile manifesto, I suspect that some of your misconceptions can be easily corrected.

    Lucian Whiteman wrote:i) Individuals and interactions over Processes and tools.
    Individuals = conflicting interest, conflicting visions, different capacity, egos. Why is there no mention of that ?
    Interactions = on the fly decisions, inability to research the experience of others, the idea with most followers gets automatically chosen

    It is important to realize that the manifesto is not suggesting we do away with the items on the right, or that the items on the left do not happen in other development models.

    You have individuals in waterfall, and you have interactions in waterfall. The same problems you mention can also occur in a waterfall environment, however they are often mitigated in waterfall by a "my way or the highway" attitudes - something that can result in bad solutions being developed without consideration for better solutions.

    Processes and tools also exist in agile environments. However the idea is that they are considered less important than actually talking with people.

    Lucian Whiteman wrote:ii) Working software over Comprehensive documentation
    Working = it works today, what about its technical debt ? What about its efficiency ? What about its modularity ? Why is there no mention of that ?
    Documentation = straw man fallacy. How stupid needs one be to compare software with documentation ? Why don't they compare working software with free of bugs software, or with durability optimized software, or with cheap but buggy software ?

    What about technical debt in a waterfall environment? It doesn't matter what process you follow, there will be technical debt. It is up to the company to manage that.

    What about efficiency and modularity? There is nothing to say that you cannot be efficient when following agile or waterfall. There is nothing to say that you can, or cannot, write modular code in waterfall or in agile.

    It sounds like you have not worked in a documentation heavy company - good for you! I have worked in companies that used the waterfall model, and some of the documentation was amazing. At one company, they had documentation for the project in six large binders before they wrote a line of code. And the documentation turned out to have made some unwarranted assumptions, resulting in reworking of both documentation and coding later.

    Again - it is not that documentation should never exist. The authors are simply suggesting that getting the code written is more valuable than writing documentation.

    Lucian Whiteman wrote:iii) Individuals and interactions over Processes and tools

    You already mentioned this as your first point

    Lucian Whiteman wrote:iv) Customer collaboration over Contract negotiation
    Client has conflicting interests and vision with software firm and developers. Thus client cannot be best friends with dev. Why is there no mention of that ?
    What about conflict situations and unpredicted difficulties ?
    Who is responsible for what and who gets blamed for failures ?

    The idea here is that we, as developers, should be partners with our clients. We should be working towards a common goal. Contracts still exist, and can define who is responsible for what. Resolution of problems still exist. But the guiding principle is that the customer is a collaborator on the project.

    Trying to clearly define who is to be blamed for failure before there is a failure seems to be approaching development from the wrong perspective.

    Lucian Whiteman wrote:v) Responding to change over Following a plan
    Plan means initiative + research + agency + purpose. Why is there no mention of that ?

    Again, there is no suggestion that you should not have a plan. A plan is a good thing. But if you cannot adapt your plan when things go wrong, then you are going to end up in trouble.

    Lucian Whiteman wrote:Responding = passive + lack of ownership. How is that better ?

    As before, there is a plan. Responding to problems is not lack of ownership.

    Imagine if someone was driving down a road, and a child jumps out in front of them. The plan is to drive down the road. Responding to the change means swerving and/or using brakes.

    Lucian Whiteman wrote:What causes this change ? What sort of change are you talking about, Obama ?

    If we knew everything that could possibly change with the project, then we could cater for it. Can you imagine developing code 30 years ago and being tasked with writing it so that it supports mobile devices? Change happens!

    Lucian Whiteman wrote:Where is the big picture and who has the general vision when this change happens ?

    The team typically has a decent picture. They are typically working in collaboration with the client, who usually has a bigger picture.

    Lucian Whiteman wrote:Following = someone else is responsible for that plan. Responding = someone else is causing your actions yet you are responsible for the outcome.

    This feels to me like an antagonistic start to the project - I will do what I am told without worrying about whether it is a failure or not, as it is someone else's plan!

    Lucian Whiteman wrote:“That is, while there is value in the items on the right, we value the items on the left more.”
    Not enough courage to claim that the things on the right are of less value (to them) than the things on the left

    That is exactly what the "we value the items on the left more" says.

    Lucian Whiteman wrote:How much more value is one item on the left is worth than one on the right ? left = 101% right or left = 237% right ?
    How much value ? How is this relevant to our daily work ?

    Who cares about precise percentages? The manifesto is talking about a philosophy. Not 1001 rules that must be met exactly.

    I'm stopping here for now, but hopefully this gives you some food for thought.
    Well deserved! Glad you joined us!
    8 years ago

    chris webster wrote:I've never felt able to justify spending so much more for a Mac than I'd pay for a PC, but maybe you can give me an excuse to think again!

    It is really hard to compare apples to apples (no pun intended), as almost all Macs come with SSD and Retina displays, most generic laptops use mechanical hard drives (with no indication whether these are laptop safe hard drives) and mediocre displays (compared to Retina).

    But if you are comparing brand name laptops, the low-end 13-inch MacBook Pro with Retina display is roughly comparable to the Dell XPS 13 13.3-Inch Touchscreen Laptop. The prices are close - a little over $1300 for the Dell, just under $1500 for the Apple (assuming the blurb at the top is correct and the Dell has a 256 GB SSD - in the the tech specs it specifies that it is a 128 GB SSD, and if we compare it to a 128 GB SSD Mac Laptop the prices are within 1 dollar of each other: the Mac wins with a price point of $1299). The Dell has touchscreen (I hate using the mouse - I use the keyboard for 90% of my work, I would hate to be forced into using a touchscreen) and it comes with Windows 8 - not big selling points for me. The Dell does not quite match the resolution of the MacBook Pro (potentials for each of 3200x1800 versus 4096-by-2160).

    We found a similar thing at work with MacBook Air verus Microsoft Surface Pro - Microsoft have been doing wonderful advertisements for how cheap their machines are compared to the MacBook Air, to the point where our TechDesk were asked to investigate switching to Microsoft Surface Pro. Unfortunately we need to buy in bulk, which means that we do not get the special deals that go into the Microsoft advertisement - we would have to pay full price. TechDesk reported back to management that there was no significant savings in switching over.

    Getting away from price:

    I run two identical Dell 2950 servers at home, one running Linux, which runs the bulk of my applications, and one running Microsoft Server 2012 for experimenting with various Microsoft applications. Given these servers are noisy, I hacked them by replacing the fans with lower speed / quieter fans. With the base install of the linux server I also had to hack the bios - it runs too slow / consumes far too little CPU most of the time, so it was getting below the minimum threshold for the fans for the BIOS. With the base install of Windows Server 2012 I had no such problem - the CPU usage / heat generated by the idle OS was enough to ensure that the fans were always well above the threshold for the BIOS. This worries me - why would I want to install an OS that effectively reduces the CPU / memory capacity of the computer I purchased?

    I agree with Bear's comment about wanting something that just works. Way back in the day I used to tinker on my Linux box, and I would recompile the kernel so that I could ensure it would work with my hardware and (perhaps more importantly) not load any drivers that were not needed. I still find this when I try to run Linux applications - the great thing is that most applications are open source, but the bad thing is that most applications are open source. So it is still reasonably common that when I look for an application for Linux I find that the latest version may be compiled for a different base than mine (Debian versus RPM for instance) or might be a different release of the OS than mine, or might need a different version of a library than what I have installed. These are not big issues - even the worst of these can usually be resolved over a weekend. But I want my weekend for other things.
    8 years ago
    I think there is an important question missing here: what is he using it for?

    If he is doing a Computer Science degree, then he probably wants something beefy. Or two machines - a beefy desktop sitting in his dorm, and a lightweight machine to go to class with.

    If he is doing a course that requires a lot of graphics manipulation, then he again probably needs something beefy, and probably needs SSD.

    If he is only writing his thesis on it, then the specs could be much lighter.
    8 years ago
    May I suggest one little change to your code at line 22 from your pasted code (might be a different line number in your IDE, as you don't have the "include" statement in your code above):

    What does that give you as output? Does that make more sense of what is happening?
    I'm not sure I understand your question. Resin is a web server/container that can serve up basic HTML pages or war files, or Servlets, or JSPs.
    9 years ago
    From your log output above:

    JBoss is case sensitive, so you probably need "http://(host)port)/Folder/index.jsp"
    9 years ago
    What URL are you trying to load in your browser?
    9 years ago
    Take a look at a history of JavaRanch. Lots of fun stuff, including why we have a moose, and why he looks the way he does.
    9 years ago