Arduino
November 24th, 2007
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).
The monad tutorial to bind them all
October 29th, 2007
Many thanks to zipMe who provided some extremely valuable links in the comments to my last entry.
You could have invented monads is the monad tutorial I have always longed for.
It explains the basics (the monad interface) and then describes how these basics can be used to achieve the various stuff you always see monads being used for (sequential programming, side effects) all with very focused examples and excercises, without much Haskell background needed. Not too theoretical to recognize the connection to Haskell, nor too practical to provide insight about the ideas behind monads.
The joys of C++
October 19th, 2007
Quick, why does this give me a compiler error?
if (dIntersectionZ < box.GetChild(0,0,0).GetBox().Min.z) Assert(false);
else if (dIntersectionZ < box.GetChild(0,0,1).GetBox().Min.z) z = 0;
else if (dIntersectionZ < box.GetChild(0,0,2).GetBox().Min.z) z = 1;
else if (dIntersectionZ <= box.GetChild(0,0,2).GetBox().Max.z) z = 2;
else Assert(false);
The compiler complains that the else in the second line does not belong to any if. Read the rest of this entry »
TED | Talks | John Doerr: Seeking salvation and profit in greentech
October 8th, 2007
“I don’t think we’re going to make it,” John Doerr proclaims, in an emotional talk about climate change and investment. Spurred on by his daughter, who demanded he fix the mess the world is heading for, he and his partners at Kleiner Perkins Caufield & Byers embarked on a greentech world tour — surveying the state of the art, from the ethanol revolution in Brazil to Wal-mart’s (!) eco-concept store in Bentonville, Arkansas. KPCB is investing $200 million in green technologies to save the planet and make a profit to boot. But, Doerr fears, it may not be enough.
Don’t plan your career
October 8th, 2007
http://blog.pmarca.com/2007/09/the-pmarca-gu-1.html:
The first rule of career planning: Do not plan your career.
The world is an incredibly complex place and everything is changing all the time. You can’t plan your career because you have no idea what’s going to happen in the future. You have no idea what industries you’ll enter, what companies you’ll work for, what roles you’ll have, where you’ll live, or what you will ultimately contribute to the world. You’ll change, industries will change, the world will change, and you can’t possibly predict any of it.
Trying to plan your career is an exercise in futility that will only serve to frustrate you, and to blind you to the really significant opportunities that life will throw your way.
Career planning = career limiting.
The sooner you come to grips with that, the better.
The second rule of career planning: Instead of planning your career, focus on developing skills and pursuing opportunities.
…
via svn
Update on F# and Haskell, especially monads
October 8th, 2007
Since I wrote about F# in August, my progress has been rather slow.
There was a lot of work to do for Uni, almost all involving final touches to Pavel, the data-analysis tool me and a few other students have developed as a student research project. We’ll publish Pavel next week on SourceForge, I’ll write a few lines about it then.
Another thing that has held me back is my fascination for Haskell. Read the rest of this entry »
TrueSkill
September 26th, 2007
The TrueSkill ranking system is a skill based ranking system for Xbox Live developed at Microsoft Research. The purpose of a ranking system is to both identify and track the skills of gamers in a game (mode) in order to be able to match them into competitive matches. The TrueSkill ranking system only uses the final standings of all teams in a game in order to update the skill estimates (ranks) of all gamers playing in this game.
Tumblecontent
September 25th, 2007
Ab heute hier rechts zu finden.
Im RSS-Feed wie alle anderen Posts auch enthalten.
Web 2.0 für den Desktop - Teil 2
September 21st, 2007
Es ist fünf Monate her da ich Web 2.0 für den Desktop geschrieben habe.
Vor einigen Tagen schrieb Joel Spolsky seinen Strategy Letter VI:
So if history repeats itself, we can expect some standardization of Ajax user interfaces to happen in the same way we got Microsoft Windows. Somebody is going to write a compelling SDK that you can use to make powerful Ajax applications with common user interface elements that work together. And whichever SDK wins the most developer mindshare will have the same kind of competitive stronghold as Microsoft had with their Windows API.
If you’re a web app developer, and you don’t want to support the SDK everybody else is supporting, you’ll increasingly find that people won’t use your web app, because it doesn’t, you know, cut and paste and support address book synchronization and whatever weird new interop features we’ll want in 2010.
Imagine, for example, that you’re Google with GMail, and you’re feeling rather smug. But then somebody you’ve never heard of, some bratty Y Combinator startup, maybe, is gaining ridiculous traction selling NewSDK, which combines a great portable programming language that compiles to JavaScript, and even better, a huge Ajaxy library that includes all kinds of clever interop features. Not just cut ‘n’ paste: cool mashup features like synchronization and single-point identity management (so you don’t have to tell Facebook and Twitter what you’re doing, you can just enter it in one place). And you laugh at them, for their NewSDK is a honking 232 megabytes … 232 megabytes! … of JavaScript, and it takes 76 seconds to load a page. And your app, GMail, doesn’t lose any customers.
But then, while you’re sitting on your googlechair in the googleplex sipping googleccinos and feeling smuggy smug smug smug, new versions of the browsers come out that support cached, compiled JavaScript. And suddenly NewSDK is really fast. And Paul Graham gives them another 6000 boxes of instant noodles to eat, so they stay in business another three years perfecting things.
Ich mache hier darauf aufmerksam, weil das thematisch so gut zu meinem Text von damals passt, nicht unbedingt weil ich noch viel Schlaues hinzuzufügen hätte. Das einzige was mir spontan dazu einfällt ist dass das in der Form ziemlich nach Java Webstart oder ClickOnce riecht.
Natürlich ist Joels Ansatz reichlich polemisch, trifft aber den Nagel genau auf den Kopf:
And that’s exactly where we are with Ajax development today. Sure, yeah, the usability is much better than the first generation DOS apps, because we’ve learned some things since then. But Ajax apps can be inconsistent, and have a lot of trouble working together — you can’t really cut and paste objects from one Ajax app to another, for example, so I’m not sure how you get a picture from Gmail to Flickr. Come on guys, Cut and Paste was invented 25 years ago.
F# Observations
August 12th, 2007
I’m feeling all mad-scientistic tonight, sipping coke, with 30 tabs open in Opera :)
On my journey into the weird world of functional programming on the .NET CLR, I continue to stumble upon interesting stuff. Papers, articles, interviews, each worthy of hours of dedication. Alas, my day still has only 24 hours (I need to work around that somehow), so at the time being I can’t do much more than glance over everything. Read the rest of this entry »