![]() |
| http://gaiussensei-photos.blogspot.com/ |
UPDATE: Ok, got tired of tweaking BlogSpot. This platform is NOT for photobloggers, so I'm moving to a better on: DeviantArt. See you guys there~
匕モ丹匚卄工れム ㄗ尺口ム尺丹爪爪工れム, ㄗ尺口ム尺丹爪爪工れム 匕モ丹匚卄工れム
![]() |
| http://gaiussensei-photos.blogspot.com/ |
If CDbl(Record.ID) >= 100000 Then Report.Add(Record)Zoo.Add(New Dog)However, all animals eat alike. Instead of copy-pasting the eat method on each animal, lets just have them inherit the Base Class clsCarnivore, which automatically gives them the method ‘EatMeat’. Of course, if an animal only eats certain kinds of meat, we can overload the method, but if not, no extra code is needed.
Zoo.Add(New Cat)
For Each Animal as IAnimal in Zoo
Animal.Talk()
End For
// Output:
// ”Woof Woof”
// ”Meow Meow”
"Owe no one anything, except to love one another..." ~ Romans 13:8Dr. Dan Lachica's talk about debt was very inspiring, and although I'm not in debt (except maybe from my parents) I still learned a lot from it. However, what really striked me was his short segue into how cheating somehow affects what happens to you in the future. Dr. Lachica's example was that, if he holds a scalding hot bottle of water, his hand will blister right away- therefore, he immidiately knows that the cause of the blisters is the hot bottle of water. However, if he holds the hot bottle now, and gets blisters after a few days, it would be harder to connect those two events.
"As long as the earth endures, seedtime and harvest, cold and heat, summer and winter, day and night will never cease." ~ Genesis 8:22
The N-Tier pattern, when used in software development, is one step above my usual topic of design patterns. They are commonly called architectural patterns which are concerned with the software at a macro level (eg. ‘the big picture’).
Some time ago, I was tasked before of maintaining a line-of-business sales system from a fairly large company.Their technical design spec was quite clear that the “…architecture is divided into three (3) main layers…” which, in theory, should make my job easier. As I browsed through the code though, one thing became apparent: It was not a 3-Tier Arch like the docs said, but a more traditional server-client setup~ Now, what is the difference exactly?
A Server-Client architecture (which is, technically, a 2-Tier Arch) is concerned primarily with the centralization of data and sometimes the balancing of process load to either the server or the client. The data and the business rules (stored procs) are stored at the server, with a thin client app to present the results (forms, grids & reports)- which is exactly how the LoB app above works.
S+C’s Advantages over 3-Tier Arch
Three-tier applications on the other hand, is focused on the separation of responsibility to facilitate control and change. The Data Access Layer is usually separated physically such as a Database Server, but is mostly kept “dumb” except for very few performance functions. The Business Logic Layer on the other hand is a more robust collection of libraries and maybe a few dynamic scripts that enforces the rules of the application. This ranges from who can access which data, data validation, up to caching, etc. Lastly, the topmost Presentation Layer is the combination of UI Rendering (Windows Forms, ASP.Net, WPF, etc.) and UI Logic (Parallel processes, Sessions, States, anything that is not business-related logic).
3-Tier’s Advantages over S+C Arch:
We have to consider both sets of factors above in order to decide which architecture to use when designing our software~
At exactly 8:00am GMT+8 tomorrow (10619), I’ll officially be an employee of Ayala Motors under their Honda/Isuzu team :D It’s nice to have a permanent job instead of just jumping around with freelance and open-source development stuff~
Fun Facts: I was without a permanent job for approximately…
Of course I will still try to contribute to the Open Community, but in the meantime (at least while I’m still on probationary status) I will probably limit my posts here. I still have a lot to talk about, in fact: I have a post about the Difference between CS and the IT courses and another post about Careers and How to Make/Break one. I will post both of them ASAP, but I guess its sayonara for now~ See ya :P
Limit of the thousand hands
Respectful hand, unable to touch the darkness
Shooting hand, unable to reflect the blue sky
The road that basks in light
The wind that ignites the embers
Time that gathers when both are together
There is no need to be hesitant, Obey my order
Light bullet -
Eight bodies -
Nine items -
Book of heavens -
Diseased treasure -
Great wheel -
Grey fortress tower
Aim far away,
Scatter brightly and cleanly when fired
Thousand Hands Bright Sky Cannon
~Urahara Kisuke, Bleach 402
Motivation is the fuel for your creative engine, so that you can reach your goals. Intelligence and creativity matters little if you are not motivated enough to use these gifts. Actually, some people argue that motivation is the root of being smart or creative.
However, not all motivation are the same. Being a Computer Science or Information Technology student, the rewards matter a lot. In fact, as the video below demonstrates, carrots and sticks (the traditional “more work == more reward” paradigm) have the opposite effect on tasks that require the algorithmic approach.
According to studies performed by world-class economists from M.I.T. & Carnegie Mellon: For simple, straight-forward tasks, the traditional “do this == get this” paradigm offers enough motivation. But for more complicated tasks that requires conceptual or creative thinking (eg. programming or information analysis), the traditional motivators does NOT work.
If this is true, then what drives us? Autonomy & Mastery
Autonomy is the desire to be self-directed. This is why programmers tend to clash with the management the most- because we are innovators, risk-takers, explorers, and most importantly: Scientists. We boldly go where no man has gone before.
Mastery is the urge to get better at stuff. The best musicians in the world play music for fun. Not for cash, not for fame. Just because its fun. Programming is the same- we want to be better programmers because we enjoy programming, and being better at it is immensely satisfying.
Look at Google’s Innovation Time Off: Engineers are encouraged to spend one day of their week to work on projects that interest them. The engineers decide (autonomy) to work on interesting projects (mastery). And from this model, a lot world class services emerged: GMail, Google News, Orkut, even Google’s primary revenue source: AdSense. Now THAT is how you motivate programmers.
Sometimes, we need to take a break. Enough programming, enough study, and just relax. But that doesn’t mean we can’t learn anything while relaxing :D StarCraft II: Wings of Liberty is a military science fiction real-time strategy video game currently under development by Blizzard Entertainment as a sequel to the award-winning 1998 video game StarCraft.
I am, and always have been, a Zerg player (“sspawn more overlordss”), and today’s little video will teach you some of the basics on playing starcraft 2, specifically a tactical play known as “Seven Pool” as well as some of the terms used in-game.
Btw, turn on the annotations ^^ So, a bit of a primer about the terms used in SC2:
Ok, to recap, Zerg 7 Pool goes like this:
I didn’t really follow the optimal build for 7 pool, and my micro needs more work. But you get the general idea~! :P This works great vs Terran or Protoss, but not against zerg since there’s normally an early Queen (on most builds) which can delay your lings enough for them to recover.
So, I guess that’s it~ I’m planning to create a new blog where we’ll post our ramblings w/ Starcraft 2, and yes, I said we. Guess who’s with me on this one? ^^ Until then, sayonara~
I totally agree with Jeff Jarvis’ points in the above video. Education today is a 19th century system struggling to cope in a 21st century world- it’s like using a steam engine to commute to work today. It has become apparent to me, that in Letran’s walls, teachers “stamp out students all the same way with only one right answer each… And so, that assumes that all the knowledge flows from the [lecturer], if you don’t feed it back, you’re wrong- you fail.” Its a system that kills the students drive to explore, to argue.
Inside the classrooms, discussions are always one sided- why would Letranites ask questions? Why would they argue? Not only is there zero incentive to do so, but I think arguing with the professor has been indirectly forbidden. How? Peer pressure can be a problem, or a teacher might have embarrassed someone asking a stupid question. Maybe the curriculum does not stimulate a students brain enough for them to ask any questions. In my opinion, more interaction is needed- we are training computer scientists here, and like the scientists of other fields they need to discuss and argue and experiment in order to challenge the norms and discover new things, eg. non-routine problem solving.
If you can compare side by side the curriculum of Letran (or even the other Universities in the Philippines) and MIT’s OpenCourseWare, Academic Earth, or even Youtube EDU, you’ll begin to see another problem. On all of the courses offered, their online equivalents are almost always better. Its more interactive, up to date and free. You can learn more online in a weeks worth of videos, than spending four years in a Philippine university.
As Jeff above said, the good stuff are already out there. We have to stop this culture, of standardized testing and standardized teaching.
PS. More good points from the video: Quizzes and Exams @8:46, Google did not spring from the lectern @10:45, We have to stop this culture… @12:30