Chronos is one of the many Smalltalk-related blogs syndicated on Planet Smalltalk
χρόνος

Discussion of the Essence# programming language, and related issues and technologies.

Blog Timezone: America/Los_Angeles [Winter: -0800 hhmm | Summer: -0700 hhmm] 
Your local time:  

2006-04-27

Hormone Found To Decrease Appetite And Increase Activity

From Science Daily:

"New research shows how topping up the levels of a hormone found in the gut could help reduce the appetite and increase activity in overweight and obese people."

Link to the full story: Hormone Found To Decrease Appetite And Increase Activity


2006-04-26

Water, nanoelectronics will mix to create ultra-dense memory storage


Water, nanoelectronics will mix to create ultra-dense memory storage from PhysOrg.com

Excessive moisture can typically wreak havoc on electronic devices, but now researchers have demonstrated that a little water can help create ultra-dense storage systems for computers and electronics.
[...]




MIT Chemist Discovers Secret Behind Nature's Medicines

From Science Daily:

"MIT scientists have just learned another lesson from nature. After years of wondering how organisms managed to create self-medications, such as anti-fungal agents, chemists have discovered the simple secret."

Link to full article: MIT Chemist Discovers Secret Behind Nature's Medicines.


2006-04-25

Our Universe: A Quantum Loop


Our Universe: A Quantum Loop from PhysOrg.com

“There are two classical branches of the universe connected by a quantum bridge. This connects the former collapse with the current expansion.” While Abhay Ashtekar and his colleagues, Tomasz Pawlowski and Parampreet Singh, may not have come with a completely new theory, what they have done is create a systematic way, through quantum equations, to look back in time to the birth of our current universe.
[...]




Taking Exception To Smalltalk Exceptions

About 3 weeks ago, Cincom's James Robertson posted a blog entry that showcased Smalltalk's exception handling capabilities.

About three days later, some posters at Lambda The Ultimate took exception to the power of Smalltalk's exception handling capabilities [fixed URL]:

"So what you're saying is that you want to be able to bind exception throw behaviour dynamically, rather than lexically. The end result being that a caller can bind handler code into any (uncaught) exception throw, without having any way of knowing the source(s) of the possible exceptions, or their root cause.

How, exactly, is one supposed to document the exceptional behaviour of a library class in that case? What possible security gaurantees could one give, if a calling library can inject arbitrary code on any error condition, and ignore or mask the error as it will? How would you even exhaustively test such a thing, other than by ignoring the horrible stuff that your caller could have done to you and pretending you're in some some language?" -- Dave Griffith [I assume that "some some language" was intended to be "some sane language."]

I have news for Mr. Griffith: Programs Are Data. That truth is one of the pillars of computer science. Deal with it.

If programmers can't be trusted with the stack, they can't be trusted to assign the right value to a variable, nor to pass the right value as a parameter to a function. Compilers are tools, not hall monitors.


2006-04-24

Nano machine switches between biological and silicon worlds


Nano machine switches between biological and silicon worlds from PhysOrg.com

Scientists have created a molecular switch that could play a key role in thousands of nanotech applications. The Mol-Switch project successfully developed a demonstrator to prove the principle, despite deep scepticism from specialist colleagues in biotechnology and biophysics.
[...]


The nanotechnologists have been proving the naysayers wrong time after time. This is just the latest example.


Interstellar Deathray Not Likely to Hit Earth

From Space.com, yet another headline that ought to win an award: Interstellar Deathray Not Likely to Hit Earth.




2006-04-22

Time Semantics: Getting it wrong is easy

Outlook, Appointments and Time Zones:

"To many people, Outlook really seems really bad at handling time zone changes, and that's being kind. This is in part because people don't understand that Outlook uses UTC time for appointments and adjusts the time using the time zone offset configured on the computer."

Translation: You're stupid. Learn to think like your computer!

"Note that this is not "an Outlook problem", as this is how computers, email clients and mail servers handle time zones."

Translation: Other programs work just like Outlook, and the programmers can't all be wrong. [Or can they?]

"Outlook does not support an absolute time option for the calendar, which would permit you to enter 2 PM and the appointment would always stay on 2 PM, no matter how many times you changed the time zone. It also doesn't have an option for ‘in what time zone?’ so that you could make an appointment for 2 PM and select Pacific time zone and it would show up as 5 PM in your calendar when the computer is using the Eastern time zone."

Translation: Ok, we fess up: The problem really does lie in the fact that Outlook uses the wrong time semantics.

The Moral of the Story: Even Billion-Dollar Corporations can get time semantics wrong.

Sometimes, you want timestamps that are invariant to nominal time, so that 3pm = 3pm, with the time not bound to any time zone at all. Other times, you want timestamps that are invariant to Universal Time--so that 2pm in San Francicso will be equal to 5pm in New York.

Sometimes, you want timestamps statically bound to a specified time zone, so that 2pm in San Franciso always is displayed as 2pm (even though the computer treats it as equal to 5pm in New York.) Other times, you want timestamps whose "local time" changes dynamically to match whatever time zone the user specifies as the "local time" of the computer--so that the time displays as 2pm when you've set the computer's time zone to San Francisco time, but displays as 5pm when you've set the computer's time zone to New York time.

Unfortunately, not only do most applications get this wrong, most date/time libraries don't support both nominal-time invariance and Unviersal Time invariance, nor do they support both timestamps statically-bound to a specified time zone and also timestamps bound dynamically to the current system time zone.

Chronos does it all.


2006-04-20

A Strategic Opportunity for Smalltalk

Mark Shuttleworth:

"Instead of fighting over turf or syntax, I sensed a genuine willingness to synthesize the best work from both camps into something that could have both Python's pop-culture widespread appeal, and pedagogical foundations that build on years of Alan's experience in the Squeak world. The mouse might yet become the snake's strongest ally."

The computational model (which depends heavily on the VM) is strategic.

Syntax (which is just a matter of which compiler one happens to use) is tactical.

Avi Bryant had the right idea: Strategic thinkers in the Smalltalk community should create strong, compelling implementations of Python, Ruby and Perl, hosted on Smalltalk VMs--such as Squeak's.

Adding Erlang, Haskell, Io and Ocaml wouldn't hurt, either.

When it comes to advanced, dynamic programming languages, it's "United we stand, divided we fall."


John Koza Has Built an Invention Machine

Its creations earn patents, outperform humans, and will soon fly to space. All it needs now is a few worthy challenges

As a high-school student in the 1950s, John Koza yearned for a personal computer. That was a tall order back then, as mass-produced data processors such as the IBM 704 were mainframes several times the size of his bedroom. So the cocksure young man went rummaging for broken jukeboxes and pinball machines, repurposing relays and switches and lightbulbs to make a computer of his own design.

[Click here for the rest of the story]