分类: 系统运维
2009-04-29 14:13:17
The 140 Characters Webapp Challenge is now over! If by chance you don’t know what it was, read or see . It was great 2 weeks, everybody. You showed some awesome skills, and really raised to The Challenge! Kudos :) And thanks for making it all so exciting for all of us!
I have wrapped up all of your apps into this long, 32 apps list, which all are indeed functional and below 140 chars! (plus 4 that are interesting, but too long) You can VOTE for ONE of your favorite apps. And yes, the voting script is 140 chars too!
Here is the final wrap-up of the coders and their apps, almost in the order of appearance ;] If you wish to change something in your description, ! To see how these were born, follow .
You can vote for your ONE favorite script! Just click the VOTE link below the favorite source code! Voting is managed by yet another 140 characters app I made — it even does IP filtering to block repeated votes. If you get 0 then it means you already voted. UPDATE: Voting is now closed!
use CGI':all';$i=$ENV{'REMOTE_ADDR'};$v=(param 0)=~/^(\d+)$/?$1:0;open V,';open V,'>>v';print header.($j!~/$i/?print V "!$v&$i":0)
Results are displayed by a 150160 characters app, because I wanted to make nice chart bars using input fields. But it can be done in 140 chars as well, if just plain text is displayed.
use CGI':all';print header;open V,'v';%v=();$v=;while($v=~/!(\d+)&/g){$v{$1}++};for$i(sort{$a<=>$b}keys%v){print p.b("$i.").br.input({size=>$v{$i}}).$v{$i}};
OK! Enough of this talking, let’s get down to business! Here are the awesome coders and their apps!
1. Micro-Twitter in 154 chars of PHP (props for being the first!):
’);fclose($q);}?>
2. Micro-Twitter in 139 chars of PHP (modification of Issac’s code):
$a”);fclose($q);echo $a;}?>
3. Age Guessing in 140 chars of JS:
var c=0;var i=35;do{var x=confirm(‘are you ‘+i+’?\n(ok=Y)’);i=Math.floor(Math.random()*70);c++;}while(!x);alert(‘I only took ‘+c+’ tries!’);
Example:
4. Micro-Twitter in 99 chars of JS:
(”[go]”);$(‘p’).click(function(){$(‘body’).append($(‘input’).val() + ‘
’);});
Example:
5. Micro-Twitter in 134 chars of PHP:
6. Time of life counter in 146 chars of JS:
d=prompt(‘DOB?’,‘DD-MM-YYYY’).split(/[^\d]/);d=(new Date()-new Date(d[2],d[1],d[0]))/1000;alert(d+’ seconds\n’+d/60+’ minutes\n’+d/60/60+’ hours’)
Example:
7. Micro-Twitter in 129 chars of PHP:
=’’;fputs(fopen(a,a),$_GET[a].”\n
”);$a=file(a);krsort($a)?>=implode( ,$a)?>
8. The same, but without sorting, just 82 chars:
=’
9. Delicious links in 136 chars of PHP:
$x=new SimpleXMLElement(file_get_contents(“”));foreach($x->channel->item as$a)echo$a->title.’‘;?>
10. Get HTTP Code of URL in 133 chars of PHP:
$a=(@stream_get_meta_data(fopen($_GET[a],80)));preg_match(’# (\d+) #’,@implode($a[wrapper_data]),$b)?>=($b)?‘Code: ‘.$b[1]:’:(’?>
11. Resize JPG by half in 186 chars of PHP:
12. copy in 139 chars of PHP:
=’
13. A clone of in 135 chars of PHP:
=’’;$a=$_GET[s];echo(@file((stripos($a,”:”))?$a:“http://”.$a))?‘just you’:‘its down’;?>
Example:
14. Micro-Twitter in 140 chars of Ruby (including own webserver!):
%w[rubygems sinatra].each{|w|require w};get'/'do;m=params[:m];open("f","a"){|f|f<%pre&=`cat f`'end
Code:
15. Micro-Twitter in 136 chars of Ruby (including own webserver!):
require'rubygems';require'sinatra';get("/"){r="";t=params[:t];`echo '
#{t}' >> t` if t;r<<`tail -r t`;r}
Code:
16. Random Quotes in 81 chars of language I can’t recognize ;] :
echo 80 stream tcp nowait nobody /usr/games/fortune fortune -a >> /etc/inetd.conf
Example:
Blog post: http://blog.postmaster.gr/2009/02/13/does-this-count-as-a-web-application/
17. Odd or Not game in 140 chars of JS:
function x(){if(confirm("odd?")&&((Math.floor(Math.random()*10))%2))alert(":)");else alert(":(");if(confirm("rpt?"))x()}x()
Example:
18. 1 or 0 game in 130 chars of JS:
function x(){if(confirm(”1?”)&&(Math.round(Math.random())))alert(”:)”);else alert(”:(”);if(confirm(”rpt?”))x()}x()
Example:
Blog post:
19. Micro-Twitter in 136 chars of PHP:
”);}echo@readfile(a)?>
20. More featured Micro-Twitter in 141 chars of PHP:
21. Epilepsy Causer in 114 chars of JS:
{r=0;setInterval(function(){document.body.style.background=(r++%2==0?'#'+r%7+r%9+r%8:'0')},50);void(0)}
Example: launch JS
Blog post: http://blog.cherouvim.com/re-the-140-character-webapp-challenge/
22. Many-Features Micro-Twitter in 140 chars of PHP:
Example:
23. A PHP web framework in 131 chars of PHP:
require __DIR__.’/c.php’; if (!is_callable($c = @$_GET[‘c’] ?: function() { echo ‘Woah!’; })) throw new Exception(‘Error’); $c();
Homepage:
24. Copy of downforeveryoneorjustme.com in 135 chars of Perl:
use CGI’:all’;print header.’
25. Copy of Twitto.org web framework in 111 chars of Perl:
use CGI’:all’;($a,$b)=path_info=~/.([^\/]+).(.*)/;eval"use $a”;print header.(!$@&&$a->can($b)?$a->$b():“no go”)
26. Link to banner in 130 chars of Perl:
use CGI’:all’;print header.’
27. Guessing game of numbers between 0-20 in 140 chars of JS:
r=Math.round(Math.random()*20);for(c=1;c<=10;c++){g=prompt(‘Guess’,’‘);if(g==r){alert(‘Won’);break;}if(!g){break;}if(c==10){alert(‘Lost’);}}
Example:
28. RSS/RDF parser with formatted output in 135 chars of PHP:
([^<]+)/’,$l,$m))echo$m[1]==‘link’?” link
”:$m[2]?>
Example:
29. Micro-twitter using Continuity in 140 chars of Perl:
use Continuity;Continuity->new->loop;sub main{($r)=@_;while(){$r->print('
Blog post:
30. Word counter using Continuity in 139 chars of Perl:
use Continuity;Continuity->new->loop;sub main{while(){$m=$_[0]->print(”$m=$l
31. Social linking - redirects to URL left by the previous person - in 140 chars of PHP:
Example:
Homepage:
32. Self-contained webserver using Continuity in 140 chars of Perl:
use Continuity;Continuity->new->loop;sub main{while(){$m=$_[0]->print(”$m
Twitter:
33. Album Art Finder in 192 chars of PHP:
Example:
Code:
34. Micro-Twitter in 241 chars of PHP:
""){file_put_contents("1",$m.'
',FILE_APPEND);}for ($i=0;$i<11;$i++){echo $f[$i];}?>
Code:
35. Micro-Twitter in 308 chars of Ruby:
require’camping’;Camping.goes:T;module T::Models;class Tinput.d;redirect’/’;end;end;end;module T::Views;def i;form(:method=>:post){;input:type=>:submit;input:name=>‘d’,:type=>:text;};@s.each{|t|hr t.d};end;end
36. Micro-Twitter that started it all in 140 chars of Perl:
use CGI':all';print header.'
Example:
Code: http://www.f055.net/images/uploads/140charswebapp.zip
Blog post:
I am very happy it all turned out so well. I will be thinking of a next challenge for you soon, if it again magically pops into my mind, or I’ll get inspired as I did in this challenge. Or maybe you have a really exciting idea? Share your thoughts in the comments! You may also want to and message me directly with your suggestions :)
It was fun, guys! You should be all proud. Because, as I said before, it’s easy to write a lot of code. The challenge is to write short, but packed with features. That’s what it was all about. And you all proved it can be done, with awesome results! Thanks!