One of the things I really like in Japan is its Solar-powered, Multi-band, Atomic Timekeeping watches. Thank You Akihabara, I already conquered one of my emotional attachments. ^_^ (at カシオ計算機 株式会社 (CASIO COMPUTER CO., LTD.))
[video]
Can plants grow leaves up, roots down … in space?
Some new space science is helping to answer that. A plant experiment recently done on the International Space Station showed that plants do not need gravity in order to grow normal root patterns and send their leaves up toward the light. They grow more slowly, but as long as they have a light source above them, they are able to orient their direction of growth just fine (contrary to previous research).
We’ve all seen a houseplant grow toward the light, right? This is a phenomenon called positive phototropism. The microgravity experiment showed that when a plant senses light, it not only grows toward it but sends its roots the other way. The root effect is called negative phototropism, and it seems to be enough to get a normal looking plant in space.
Of course it’s not that simple, right? Nope. On Earth, it turns out that gravity does help, and plant roots have these dense little “molecular weights” that are pulled down by gravity and help a new seed orient the roots downward. They’re really cool. So it looks like, for now, that Earth plants use a combination of gravity and light to orient upleaves from downroots, and space plants can do almost as gooda job with light alone.
Bring on the space gardens! Whole Foods Lunar Base by 2020!! Would that count as organic?
(if you want to dig deep into the space plant biology, here’s the original paper)
(via contemplatingmadness)
This exposition is dedicated to my FEP Team.
For we are always the one adjusting to the clients call, and relying heavily in the vendors knowledge. By realization, we become more focus on our tasks, and by contemplation we become more knowledgeable.
Contemplation leads me to this path.
Let me list down the following premises, which were gathered from my pasts lessons in Computer Systems Architecture with Assembly Language and Operating System Principles, with reference to our basic text before, Computer Organization and Design, Hardware and Software Interface, let me abbreviate it by CODHSI, by David Patterson and John Hennessy.
Let me start with the Hardware.
Computer Science and Computer Engineering majors, I believe, do know that in Computability Theory, there is a hypothesis known as the Church-Turing Thesis, after Alan Turing and Alonzo Church, which states the equivalence between the mathematical concepts of algorithm or computation and Turing-Machine. It asserts that,
if some calculation is effectively carried out by an algorithm, then there exists a Turing machines which will compute that calculation.5
So what is the implication of this? The answer is just simple. We learned that, all computers are capable of computing exactly the same things. That any type of computer (netbook, desktop computer, automaton, and the likes) with a minimum capability, is in principle, capable of performing the same tasks that any other computer (like supercomputer, clusters) can perform, irrespective of speed, size, or cost.
Another one. Recall the basic statement of professor Andrew Tanenbaum between Hardware and Software?
Hardware and software are logically equivalent. Any operation performed by software can also be built directly into the hardware and any instruction executed by the hardware can also be simulated in software.
I believe, that the meaning of the statement is explicit already. He also added that The decision to put certain features in hardware and others in software is based on such factors as cost, speed, reliability and frequency of change. Now, more or less, I can stand firmly on my beliefs before that machine upgrade is not the solution to the memory issue. One more thing related to this. When professor Tanenbaum said, “Today’s software is tomorrow’s hardware, and vice
versa.” What have you observe on our mobile phones before? what about today? Have you carefully observed and asked yourself why is the keypad already replaced by capacitive sensing technology (e.g. iPhones), or resistive sensing (e.g. LG Optimus) controlled by softwares on smart phones? Because, as John Baguley of VMware said, “everything that’s currently being done in hardware will eventually be done in software”. And what about Apple?
We will take as our working example the conversion of 16 bit integers to floating point values. On PowerPC, there is no direct conversion for ints to floats in hardware. Everything is done in software. (developer.apple.com)
Enough for Hardware part.
Towards a Software-controlled Everything.
It is in the arrangement and structuring of data - Data Structure and Algorithm Analysis
Do you remember the reasons why we do have Data Structure and Algorithm Analysis, Structure of Programming Languages, and Operating Systems? Because these subjects discusses the importance of careful planning and structuring the data to be process by the computer.
Analysis of Algorithms, is
the determination of the number of resources (such as time and storage) necessary to execute them… [It] provides theoretical estimates for the resources needed by any algorithm which solves a given computational problem. These estimates provide an insight into reasonable directions of search for efficient algorithms.
An algorithm is a a step-by-step procedure, finite sequence of instructions, each of which has a clear meaning and can be performed with a finite amount of effort in a finite length of time. Analysing this simple definition, and applying its meaning to FEP, we are already in chaos in terms of determining the amount of effort (i.e. structuring the program modules), and in terms of determining special business processes like what if the line disconnected between modules, or what if a specific module is not yet finish processing the request, et cetera.
Improper use of an inefficient algorithm in a project will have a big impact in the system’s performance. FEP is a time-critical and sensitive application. Time-critical because a request must be process as soon as possible, and sensitive since the request and response messages contains information of the credit card holder. An improperly designed algorithm will require an uneconomical amount of computing power or storage in order to run. Therefore we must conduct not only Program Profiling, but also a complete Runtime Analysis.
It is said that even the simplest application on a modern computer would not be possible without algorithms being utilized behind the scenes to manage memory and load data from the hard drive. Let meshare to you what one of the best reasons I found before why analysis of algorithm to be use is a must.
to make sure it will correctly solve your problem. If our algorithm doesn’t work, nothing else matters. So we must analyze it to prove that it will always work as expected. We must also look at the efficiency of our algorithm. If it solves our problem, but does so in O(nn) time (or space!), then we should probably look at a redesign.(wiki.answers.com) 6
And what specific analysis we need to perform?
Sometimes, even if the algorithms used to solve problems were correct, programs are not structured correctly, providing slowness, and not effectivity - not producing a desired or intended result. Then, Data Structuring must be our friend.
According to Paul E. Black, as cited by Wikipedia,
a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently... Data structures provide a means to manage huge amounts of data efficiently.8
In Java, data structures, known as containers, are the classes and interfaces compactly gathered under Java Collections Framework (JCF). I believe that Java sources for these containers are very well optimized by the Java Specification Committee so no problem on that. But I remember our lectures before that the choice of data structure determines which operations on your data will be efficient and which operations will be slower, and how much RAM will be required to store a given number of data items. Even if we are using the using Java, the best model of Object-Oriented Programming Language, and using its collection framework, if our codes are not utilizing the right data structure for a certain operation or business process, the main memory of the computer (RAM) suffers the most; and I assume this is one of the factors why the memory usage of FEP is still unstable and consistently high. Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won’t usually need your code; it’ll be obvious (Fred Brooks).
As recommendation, we need to think on how we would like to store our data before anything else in starting a program. It is very important that we store our data in such a way that, it gives us the easiest method to access them when we want to retrieve them in the future. Good programmers worry about data structures and their relationships (Linus Torvalds).
I am not versed in choosing the right data structures and algorithms to be use in a certain tasks, since I am just in my 2+ years of working, but knowing these things, safely assures me that these things must be considered and reconsidered.
No one consider the how to exploit and use the microprocessor’s capabilities, we just focus on memory issues and thinking that electricity bills will not be our concern because, on the other side, be shouldered by the clients, though. No one consider the impacts of the upgrades from 32-to 64-bit OS and middlewares, because we are biased on the vendors stands and business backgrounds. No one consider because we are afraid of clients’ fury and flames, and in the end, we, as a team suffers the most of exhaustion.
I will leave you questions for you to think. and I hope these things motivates each one of us to think independently and collaborate effectively in the next.
Curious to know why Oracle’s motto is Hardware and Software, Engineered to Work Together? What about Apple’s Senior Vice President Scott Forstall, “The seamless integration between the hardware and software makes everything you do on iPhone 5 just feel more fluid, more responsive and fast.”
Apple has a wonderful design philosophy which states that the company’s aim is to avoid everything that “does not need to be there”. It achieved Apple that minimalist design that was the reason of its popularity among masses and allowed the company to charge a premium for it.
——————————————
Notes:
1-2: p.8
3. p.243
4. High-Performance Energy-Efficient Microprocessor Design
5. http://wiki.lesswrong.com/wiki/Church-Turing_thesis
6. http://wiki.answers.com/Q/What_is_the_importance_of_analysis_in_the_design_of_an_algorithm
7. Data Structures and Algorithms with Object-Oriented Design Patterns in Java http://www.brpreiss.com/books/opus5/html/page36.html
8. http://en.wikipedia.org/wiki/Data_structure
My advice is to leap in and try things. If you succeed, you can have enormous influence. If you fail, you have still learned something, and your next attempt is sure to be better for it.
Do something you really enjoy doing. If it isn’t fun to get up in the morning and do your job or your school program, you’re in the wrong field. Not everyone is lucky enough to have a job or an academic program that rewards them continually, so perhaps your fun will come instead from some outside activity, or friends and family. But there has to be something that makes your life rewarding. Be open to as many experiences as you can, to maximize your chances of finding the really rewarding things. Dick (Richard) Hamming once told me, “Never say no.” That has to be applied with a bit of caution, of course, but the basic idea — try new things — is completely sound
Don’t retire. Or, more precisely, don’t stop doing things. Keep learning and exploring. I retired from Bell Labs 10 years ago and took up teaching; it’s been more fun that I could have imagined and it’s probably added 10 years to my life. And if I retire from Princeton, I’ll try to find something new that has that same effect — something that keeps me active, involved, learning, and meeting new people.
… But I still think that if I could only use one language, I’d use C, just because I could build anything with it.
(Source: harmonyatwork.in)
Η φιλοσοφία μου χάρισε την ετοιμότητα να αντιμετωπίσω οποιαδήποτε στροφή της μοίρας.
Philosophy has given me the readiness to face any turn of fate.
Διογένης ~ Diogenes
(Source: divine-p, via elladaa)
If we want our children to possess the traits of character we most admire, we need to teach them what those traits are and why they deserve both admiration and allegiance.
- William J. Bennett, The Book of Virtues
(Source: firstbook)
Kamasutra
This Penguin’s Classics’ cover of the Kamasutra is more expressive than that of the Oxford World Classics. I just remembered how the passages of this wonderful text entertained me. here is mine—>my link
雨降って地固まる。 —
Japanese Proverb
Adversity builds character.