BlogSieve

Advanced Feed Processing for Atom, RDF and RSS

benferrari

http://feeds.blogsieve.com/619


amazing home made light sabre fight (Delicious/a9bejo/readme)

incredible choreography. Better than the fight in the movies.

Sun is investing in JRuby development (Delicious/a9bejo/readme)

The JRuby guys are joining Sun to work full time on JRuby and Ruby development tools.

In a Search Refinement, a Chance to Rival Google (Delicious/a9bejo/readme)

PARC?s natural-language technology is among the ?most comprehensive in existence,? said Fernando Pereira, an expert in natural language and the chairman of the department of computer and information science at the University of Pennsylvania.

How to use Google code search (Delicious/a9bejo/readme)

turning Google Code Search into a job posting board by inserting "Like our code? Come work for us!" text ads in the comments of source code which is then distributed and crawled by Google.

The Power of Nightmares (Delicious/a9bejo/readme)

In the past our politicians offered us dreams of a better world. Now they promise to protect us from nightmares. The most frightening of these is the threat of an international terror network. But just as the dreams were not true, neither are these nightm

Why Mono is Currently An Unacceptable Risk (Delicious/a9bejo/readme)

Some good arguments why the gnome team should stay away from mono. From Seth Nickell - Design Fu : mono

Is America a Christian Nation? (Delicious/a9bejo/readme)

In 1797 America made a treaty with Tripoli, declaring that "the government of the United States is not, in any sense, founded on the Christian religion."

What Questions Would You Ask? (Delicious/a9bejo/readme)

The questions you forget to ask when you are interviewing for a job, but wish you'd asked after taking the job.

The Root of All Evil Part 2 (Delicious/a9bejo/readme)

Richard Dawkins argues that the world would be better off without religion.

AI Beats Human Intelligence on Yahoo Answers Social Networking Site (Delicious/a9bejo/readme)

The Buddhabot has so far answered 102 questions and eleven have been selected as the best answer. The Buddhabot is the first and only AI to compete with human beings to provide the best answers on Yahoo Answers new social networking site.

RE: What is Yahoo Answers? (Delicious/a9bejo/readme)

cmerch's response to my thoughts on the goal of yahoo! answers

Closures for Java: James Gosling crawls back to Lisp. (Delicious/a9bejo/readme)

Gilad Bracha, Neal Gafter, James Gosling, Peter von der Ahé set up a proposal to integrate closures in Java. So I guess it is true what Paul Graham said: That all programming languages are evoluting back to Lisp. :)

Best Pizza in Vienna? (Delicious/a9bejo/readme)

Or is it the "best known" pizza?

Pulling the cable plug (Delicious/a9bejo/readme)

today we're without cable tv, but not because we can't afford it. Why? Well, for many reasons.

CSS for layout? bah! Use ASCII art! (Delicious/a9bejo/readme)

very clever: create an ascii scribble of your html design, and the tool will generatethe css to do the formatting.

THIS BLOG MOVED to blog.bookworm.at ! (ferrari.mind.publish())

I moved my blog to http://blog.bookworm.at .

The most up-to-date RSS feed is http://blog.bookworm.at/feeds/posts/default

Please update your feed readers. Thank You!

What Google is thinking about me. (ferrari.mind.publish())

One problem when you make guesses about one's interests is that you can insult him by making a wrong guess.

Web pages related to your searches
01. MyEclipse J2EE IDE - Easy and affordable eclipse plugin ...
02. Google *g*
03. Krone.at Kronen Zeitung Österreich Wetter aktuell Sport ...
04. T-Mobile Austria
05. HandBrake
06. Metissian - Projects - Mac OS X Packages - Subversion
07. InterfaceLIFT: Mac OS X icons (by date)
08. Projekt Gutenberg-DE - Kultur - SPIEGEL ONLINE
09. The Trac Project - Trac
10. ZVAB - Zentrales Verzeichnis Antiquarischer Bücher


What you think I'm so dumb that I read boulevard trash?

Read the fucking Krone yourself, Sergey!

More seriously, most of the other stuff was ok, and some of it even helpful (HandBrake or Metissian might become useful)

Zooming and Drawing with Emacs (ferrari.mind.publish())

Two useful pieces of emacs lisp code I just found


Artist is an Emacs lisp package that allows you to draw lines, rectangles, squares, poly-lines, ellipses and circles by using your mouse and/or keyboard. The shapes are made up with the ascii characters |, -, / and \.

                                      
                                      
     +-----------------+         +-----------------------+
     |     User        |         |          Emacs        |
     +--------+--------+         +------------+----------+
              |                               |
              |                               |
              |                               |
              |                         \     |
              |          Draw Pictures   \    |
              |      ---------------------X   |
              |       with artist-mode   /    |
              |                         /     |
              |                               |
              |                               |
              |                               |
              |                               |
              |                               |
              |                               |

Web 2.0 in 4.31 minutes (ferrari.mind.publish())

Social software, explained in a nice 4 minute video



[via Axel]

I remember that moment... (ferrari.mind.publish())

dilbert on stupid features

[via Dilbert of course]

java.net.URL is horribly broken. Since 1995! (ferrari.mind.publish())

The equals method in java.net.URL is so incredible broken you will not believe this.

We programmers all have one or two stories about a not-so-reasonable piece of code we came across in our lives.

But I just read something about java.net.URL that is extremely silly and shocking, considering that most of us probably use this class frequently.

From the java 1.5 documentation:

public boolean equals(Object obj)
...
Two hosts are considered equivalent if both host names can be resolved into the same IP addresses; else if either host name can't be resolved, the host names must be equal without regard to case; or both host names equal to null.
...


For example, take this code snippet:


URL url1 = new URL("http://blog.interlinked.org");
URL url2 = new URL("http://bookworm.at");
assert url1.equals(url2);
Now, if the assertion fails or succeeds depends on these factors: So the outcome of URL.equals is more or less unpredictable. This really was a shock when I read that at Invert Your Mind, because java.net.URL is around since JDK 1.0 and it seems that none of us ever realized how completely broken that equals method is.


Why not always compare domain strings? That is not only the easiest and the most performant way, it is also what one would expect from that method.

Mihi introduces Haskell (ferrari.mind.publish())

Mihi is currently publishing a series of articles about Haskell (Parts 1, 2, 3).

Welcome to ferrari.mind.publish, reddit (ferrari.mind.publish())

I guess for the next few hours, I could replace every "you" in my texts with "Dear visitor from reddit.com".

my web stats show tht reddit users make for ~75% of all visitors

So, welcome folks! There are also some critics about my comparison between Ruby and Python. I'm looking forward to explain my point of view in a follow up.

Ruby, Python compared (ferrari.mind.publish())

I wrote this as an answer to "querstrom" from informatik-forum.at, who asked about opinions on ruby and python.

I think the choice between Ruby and Python does not really make that much of a difference when in comes to productivity. Both languages are dynamic, made for object orientated programming and are enriched with elements from functional programming.

OO Design in Ruby is a little bit more consistent and more simple than in Python, but in my opinion, this does not give you that much of a productivity boost.

Both languages have a tons of libraries and a very active community around them.

If you look at Ruby and Python from an Java/C++/C# developers view, the differences are really not that significant at all. The advantages/disadvantages you find when using either of these languages will be more or less the same.

If you directly put Ruby and Python side by side, however, you will find some huge differences in the way their designers see OOP and programming in general.

1. Message passing vs. structural object design

Object oriented programming is often described as (reasonably) dividing an application into objects which have a state. If you want to change or if you want to know something about the state of an object, you pass a message to it.

In Smalltalk (and Ruby really is nothing else but a new version of smalltalk), this concept was taken very seriously.


lamp.lightswitch.press_button


This means something like "send the message 'lightswitch' to the object lamp. The answer to my request, which will be some object again, receives another message called 'press_button' ."

In Python, objects are seen more like in C++ or Java. Objects here are like containers that can hold other objects (of which some will be methods). I guess this has its roots in C's structs?

So,


lamp.lightswitch.press_button()


means in python: look into the object lamp for another object called "lightswitch". In lightswitch, find the object named "press_button" and call that.

So, the dot in Python syntax means "look into" and in Ruby it means "send message to"

In fact, the Ruby code I wrote earlier is just syntactic sugar for


lamp.send("lightswitch").send("press_button")


which is also valid ruby.

For the casual Programmer, this does not make that much of a difference at first. Python programmers can think about their programs in terms of message passing to objects without many problems. But if you start using the languages for real applications, you will find that much of the characteristics of the language come back to this idea of message passing vs. structural objects.

For example, it is only logical that you cannot have public instance variables in ruby, since the only way to communicate with objects is through sending messages to it. If it is at the right side of a dot, it has to be a message.

Because Python objects are really just containers, you can do something like this:


amethod = object.somemethod
amethod()


This is not possible in Ruby, since somemethod is not an method itself, but just a message to the object.

If you want the method object for some object in Ruby, you have to do what you always have to do: send a message to the object and ask for it:


amethod = object.method(:method)
amethod.call


There are tons of other consequences to these two views on objects. But I leave this now and describe another huge difference between Ruby and Python that is maybe even more relevant to programmers evaluating new languages.

2. The one obvious way vs. the principle of the least surprise

A basic principle of python (type "import this" in your python shell to see the basic principles) is that while there will always be million ways to solve a problem, there should better be one obviously best way to do it. This way, if one python programmer looks at some other python programmers code, everything will look familiar.

In practice this means, for example, that there are no switch statements or do...while loops or counting loops in python, since these are just other ways to do what you usually do with if conditions and foreach or while loops.

The ruby designers think a bit different. What really makes code hard to read is when the thought you want to describe is difficult to translate into program code. So if you want to do something if x is zero, Ruby allows you to write it down exactly this way:

do_something if x.zero?

This attitude has many influences on Ruby. For example, since many developers use pattern matching on strings every day, it makes sense to offer a special build in syntax for regular expressions right?.

Now many people see this and are instantly reminded of that lovely chaos called Perl. In fact, I think that nothing has hurt Ruby more than its perlish syntax, because it reminds people of chaos. In fact, ruby took some sytactic sugar from perl but that's it. Other than Perl, Ruby has a very clear and very slim grammar which is easy to understand and remember. The syntactic sugar is just that: Some few helpers that make code more comprehensible, but it just plain simple ruby under the hood. A Regex is an object as is String or nil: There is just an alternative way to create an instance.

3. Domain Specific languages

I do not want to write much about DSLs here, since Martin Fowler already wrote a terrific piece about DSLs. I just want to add that this really did make the choice for Ruby in my case, after some happy years with python as my main language of choice.

Are you Sagittarius enough to work with us? (ferrari.mind.publish())

Some german company has extraodinary skill demands.

This job offer looks like your typical job for a 0815PointOhh web developer:


Required Skills:

* Ruby on Rails
* PostgreSQL, MySQL, and various SQL dbs
* Test-driven development (TDD)
* Linux or other Unices
* Rails deployment
* Subversion
* HTML, CSS, AJAX!
* Experience in a Startup environment.
* Experience developing large scalable websites.

Desired skills:

• Development experience preferably with Object Oriented development languages.
• 2+ years experience developing for the web using an MVC framework.
• Ruby, Ruby On Rails and solid knowledge of the MVC design pattern required.
• Experience with developing on Unix required.
• Experience with Database modeling and design required, PostGreSQL a plus
• Experience with Flash a plus
• Experience with SVN a plus.
• Experience with internationalization issue related to the web a plus.
• Strong User Interface design skills, especially Web 2.0 and Ajax preferred.
• Must be detail-oriented and thorough in designing, coding and testing.
• Must be able to provide walkthrough and code samples of previous work.



But wait, what's this?


Description:

This is a wonderful entrepreneurial position for the humanitarian keen on facilitating emotional fulfilment for humanity.

*Birthday must fall between;

January 20 and February18

May 21 and June 20

July 23 and August 22

Sept. 23 and Oct. 22

November 23 and December 21


I'm sure there is some obscure gardner analysis around that indicates projects where at least one Sagittarius was involved and which are developed only on full moon evenings cannot fail? Amazing.

[via _why]

Software: So Bad, It Can Only Get Better (ferrari.mind.publish())

Software can easily rate among the most poorly constructed, unreliable and least maintainable technological artifacts ever invented by man -- with perhaps the exception of Icarus' wings.

Paul A. Strassmann,
Computerworld
December 9, 1996

Books and their Movies (ferrari.mind.publish())

Miso writes about books <> movies:

In the past i quite often had discussions about whether a film adaption of a book is as good as the book itself, or even better, that a film could never come near the book.
In my opinion comparing a book with a movie is just as absurd as comparing a book with a theater play, a tv series with a movie or even comparing a novel with a poem - it just does not work. All of those are completely different media, each with it´s own rules and restrictions, each with a completely different basis .


Well said. I guess another example would be to compare a book to a painting based on that book. I do not believe many people argue that the bible is better or worse than Da Vinci's "Last Supper". Like with paintings, a movie will only tell you a fraction of the story, but it will do so in a completly different way and create a completely different experience.

I guess the problem with movies is that they often reveal the main clues of a books story, so enjoying the story in one media is somewhat ruining your experience on the other. And because the book mostly contains a lot more details on the story, it is more wise to read the book first.

Another problem with popular movies based on books is that it needs a lot more money to produce them, so there are a lot more non-artists involved in its creation. Thats's why characters in movies often get cribbled down to stereotypes.

Dangerous integer optimization in gcc 1.4.1 (ferrari.mind.publish())

Current optimizations in gcc could create severe security holes in
lots of current systems.


In gcc 1.4.1, the following expression does automaticaly resolve to true:

someInt+100 > someInt;

This works well as long as you stay within the integer boundries, but
can cause havoc on many systems:


#include 
int main(){
  int someInt = 0x7fffffff;
 
  //someInt == 2147483647,(someInt+100) == -2147483549, 
  //but this throws no exception in gcc 1.4.1:
  assert(someInt + 100 > someInt); 
}
This could create lots of open doors for crackers.

GCC Bugzilla Bug 30475.

Ruby reaches TIOBEs top ten (ferrari.mind.publish())

January Headline: Ruby declared TIOBE's Programming Language of 2006!

The TIOBE index, which tries to measure programming language popularity, uses queries on popular search engines to rank programming languages by their popularity on the net. The team now declared Ruby the Programming Language of 2006, after the language went up each month and climbed the top ten out of nowhere.

Position
Jan 2007
Position
Jan 2006
Delta in PositionProgramming LanguageRatings
Jan 2007
Delta
Jan 2006
Status
1 1 Java 19.160% -3.10%   A
2 2 C 15.807% -3.20%   A
3 3 C++ 10.425% -1.04%   A
4 5 (Visual) Basic 9.123% +0.03%   A
5 4 PHP 7.943% -1.46%   A
6 6 Perl 6.237% -0.81%   A
7 7 C# 3.521% -0.03%   A
8 8 Python 3.502% +0.90%   A
9 10 JavaScript 2.845% +1.31%   A
10 21 11 * Ruby 2.519% +2.15%   A
11 11 SAS 2.343% +1.18%   A
12 9 Delphi 2.336% +0.75%   A
13 12 PL/SQL 1.570% +0.54%   A
14 22 8 * D 1.335% +0.97%   A-
15 20 ABAP 1.229% +0.82%   A-
16 14 Lisp/Scheme 0.674% +0.07%   B
17 18 Ada 0.638% +0.17%   B
18 13 COBOL 0.637% -0.13%   B
19 15 Pascal 0.570% +0.04%   B
20 34 14 * Transact-SQL 0.510% +0.34%   B


I remember when I first looked into the language, Ruby had great but also very small community. Many (including me) considered the language not that much more powerful than Python, which had similar features, some minor drawbacks, but also a much greater community and support.

Funny enough, one of the biggest drawbacks then was the lack of a good framework for web applications. Python had dozens of them, from complex application servers to small, simple solutions. Today, it seems as if many people call Ruby a web language.

I have no idea what a web language is, but I guess that's not important. Smalltalk finally got the attention it deserves, It just had to put on a perlish cloak. And that makes my job hobby a lot more fun!

Google’s gone evil? (ferrari.mind.publish())

An interesting rant about google promoting its own services above search results.


Some of you might remember how worried Google has been about the possibility of Vista and IE7 recommending Microsoft’s Live.com search engine over Google when they shipped.

I certainly know I remember meetings at Google where this very fear was front-and-center and how Googlers at those meetings were very passionate about the issue. They all agreed - it was horribly wrong of Microsoft to recommend an inferior search engine simply because they had upgraded their desktop software.

Have you tried searching for ‘blog‘, ‘calendar‘, or my personal favorite, ‘photo sharing‘ at Google today?
...
Since Google’s own products aren’t good enough to make the top of the rankings themselves, they’re starting to promote them directly, outside of AdWords, with bright logos and top placement (which no-one else can use).

more...


And here is another good quote from that page, this time from the comments section, by Colors...Pretty :

Clearly you are both approaching this ‘photo hosting’ thing from the wrong direction.
The key to success in this market is to build a wildy popular search engine first, and then promote your products at the top of the page.




[via SmugBlog]




{tracking}
Powered by Odin Assemble 2.5a