A Week So Far…

Posted: 20th March 2012 by Mirdarthos in Linux, Ubuntu
Tags: ,

So, it’s been a while since I dedicated myself to the land of UBUNTU and all that it has to offer.

My Time with UBUNTU had not gone without a hitch, of that much you can be sure. After all, it has been some time since I indulged.

I have installed Crossover Office, mainly with the aim of kick-starting Starcraft II. The installation started quite easily, but something went wrong after it installed 50%. An error came along and decided to ruin my evening. Tired and not in the mood for a fight, I finished my supper and went to bed. I’ll attempt this feat of awesomeness again tonight.

I have also toyed around with Libre Office and I admit that I quite like it. It feels a whole lot faster than OpenOffice.

One of my less favorite ‘features’ is the Unity Launcher that displays on every Monitor of my Dual-Monitor setup. No matter how hard I try, I just cannot get used to this. The most annoying thing about the launcher is that it grabs a hold of the mouse cursor when moving between monitors. I do not like to fight with my computer over control of my mouse cursor.

All in all the UBUNTU experience, so far, has not been an unpleasant one. I have had my bumps in the road, but if you keep an open mind they are far from catastrophic, but rather expand your knowledge and horizons. Add to this the price tag on the software, the small Installation Size and the fact that it is Open Source and it will absolutely blow your mind.

The UBUNTU Weekend

Posted: 12th March 2012 by Mirdarthos in General, Linux, MySQL, PHP, Programming

A colleague of mine decided to go for one week with Windows 8. He is a big fan of Open Source and I truly admire him for this and decided that I would support him with, at least, One Week of UBUNTU.

My claim & reason for using Windows above other operating systems is that, for me, it is the best operating system to develop in and that I work the fastest with Windows. This is very ironic since I am a PHP Developer, which is Open Source. I decided that it is time to text my claim, with real effort.

I found out that my IDE of choice, Aptana Studio, is available for Linux and with renewed hope for my mission I downloaded the UBUNTU 12.04 Beta ISO image and set off.

The first thing that impressed me was the size of the Installation ISO image. Weighing in at a measly 700MB this is truly one of the most lightweight operating systems. Installation was a breeze and while I entered my details, the system was merrily installing itself in the background. Awesome!

Installation quickly finished and I had my computer running, in no time at all. Drivers gave no problems at all, even my nVidia Graphics card was up and running before I knew it along with my dual monitor setup.

Next step was to get my video player running. I installed VLC Player from the Software Centre and, as is usually the case with VLC, it played anything I could throw at it without a problem. In fact, VLC Media Player did much better on UBUNTU than it ever worked for me on Windows.

I got a hold of Aptana Studio and apart from needing to install JDK and libjpeg had absolutely no problem running it either. This was awesome as I did not really want to use any other IDE. Browsing my network’s SAMBA shares proved to be as easy as clicking a button. This gave me some real confidence that my mission might be a success. I stand ready for the week to come, along with all it’s challenges. Me and my UBUNTU.

Follow me in Twitter as I give regular updates about my time with UBUNTU.

The point of no return

Posted: 7th February 2012 by Mirdarthos in General, Programming
Tags:

This is my term for that time of evening, while working that you reach where its just not worth going to bed anymore and you would rather just make the late night an all-nighter. That time of evening, or morning, when, if you go to sleep you would find it impossible to get up early enough to be at work on time.

Most developers, old and young alike, have discovered this about themselves. My cutoff time is 3am. Anything less than that, and i just push through until its time to get ready for work. I would usually get myself an energy drink on my way to work, just to speed up recovery time, and then my day wood be fine, for most of the time, however, should i crash, then its impossible for me to recover.

What’s your Point Of No Return?

As always, comments are welcome.

CMS or Custom?

Posted: 29th January 2012 by Mirdarthos in Drupal, HTML, Joomla, MySQL, PHP, Programming

As a web developer this is one question I constantly face when having spec meetings with potential clients.to be honest this can be a very difficult decision, at the best of times. Both options have their merits, and I’m of opinion that there is not really a wrong answer to that question.

Here are a few guidelines that I like to keep in mind when figuring out my best course of action.

Development time
This has sometimes been the biggest factor in deciding what course to take, as ask the client really cares about is getting his product out as soon as possible.they also want the best quality product with no security issues, and in my opinion the only way of ensuring this is by starting on a platform that has been tried and tested.

A with any other decision this has come back and bitten me in the backside, especially when attempting to tackle something in the framework of a CMS that you have not done previously, and now need to figure out how to accomplish within the framework of your chosen CMS.

Purpose of the system to be developed
This is always at least the second most important factor when making the above mentioned decision. If the “system” is a simple website, then there its obviously no reason to build a custom system to display plain content.

When the system is a doing cart system, why would i want to reinvent the wheel? There are many solutions out there, including Virtuemart for Joomla! as well as Ubercart for Drupal.

However, when the system is a stock management system, to be accessed and used VIA tablet browsers, from sometimes remote locations over the internet, then I trends to go for a custom solution that is lightweight, fast and doesn’t have functionality that will never be used.

Security issues
No developer writes perfect code.a bold statement,i know but one that I captive to be absolutely true. I believe that perfect code is out there, but along with that I believe that perfect code is only attainable when opening it up to the eyes of many and getting input from as many people as possible.

Because of this, I will always consider myself to write flawed code and will look for ways to improve the way i do things, or use a platform that i know already has tons of patches against the various security holes that were in its defenses.

However, when said system well be running on an internal network, like a stock management system, then security is less of an issue. Thisnot mean that I won’t put ask my efforts into writing a flawless secure system, but should I mid something small, the chances are slim that it will ever be exploited, or cause any serious harm.

Flexibility
This is also important to consider. What are the future plans for the system? More often than not, clients do have extra plans for their systems, whether they verbalise them or not and sometimes even without them knowing it. Always keep in mind what possibilities there might be for the system, and enquire about these when speaking to a client.they don’t know how important this information is when deciding how to tackle a project.

Well documented code is ready to work with. It is important to know this. Many a time have I looked at someone else’s code and found myself totally lost. just as many times it happened that i couldn’t find my way through my own code. I believe the reason for this is because i constantly better my technique of doing things.

It is because of these things that I say it is very important to keep the future of a product in mind when deciding how to do it. Documentation is of utmost importance and while you do have to make time to document both custom solutions a well as CMS based solutions, the fact is that many of the functions, methods and variables used in your CMS bases system will already be documented by the CMS’s documentation. This saves on time, and makes it easier for yourself, our the next developer to get back into old code and make changes or even expand the system.

Integration with other systems.
Something i realised again this week, is that clients think that you automatically know what they want, and damn you if you don’t.although we do magic on an almost daily basis, devining almost impossible things, the fact of the master is that we are are not mind readers and try as we might, we can’t know what they area thinking.

Find out from you client what else the system needs to integrate into. Where well the data that you are supposed to show come from? To them its obvious, but there is no way for you to know all that. This is very important to know, this will greatly influence your planning and the timelines as sometimes its just less hassle to build a custom system around an existing database than to write a whole API to facilitate proper communication between the systems.

I hope that this will at least help a bit when deciding what to use for which projects. I love developing things from scratch, but the truth is, sometimes its just not wort the time and effort that it will take. Take a day, do a feasibility study, for yourself, by yourself to decide what to use – it might save you days of work in the long run.

Programmers Vs. Daywalkers

Posted: 19th January 2012 by Mirdarthos in General
Tags: , , , ,

As with most good developers, I believe, I prefer working at night time, rather than the rat race we call daytime. This is something that the rest of humanity struggles to understand and accept without a fight, much less meet you on on your terms.

This causes a few challenges when the world forces us to interact with the daywalkers. They can’t understand why you would still be asleep anything after  10am, our why you have bloodshot hair and unkempt eyes at 9am when we stagger into a boardroom or office.

How to deal with this? I personally have found no perfect solution for this problem that does not involve me drowning my stories in some kind of toxic energy drink that only helps for half an hour or so.

If I could, I’d clone myself, so that the other one of me could spend its life in bed, keeping me alive and rested.I think that only then would I be able to be bright eyed and bushy tailed in the morning while still altering my creative juices to rule my obsession during the evenings.

Comments welcome.

Today I have decided to throw originality out the window, and repost quite an old article I came across again today. Originally Posted on http://www.devx.com this article revolves around Programmers and their little things

It has often been said that programmers are introverts. I find that this isn’t true, in the majority of cases, but programmers usually do have a longer attention span and a greater ability to concentrate than the majority of the population, and these two things can cause the appearance of introversion. A programmer’s ability to focus on a single task for long periods to the exclusion of all else has led some people to comment on similar behavior in autistics (Asperger’s Disorder), and to wonder whether most programmers are mildly autistic. I would be surprised if most programmers were autistic—our concentration is too easily broken.

Writing code is an act of creativity. It isn’t science and it isn’t engineering, although programmers are happy to apply science and engineering to the creative process, when possible. Therefore to be a programmer one has to be highly creative. This is one of the reasons programmers are happier working on new projects rather than maintenance projects. It isn’t just that they don’t want to get buried in the filth of the past (although that’s part of it); maintenance doesn’t offer them the opportunity to create.

When creative people work on making something new, they often enter a mental state where things just flow. This is a highly desirable state, both for the programmer herself and for the organization that profits by her labors.Professor Mihaly Csikszentmihalyi of Chicago University, formerly the chair of the psychology department, has studied hundreds of exceptional individuals, from IT entrepreneurs to Nobel Prize winners, researching creativity. He has written many books and papers on the subjects of flow and creativity.

Csikszentmihalyi says: “For original ideas to come about, you have to let them percolate under the level of consciousness, in a place where we have no way to make them obey our own desires or our own direction. So they find their way, [through] random combinations that are driven by forces we don’t know about. It’s through this recombination that something new may come up—not when we try to push them directly.”

Flow takes time to achieve, and it is fragile. If a programmer’s flow is interrupted it can take a large amount of time for her to regain the state, sometimes up to an hour. That’s an hour of lost productivity to your team. If a programmer is interrupted many times during the day she may never reach this state. Without this state, creativity is crippled.

Flow is fragile but, thankfully, it isn’t as fragile as it first seems. Flow can only be broken if an interruption requires a programmer to mentally change contexts. This means that you can tap a programmer on the shoulder and ask them what they’re doing, or even suggest a line of reasoning to them, and everything will be fine. But if you ask them where their timesheet is, you’ve broken it. I’ve heard this time and again from experienced pair-programmers, and they should know: Pair programming would be impossible if flow were any more fragile than it is. Flow is a context-dependent state in which you can mentally maneuver to perform different tasks, as long as they’re all within context. Drop out of the context, and it takes a while to restore it.

Making Flow … uh, Flow
So how can you maximize the power of this mystical flow for your development team? The formula is fairly simple: provide adequate insulation for flow to occur, both mentally and in terms of time, and be flexible to the vagaries of individual work preferences.

    1. Provide Adequate Mental Insulation
      When a programmer is assigned a creative task of any scope, they should be allowed to complete it without out-of-context interruptions. Ensure that any meetings to which you (or anyone else) invite the programmer are absolutely necessary. Don’t interleave any support tasks with development tasks. Do your best to arrange it so that the other people who work in the vicinity of a programmer are working on the same problem; if that isn’t possible, you should isolate the programmer in his or her own room.
    2. Provide Adequate Time to Recharge Creative Energy
      If you want your programmers to repeat the mistakes of the past, fine, just drive them like dogs and give them no time to relax. If you want them to create innovative solutions, then let them have a rest.
    3. Accommodate Reasonable Special Requests
      In his research, Csikszentmihalyi cites the case of a famous computer researcher who made a lot of discoveries in the computer field who said that all his best ideas came to him in the shower. He said that he believed his firm lost several million dollars during his employment because it did not install a $14,000 shower in his office. “When he moved to a new firm that had a shower,” wrote Csikszentmihalyi, “his ideas kept coming out.”I’m not proposing that you provide new showers for your programmers (not all of them, anyway), but you should stop treating them as pluggable units, each with similar capabilities. They’re individuals, different from the others in many ways, each with their own rhythms and preferences. Most of them will know what it takes for them to get into their flow—and that’s what you need to cultivate.If a programmer tells you that they need a 15-minute nap at 2 p.m. every day, then provide the facilities; it only takes a couch in the coffee room or the breakout area (you do have a breakout area, don’t you?).Or, how about this one: rather than provide identical chairs and desks for the whole team, why not give each programmer a budget with which they can buy their own chair and desk? You’ll lose the Martha Stewart look for your offices, but you’ll gain an environment in which your programmers feel comfortable, which will inspire their creativity.

I know what you’ll argue: Think of the expense! If that was the first thought in your head, then you’ve missed the whole point of this column. Start again at the top, and pay attention this time.

When you hire graphic designers to create the eye-candy on your Web site you probably give them the proper tools, environment, and flexibility to encourage creativity. You tolerate their character whims and buy them strange transparent computers. If you aren’t thinking about the needs of your programmers in the same light, then you probably aren’t getting nearly as much of your programmers as you could be.

Our job is to enhance people’s talents, and hire enough diversity to cover the flaws. You should be trying to bring out the best in all the people you manage or collaborate with—if you can’t bring out the best in people then how can you bring out the best in your projects?

I don’t give a fig if this costs you more money; the potential benefits are huge. If you continue to view the world as a risk/value proposition then you’ll continue to produce mediocre results. Your software is produced by humans; learning something about their psychology is a good idea.

Auto Login & Lock Windows 7 on Startup

Posted: 6th January 2012 by Mirdarthos in PHP

If you’re like me, then you probably have your Computer set up just they way it’s comfortable for you. You have a few applications that start when you log in, you have your shortcuts conveniently handy for easy reach, and you have your background set to something you can stare at, especially while thinking.

To me all the above are important for a ‘Pleasurable Computing Experience’. I do have a few apps that start when I log into my system. This can take some time, and me being the paranoid developer that I am, I don’t like to have anything automatically log in. This is just silly, especially in a less private environment, like work.

I came across a little application called Auto Login & Lock on the addictivetips website. The application automatically logs you into your Windows machine on start-up, but immediately afterwards locks it again (Like you would do by Pressing Winkey+L). The result of this is that the applications you load on start up, is being loaded in the background. Now you can just switch on your computer, walk away and when you come back with your Cup Of Joe your apps will be loaded and everything will be ready for you to use.

Auto Login & Lock works on both 64bit and 32bit versions of Windows 7. Installation is quite easy and consist of a few easy steps.

Download Auto Login & Lock.

View the original addictivetips article on Auto Login & Lock

So, I’ve started today doing development on a system that has to be optimized for iPad users. This is quite a fun project and it’s awesome to take my mind off the usual buzz from normal websites.

The thing I’ve been struggling with is actually testing the site on the iPad as I don’t own one myself as I’m not an iFreak. I do, however, absolutely adore and love my Galaxy Tab.

Although the iPad and the Galaxy Tab renders the pages the same, I did not really want to take any chances with this, as it needs to be perfect and because I am not in the mood to fork out a couple of grand for an iPad I decided to burden Google with my dilemma.

As I always say, if you do not know the answer to a question you probably haven’t asked Google yet. This was true in this case as well. Google presented me with a website called iPad Peek. iPad Peek is specifically for testing websites on iPads.

iPadPeek iPad Browser

iPadPeek iPad Browser

The browser is fully functional and I can even browse the test site on my local network. This by itself was impressive to me. You can switch the ‘iPad’ between portrait and landscape as well, just click on the top Pane of the ‘iPad’. The onscreen keyboard does not work, neither do any of the other buttons on the browser. The refresh does work, and you can obviously enter a website address to browse.

I do think this is an awesome tool for any Web Developer, and will also aid in cross-browser compatibility testing.

IE Tester & Warning Label

Posted: 22nd December 2011 by Mirdarthos in HTML, PHP
Tags: ,

As we all know, Internet explorer is kind of useless and just about nothing works in IE 6 and downwards, but people never seem to give enough to upgrade. So I have this little script:

First, put this as your first item inside your <body> tag:

<code>

	<div id="is_ie">
		This website might not work with Internet Explorer 6 or Older.<br />
		Please Update Your Internet Explorer,<br />
		or download one of the following browsers.<br /> <br />

		<a href="http://www.mozilla.com/en-US/firefox/upgrade.html?from=getfirefox" target="_blank">
                Mozilla Firefox</a> |
                <a href="http://www.opera.com/download/get.pl?id=32022&thanks=true&sub=true" target="_blank">
                Opera
                </a> |
                <a href="http://www.google.com/chrome/eula.html" target="_blank">
                Google Chrome</a>
                 |
                <a href="http://www.apple.com/safari/download/" target="_blank">Safari</a>
	</div>

</code>

 

Selling Vouchers in Virtuemart

Posted: 19th October 2011 by barries in Joomla, Virtuemart
Tags: , , ,

To sell one product – that generates a unique pin for example for airtime or some kind of vouchers our friends at Code Plainly has developed a plugin for virtuemart that we can install and use:

http://www.plainlycode.com/

For virtuemart 1.1 and up you should use:

Pin Codes 1.1.0 Beta 1

All you have to do is upload a few files – create a few tables and your ready to go.

Benefits:

  • Easy Installation
  • Vouchers can be uploaded by CSV
  • Vouchers an be entered and deleted manually
  • Each voucher that is sold is linked to the appropriate order.

Well done plainlycode!

http://www.plainlycode.com/