Translator
English flagItalian flagKorean flagChinese (Simplified) flagChinese (Traditional) flagPortuguese flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flagTurkish flagHungarian flag
Categories
Archives
Navigation

Archive for the ‘Programming’ Category

Trimming down the features to get to the program.
When I get a game or software idea I often find myself adding more and more features to the idea before I even start to code it.  I often add so many features that I feel pursing my idea might be futile since I have so many planned features.
An obvious solution would be to cut back on the number of features I have for an idea.  For some reason taking features away (even ones that I thought of after my original idea) makes my idea seem less “fun” or even do-able.
I’m realizing this as I try to decide on a game idea for a facebook application.  For my sake I’m trying to rethink my game ideas and start creating a simple game with minimal features so I can finally turn my ideas into something real.
Giving myself a large budget of $25 I plan to create a semi-commercial quality Slot Machine facebook app.  I have a lot of features I would like to add but I want to start with a list of the minimal features needed to get a beta version out.
List of basic features for my slots game
- Very Basic Slot GUI
- 3 Rotating Slots
- Winning Algorithm
- Betting System
- Tokens
- Donation Button
I’m eager to add a lot more features and even raise the level of quality for some of the current features (like the GUI) but I need to focus on getting a working beta out so I can begin testing.  With that in mind I feel my list of minimum game requirements is a solid one that I can reach soon.
When setting goals for any software project I think its important that you can reach your goals within a reasonable amount of time.  Setting very broad and open goals (or in this case planning major and large features) might not help get the project done any sooner than setting goals that are small and can be reached in the short term.
I’m not saying that you shouldn’t have long term goals… just trying to say you shouldn’t code with only long term goals.  For someone like myself that loves to go wild with ideas it can sometimes be hard to keep the scope of my goals in mind.

When I get a game or software idea I often find myself adding more and more features to the idea before I even start to code it.  I often add so many features that I feel pursing my idea might be futile since I have so many planned features.

An obvious solution would be to cut back on the number of features I have for an idea.  For some reason taking features away (even ones that I thought of after my original idea) makes my idea seem less “fun” or even do-able.

I’m realizing this as I try to decide on a game idea for a facebook application.  For my sake I’m trying to rethink my game ideas and start creating a simple game with minimal features so I can finally turn my ideas into something real.

Giving myself a large budget of $25 I plan to create a semi-commercial quality Slot Machine facebook app.  I have a lot of features I would like to add but I want to start with a list of the minimal features needed to get a beta version out.

List of basic features for my slots game

- Very Basic Slot GUI

- 3 Rotating Slots

- Winning Algorithm

- Betting System

- Tokens

- Donation Button

I’m eager to add a lot more features and even raise the level of quality for some of the current features (like the GUI) but I need to focus on getting a working beta out so I can begin testing.  With that in mind I feel my list of minimum game requirements is a solid one that I can reach soon.

When setting goals for any software project I think its important that you can reach your goals within a reasonable amount of time.  Setting very broad and open goals (or in this case planning major and large features) might not help get the project done any sooner than setting goals that are small and can be reached in the short term.

I’m not saying that you shouldn’t have long term goals… just trying to say you shouldn’t code with only long term goals in mind.  For someone like myself that loves to go wild with features it can sometimes be hard to keep the scope of my goals in mind.

Well 2010 is just around the corner and in true tradition I have made a few programming related new years resolutions/goals for myself.  My main goal will be to launch my first commercial product (I will have more details about that later) followed by expanding my computer science knowledge and attending college in the fall.

I’m curious to see what other programmer’s goals for 2010 might be so leave a comment below detailing your 2010 programming goals!

As you might have known from my last post I got a little C pocket reference book.  Though there are not any real examples/tutorials it does provide  short descriptions for the basic principles, so I plan to tinker with it.  The lowest level language I know is Java which isn’t very low.  After a quick google search I found a few comparisons/speed tests for C vs X language.  In most cases it was over 2x faster than dynamically typed langauges.  With that kind of speed boost you could preform long operations faster.

Now my mind set is still fairly abstract when I try to learn about lower-level concepts.  I’m curious to know when it is a good idea to program something in C compared to a higher level language (like Python).  What all tasks are usually handled by C over say Python?  Off the top of my head I assume any long math operations or generators would be best written in C but what others things would you take the time to write in C over Python assuming you want to still have a fairly speedy development time?

Over the past few weeks I have been doing some little freelance jobs and one of the things that surprises me is how unpredictable a job can be.  Due to my low reputation on freelancing sites I have only been able to come up with small jobs.  Mostly editing poorly coded PHP scripts and PSD to HTML/CSS.

I never expected to get paid well but I didn’t want to get paid dirt.  So far I’ve done around 5 small jobs and only one of them paid well.  The others have all paid little for the amount of work involved.

In cases where you have no work and you need to accept lower paying jobs… do you work just as hard on them as you would a higher revenue project?  I’m finding it harder and harder to put forth top-notch work for little reward.  Part of my problem is simply accepting lower paying jobs but that’s for another post (low paying gigs).  Don’t get me wrong I still do above average work but at what point do I balance quality with pay?  I try hard on my projects in hopes for return work but I have gotten none yet.

A good example of some of the hassle I’ve put up with would be a ’simple’ job last week.  I was contacted to edit a dating script that was made in PHP,  I open the files and I was about to cry.  The code was just so messy and made no sense (no comments and the naming conventions did not help).  After what was literally hours of swimming through code I found and made the changes requested.  Two out of about the ten changes requests could not be done (well within reasonable limits).  It would require me to make a full fledged app for him which was never agreed upon (from the way the guy described his changes it was as if he already had the app).  I explained to him that I could not create him a full app for his price and he seemed to understand.  I then made some revisions to the changes I made since he changed his mind and then I was nice enough to cut out half the price.  Which I should add that the price for the job was only $20.  I accepted the job becuase from what I was told this script would be easy to edit.  I required him to pay half upfront ($10)  and after I made the 3rd round of revisions for him (he changed his mind again) I told him that I could not do any more changes for him for free since the changes being made are due in part to him changing his mind (not my code or finished product).  He got pretty upset and began yelling at me.  I remained professional and was nice to him the entire time he was venting.  I was waiting for him to calm down so I could explain to him that I have actually put in over 7 hours of work for only $10 and even made him a free banner.  I was also going to offer him a refund since there was no pleasing him but he signed off.  Well needless to say I now have a paypal claim for $10…  I’m actually going to fight it and try to keep him from getting the $10 refund since my work was more than justified.

So getting back on topic, freelancing seems to be a viable way for me to make a few extra bucks for now but I’m just wondering how much work I should put into small jobs like script changes or single web pages.  If the price is below what I’m asking (which is way below what I want) should I still put in 100% effort or is it justified to just do an average job?  I myself would love to do work on a professional project with a decent timeline but that isn’t happening right now so I’m faced with people that think $10 is enough to code the next facebook.

My whole ‘theory’ to this is a bit simple right now… if the client feels that $10 is enough for a job then I will provide him with only $30 worth of work at which point I wont try hard any more.  So say I get a PSD to HTML/CSS project for only $15… instead of trying to optimize the template for faster loading I will just skimp on most parts (though the finished project will look the same).  Since it seems like most clients don’t understand/appreciate the extra work anyway at the low-end of the market.

What are your thoughts on the whole thing?   Leave them in the comment section below.

Programming books seem to hold little value after a few years on the market.  There are some exceptions to this like ‘C Programming Language‘ which I just seen on Barnes & Noble shelves for over $50.  Obviously programming -not computer science- books aren’t like your grandmothers romance novels that hold the same value 20 years later.  A programming book can basically be judged by the version of the language it teaches which brings the question to play – What do you do with ‘obsolete’ books?

Well one solution I assume is to send them to outlet stores.  For what ever reason I stopped into an outlet store (I might go to 2 times a year) and when I walk in I see stacks of programming books.  After a bit of sifting I found some gems that were unbelievably cheap.  The books are new and some have a little damage but nothing major.

I happen to snatch up the books below all for under $50.

(Pictures of programming books)

From a request by one of my readers I’m starting a post to find out what everyone’s workspace looks like.  I happen to have a recent picture of my workspace which is now clean (unlike the photo).  So whats yours look like?  Leave a response in the comment section below.

My Computer Workspace

(As always subscribe to my blog for updates!)

Opera Software today unveiled the final version of Opera 10. In a world of ordinary Web browsers, Opera 10 stands out from the crowd with innovative new features wrapped in an elegant, fresh interface. Opera 10 is absolutely free, comes in 43 languages, and works on Windows, Mac and Linux platforms. You can download the browser from http://www.opera.com/.

“At Opera, we have always worked hard to innovate new ways to improve everyone’s browsing experience. Opera Turbo is our newest innovation, and one we think everyone should try, because we all will face a slow connection at some point. Now, there is a solution, and it is absolutely free. We are excited to offer Opera 10 to the world, and we hope even more people discover what the 40 million people who have already made the switch know: browsing with Opera makes the Web a safer, more enjoyable and more interesting place.” – Jon von Tetzchner, CEO, Opera

There are three major things to check out in Opera 10:

1. Opera Turbo, a new compression technology that solves the pain of slow connections. If your network speed slows to a crawl, enable Opera Turbo to browse the Web at broadband-like speeds. Opera Turbo will automatically detect when network speeds will enable you to benefit. Once you turn it on, Opera Turbo instantly compresses pages, so less data needs to be transferred over a limited connection. In laboratory trials, Opera Turbo gives up to eight times faster Web surfing over slow connections than other browsers.

VIDEO — Scandinavians have an obsession for compression. Watch a slightly different take on the Opera Turbo technology: Here (Youtube)

2. A sleek new interface that you have never seen on an Opera browser.

3. Better tabs, from the original pioneer Opera continues pioneering new ways to use tabs. In Opera 10, resize your tab bar by pulling down on it or double-clicking the handle, revealing a surprise: Opera now shows you full thumbnails of all your open tabs.

Tip: Opera 10’s Visual Tabs are placed at the top, but you can put them on either sides or the bottom.

[If you like this blog post then I encourage you to subscribe to my blog for new post updates!]

-Video of the new features in Opera 10-

Opera 10 includes other refinements to help get more from your Web-browsing experience:
· Super-sized Speed Dial

Opera’s Speed Dial has been emulated all over the Web. Now the original is ready for your personal touch.
· Automatic updates

Opera 10 updates automatically so now you always take advantage of the newest features Opera has to offer.
· Chekk ur speling

Misspell no more. Enter text into any form field or into the e-mail client, and Opera will check the spelling in the browser (just like Firefox and Google Chrome). The Spell Checker supports 51 languages, using the popular open source Hunspell dictionary format.
· The craftsmanship under the hood

Browsing speed is a combination of many factors. Opera fine-tuned the overall speed, making Opera faster and smoother on resource-intensive pages such as Gmail. Opera 10 is 40% faster in page loading than Opera 9.6 … and that is before you activate Opera Turbo. Opera is designed not only to be light and fast, but also smart. The adaptive memory management is optimized to work with your machine, conserving memory if your computer has less RAM and utilizing more memory to enhance performance if your computer has memory to spare.
· Toys for Web developers

Web developers can play with the newest update to Opera Dragonfly, the set of on-board, Web development tools. Opera Dragonfly is available in 36 languages and now allows you to edit the DOM and inspect HTTP headers. With a 100% score on the ACID3 standards compliance test, and support for CSS3 Webfonts.

Opera 10 comes in 43 languages for Windows, Mac and Linux computers. It is available completely free from http://www.opera.com/.

This is just a rough draft of what I will be posting on DZone later and as always if you enjoyed this post I recommend you subscribe to my blog for new posts.

I thought it would be nice to start a list of tips for new programmers.  I will start off with saying that my personal tip to someone that is new to programming is to start low-level and small.  I feel that most people including myself that have started programming just this century have a lack of knowledge for low-level concepts.  Dynamic langauges are great but they don’t teach the core concepts of whats going on under the hood.  Of course you can learn how to program from learning say Ruby but I think you can learn more then just programming from learning C or even C++.  My tip is obviously very opinionated and the thing is I don’t even know C or C++ but I’m starting to learn Assembly (or maybe C) simply for the fact that it will help me understand the low-level concepts.  A good example of this is looking back at my programming ‘history’.  The first language I really used was PHP which I got so used to the ‘hackish’ style of it and learned the syntax of PHP not the concepts of programming that it hurt me in the end.  I’m glad I took the step to learning Java which opened my eyes to the fact I know almost nothing when it comes to theory.  So when you start it might be ok to play with QBasic or Python but just make sure you take the time to learn a low-level language or even just study the theory behind it becuase it helps you understand programming beyond just memorizing the libraries.

Do you have any tips? You can leave them in the comment section below.

Looking back on some of my old posts I see that many of my first posts seemed to attract a lot of attention and stir up some conversation.  One of my most popular post was “What was your first programming book?“.  The post has now had over 40 comments and I thought it would be fun to make a new post about everyone’s favorite programming book.

I’m still new to programming and even though I have acquired a few more books since my first post I haven’t finished any of them (just get so boring).  The most useful material was been the Stanford programming methodology series but that’s in video form.  As for book form I would have to say that my ASP book has been the most enjoyable.  I’m sure by time I’m out of college I will have a real favorite book.  I do plan to pick up some methodology type book before I head into college.

So the question is: What is your favorite programming book?

You can leave your response in the comment section below and if you like these opinion type posts I recommend you subscribe to my blog becuase I’m going to start posting them more.

Something I find dictating all my recent programming project ideas is money.  To give you a little background on my ‘issue’ I will start with the simple fact that I’m trying to make something serious before I start college in the spring.  When thinking about any idea I have had over the past few weeks I quickly find a reason to not pursue the idea.  To give a good example my desire to create a profitable game.  After some thought on my situation I figured that in general a multiplayer flash game would give me the highest chance to make serious money.  Now as I’m finding now multiplayer flash games are no walk in the park and for the most part I will need some starting capital.  Thinking realistically (in other words be able to get a beta out before spring) I came up with the following ideas.

* Simple action multiplayer game using the nonoba API (Cost $0, quickest development time, low profit)
* A ‘virtual tabletop’ to allow for pen and paper gameplay online(Cost $750+,slightly longer development time then first, medium profit)
* A virtual world targeted at children(Cost $3500, very long development time, VERY high profit)

The flaw in the first option is the lack of control I have over the environment and potential revenue is low (be lucky to get minimum wage from it).  The second option seems like a viable way to make a decent income but the fact is that there are a few similar -polished- products and it doesn’t appeal to a wide audience.  Finally the third option is really nice from a business standpoint for me becuase of the potential for continuous returns but the sheer development time is scary.  I think it would be possible to get a beta out by spring but I would have to really hammer it out.

So what seems so wrong?  Well I don’t feel any passion from any of these games from a ‘fun’ standpoint.  From a business/money standpoint these all seem OK.  I fear that my money driven thoughts will just end to a failed project since I’m not really feeling any of them.  I should also note that money does play part in some of the ‘fun’ I have during development.  For instance if I’m making a game that I like but the chance at making a profit is very low I then don’t enjoy the development.  It’s kind of weird but I’m just wondering if fellow programmers have ever felt the same way or are you always on one side of the extreme (money or pure enjoyment)?

If you liked my blog post then I encourage you to subscribe to my blog!

Search
March 2010
S M T W T F S
« Feb    
 123456
78910111213
14151617181920
21222324252627
28293031  
Top Commentators
  1. Justin Justin (8)
  2. Matthew Blackmon Matthew Blackmon (5)
  3. Michael Wales Michael Wales (4)
  4. Ben Norman Ben Norman (2)
  5. Chris Chris (2)
Tags