Jan/080
Learning Marketing : Chapter Four
Alright, first month of Dawn Bringer 3D blog is over and it is time to sum up some statistics!
- Unique Visitors : 1458
- Number of visits : 2206
- Pages : 9237
- Hits : 35018
So as far as I’m corcerned I succeeded on marketing my blog for the first month, my goal was to reach 500 unique visitors, but instead I tripled it. I was very careful where to do marketing, e.g. this blog is mostly for programmers so I tried to keep that in mind.
For next month I’m going to go for 3000 unique visitors, let’s see how that will go.
Jan/080
Why Iterations Are Good
Clinton Keith posted this nice story to his blog :
-
A ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of the work they produced. All those on the right would be graded solely on their works’ quality.
His procedure was simple: On the final day of class he would bring in his bathroom scales and weigh the work of the quantity group; 50 pound of pots rated an A, 40 pounds a B, and so on. Those being graded on quality, however, needed to produce only one pot — albeit a perfect one — to get an A.
At grading time, the works with the highest quality were all produced by the group being graded for quantity.
It seems that while the quantity group was busily churning out piles of work — and learning from their mistakes — the quality group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of clay.
-
Original.
Jan/080
Line Endings
Yesterday when I was coding my 2D graphics engine’s sprite scripting system I came a cross with a problem with line endings.
Jan/080
First Experience Then Money
Juuso Hietalahti wrote in his blog about 7 Most Important Decisions You Need To Do For You Career.
I agree with Juuso in many of those. One of the things is that you should not follow either money or passion. If you always go for passion 100% you will probably miss the opportunities to get money.
Now when I’m a bit older and 11 years of programming experience I can say that I used passion 100% for the first almost 10 years. Yep, I didn’t get any money. But instead I gained a great deal of experience and a good portfolio. Now when I have that experience and that portfolio I can ask money, and trust me, it has paid back every cent.
I’m only 20 years old and if you look at my portfolio I’m pretty sure that there aren’t many as young as me who has that kind of experience. Gaining experience takes time and if you always ask for money you’ll loose changes to gain experience and that makes a difference. Of course it requires hard work, but it can be done. I’m also a father and I’m still able keep up my skills, do hobby projects, have good time with my family, relax, etc. It just needs discipline and hard work. I work 18 hours a day, passion keeps me going.
Jan/080
Productize Your Build Flow
What if you could type build and run and your project would build and run without any other tricks? Sounds great, but this isn’t always the case.
Jan/080
Books To Read
Well, as I mentioned a book I may as well give a list of books to get :
Code Complete: A Practical Handbook of Software Construction
The Pragmatic Programmer: From Journeyman to Master
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
All of these books are timeless and about programming in general – it means you should read them whet-ever you were a C or Python programmer.
Jan/084
The Best Programming Book
I have read hundreds of books about programming and software development in general. One of these books raises above all others, it’s software developers bible.
You should read this book if you really want to work as a software developer / programmer.
Just get it and learn :
Jan/086
Creating Usable Software
Problem I usually come across is that software is not usable. I would buy more cool software if it would be usable, but most isn’t.
What do I consider as usable software? Let’s take an example of not usable and usable software.
Not Usable
I found this really cool 3D engine but I can’t use it as it doesn’t have any content path – a way to create content to it through some other software like max, maya, etc. How the hell I’m suppose to use it if there is no easy way to create content for it?
Usable
I found this really cool 3D engine that has full content path for max, maya, etc.
Also it support custom displays for all of these which enables me to work on just with my model editor as long as I need to get the model done for my game. Custom display enables me to see the result running on the engine at max, maya…
Conclusion
So, usable software is something that is Easy To Use, e.g. content creation, etc.
Software usability is something that I have been thinking a lot lately as I’m currently writing 2D graphics engine and I want it to be very easy-to-use, which means having some kind of content creation tools. I’ll write about it at some point more, when I have something cool to show.
If you don’t want to kill your software make it usable.
Jan/080
Cleaner Way To Write Functions
Writing clean and understandable code is always important. When using functions you can easily mess things up as you will probably write all the parameters in one row.
Jan/080
Engineer Team Discipline
The problem with programming teams in general is that they miss discipline. If you have more than one programmer it is a team then it needs rules and somebody too look after that those rules aren’t broken by anybody!
If there would not be anyone looking after them they would go ’solo’ and that causes some serious problems. Engineer team needs rules, to name a few important ones :
- Coding Practices
- Rules for using perforce or other programs like it.
- Development Practices
- General Agile, test driven development, …
- Scrum, daily meetings, …
- Extreme Programming, pair programming…
Well organized teams can be very effective when again teams that aren’t taken care of can kill the performance. I have seen this happening couple of times. First of all to start repairing the damages you need a chief engineer who is responsible for looking after other engineers. Chief engineer needs to be somebody who has the balls to say when things aren’t going right and do something about it. But, he or she should also be diplomatic to not cause any unnecessary problems.
After you have appointed the chief engineer it is time for him / her to act and start applying the rules one by one with the team. Notice that chief engineer is still part of the team – if the project fails, the team fails.