Delicious, Refreshing!
The website formerly known as http://del.icio.us/ is now simply http://delicious.com. And just when I was getting good at remember where the dots go.
In the words of Monty Python - “Say no more!” Just go forth and bookmark. Them and Flickr give me tons of hope!
23:36 CST | category / entries / links
permanent link | comments?
Mmmmmmhhh… Crêpe
INGREDIENTS
- 1 cup all-purpose flour
- 2 eggs
- 1/2 cup milk
- 1/2 cup water
- 1/4 teaspoon salt
- 2 tablespoons butter, melted
DIRECTIONS
- In a large mixing bowl, whisk together the flour and the eggs. Gradually add in the milk and water, stirring to combine. Add the salt and butter; beat until smooth.
- Heat a lightly oiled griddle or frying pan over medium high heat. Pour or scoop the batter onto the griddle, using approximately 1/4 cup for each crepe. Tilt the pan with a circular motion so that the batter coats the surface evenly.
- Cook the crepe for about 2 minutes, until the bottom is light brown. Loosen with a spatula, turn and cook the other side. Serve hot.
source
I’m gonna state that adding the butter last is a good idea (otherwise the flour wants to stick to it and get a bit clumpy), but that you might try the wet-first, then dry method.
These crepes are neutral in flavor. It sounds interesting to do a bit of savory crepes for maybe chicken or potatoes. I’d hesitate to make them sweeter if you’re doing a sweet filling because you really do get enough sweetness from the ingredients and the neutral flavor of the crepe keeps your teeth from falling out.
Bon Appétit!
22:49 CST | category / entries / links
permanent link | comments?
Burlington Coat Factory, I Love You
Your search for “bowtie” did not match any of the products we carry.
We searched for “potties” instead. Did you mean “bow tie”, “bow”?
[source…]
I almost spit up coke when I read that.
21:49 CST | category / entries / links
permanent link | comments?
The Soul of the Guitar
The guitar is one of the hardest instruments, right up there with orchestra
conductor and concert pianist, because of the the high level of “personal
leadership” that is expected of us. If I were an orchestra player, I would
have a conductor to start me and stop me and bring me back in if I got lost,
to show me what tempo, where the beat is, to write in the bowings, breathing
and articulations, to tell me what phrasing and dynamics are expected of me,
and so on — you know, the 130 things that the conductor does.
And then I would have someone sitting next to me doing the same thing as me.
Someone I can peek at to see what I’m supposed to be doing; if I play a wrong
note, I can catch it before it becomes apparent to the world. And if I get
lost, they can play a little louder to cover for me until I get back in. As
guitarists, we are expected to do all those jobs: start yourself, stop
yourself and bring yourself back in when you get lost before anyone notices;
cue yourself for entrances. And everyone expects you to smile even though you
wish you were at home with your loved ones.
[source…]
Thank you, Kevin.
23:39 CST | category / entries / links
permanent link | comments?
Kicking and Screaming Towards Lisp
A great article, worthy of it’s own pullout (not just an anonymous del.icio.us bookmark link):
My point is that it may be too late to start with Lisp so you don’t have to
reimplement all of its features. Because all of those new languages have
already implemented them. At least what most people consider the important
ones.
I imagine people will disagree with this view. People might say that although
Java and C# have many of the features that made Lisp great, it doesn’t have
the essence that makes Lisp still the best choice for discriminating
programmers. That essence might include meta-programming facilities, or
first-class closures, or macros.
Macros let you subsume more code into less code. Macros let you write more
functionality with fewer lines. Macros let you abstract away boilerplate into
new syntax.
But the corporate manager will say: if everyone writes their own syntax, my
programmers can’t read each other’s code. So instead of having to learn a
language once, they will have to learn a new language each time they approach
a program for the first time. And the value of macros is lessened.
Code as data lets you manipulate code at runtime. It means you can optimize
it, count it, store it, send it somewhere, and more importantly, write it in
itself. The possibilities are endless.
But the corporate manager again has an answer: Java is already written. Why
would I want to rewrite it? I have a program to develop—-and you’re worried
about optimization? Let the folks at Sun worry about that. We’re not language
developers!
And so do each of the features fall like dominoes. Either they hinder some
unforeseen corporate best-practice, or they just aren’t really as powerful in
that environment as one would really hope their expressive purity would like.
[source…]
…really great article talking about essential lispy-ness. C and C++ are dead to me (an interesting thing to say, and I’ll probably regret it :^). Java replaces C++ … C is OK, but it’s like adding salt to a dish- put it into a well-written library off to the side and write everything else in a different language that is ~easier~ or ~better~. The cases where machine efficiency outweighs development or maintenance efficiency are limited (and valuable!), but brutal machine-efficiency is steamrolling the less-people-efficient languages for many cases.
People seem to groove on Objective-C, I haven’t had a chance to use it and comment, but perhaps it strikes a better balance between people-efficiency and machine efficiency. Certainly any language that drives against people-efficience is now doomed to failure. I just hope we don’t go to drag+drop flowchart programming. :^)
16:54 CST | category / entries / links
permanent link | comments?
Simple PHP Framework Performance Comparison
|
Average |
Tuned |
Baseline HTML |
1327.9 |
Baseline PHP |
331.8 |
CakePHP |
3.7
|
CodeIgniter |
21.5 |
118.0 |
Zend Framework |
9.2 |
52.0 |
[source…]
Up at work Rasmus always dogs on PHP frameworks due to their “high per-request overhead at scale”. There was another article I read recently about PHP itself being a web framework more-so than other programming languages. Ah, here it is - the article comparing PHP out of the box to rails.
Sure, Cake, Symfony, CI - they all help you build PHP applications. But
unlike a Ruby framework or a Python framework, coding is perfectly tolerable
without them. Of course, most developers tend to create their own framework
as they go along - I call this PHP’s DIY framework mentality, where you
build the last level in your stack, and by extension you know exactly
what’s going on under the hood.
[source…]
The idea being that when you take on a framework, you get a rapid increase in initial development speed, but a lot of decisions have already been made for you, and it might not be convenient to shake out those rough spots after you’re significantly invested in the platform. It is extremely easy to make the case that if you have this problem, it’s a pretty good problem to have.
Personally when working with frameworks, my goal is to have as little framework-dependent code as possible, such that when I do feel the need to switch from framework a to framework b I don’t lose my “logic”. My strategy is generally to have as much code as possible in library classes with unit tests, then layer functionality on top of that in whatever framework du-jour happens to be appropriate.
The other thing Rasmus talks about (which feels funny to most PHP programmers) is that you shouldn’t really program in PHP. He thinks that you should do your serious work in C (making it a PHP extension) and use PHP just for the HTML, etc. When people come up with “I’m looking for a good templating language for PHP”, his general response is: “PHP makes a pretty good templating laguage.” :^)
See the principle of least power for an example of what people asking for a PHP templating language are really asking for. Maybe it’d be nice to add an extension to PHP like:
<?simplephp … ?>
…that only accepted echo, foreach. It’s not about PHP’s fitness for purpose, but that it has grown to be too powerful, and people now tend to use it as the general purpose language, muddying some of the benefits that it started off with.
10:19 CST | category / entries / links
permanent link | comments?