Michael Haubenwallner #gplus.post https://www.googleapis.com/plus/v1/people/108931164613660994654/activities/public? 2012-01-29T02:48:07.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654/about Application Developer #dartlang #files Class NodeFileSystem File system implementation using nodejs api's (for self-hos... 2012-01-29T02:48:07.000Z 2012-01-29T02:48:07.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-29:/plus.google.com/108931164613660994654/posts/GepmhLwac5Y G+ post, published at 2012-01-29, file under dartlang, files

Class NodeFileSystem
File system implementation using nodejs api's (for self-hosted compiler).

An easy method of synchronous file reading/writing ...

Read/write files server-side under frogsh/minfrog — Gist
]]>
#planetzope A short heads-up for feed readers - planetzope.org will shut down next Wednesday afte... 2012-01-28T09:56:10.000Z 2012-01-28T09:56:10.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-28:/plus.google.com/108931164613660994654/posts/NQqVV2nYZMn G+ post, published at 2012-01-28, file under planetzope

A short heads-up for feed readers - planetzope.org will shut down next Wednesday after serving Zope related news since 2004.

The source for the service is available at github.com/d2m/planetzope.org

PlanetZope.org - Zope related news
]]>
#skiiing 2012-01-24T17:58:27.000Z 2012-01-24T17:58:27.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-24:/plus.google.com/108931164613660994654/posts/YQGJ3Mgj2To
Urban Freestyle Skiing - Urban Art Core
Contrary to British Columbia, where JP Auclair is killing it, urban freestyle skiing seems not to be that popular in Europe. But I love it!
]]>
#books 2012-01-22T17:16:14.000Z 2012-01-22T17:16:14.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-22:/plus.google.com/108931164613660994654/posts/6nEikinKmVV
Underground NY Public Library
photographing the reading riders of the NYC Subways

]]>
#dartlang #searching A new set of docs is available at code.d2m.at/dartlang/dartdocs/latest/ Ther... 2012-01-22T12:17:30.000Z 2012-01-22T12:17:30.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-22:/plus.google.com/108931164613660994654/posts/hDP7naDa2DD G+ post, published at 2012-01-22, file under dartlang, searching

A new set of docs is available at code.d2m.at/dartlang/dartdocs/latest/
There is also a changelog at code.d2m.at/dartlang/dartdocs/CHANGES.txt

Changes
+Bob Nystrom checked in cool changes to dartdoc in bleeding_edge on Friday. In short, he split the docs creation into 2 modes: a static mode, creating the whole docs in HTML and a live-nav mode, creating all but the navigation in HTML and rendering the left column navigation bar at runtime - a big reduction in overall documentation file size. With a small downside: the live navigation data is read from a JSON file though an XMLHTTPRequest with every new page, thus you need a webserver to render the live nav and you experience a page flicker because of the extra request.

More changes
I wanted to integrate the search functionality with the new rendering modes. After all there now were 4 possible combinations the app needs to handle in code: with/without live-nav with/without search functionality. But integration went smooth. It took an afternoon and i pushed the results to my github mirror ( github.com/d2m/dartdoc ) of bleeding_edge dartdoc.

Did i already mention that dart is a fantastic environment to do things like that?

Even more changes
The page flicker made me crazy - i decided to remove the XMLHTTPRequest and serialize the navigation data to a dart file (as i did before with the search data). There is a 'serialize map to dart' method now that takes a Map and writes its contents to a dart file for further import/source into other files.
tl;dr the page flicker is gone and live-nav mode works from the filesystem again - see yourself at code.d2m.at/dartlang/dartdocs/latest/

github
The code is in github, based on bleeding_edge r3445, i hope to get the changes back into svn

Code is working ok
in recent Chrome and what is even more cool, it works on my HTC Desire running Android 2.2 and my Galaxy Tab running Android 3.2.
Recent FF has minor troubles again.
I use a pretty fast laptop and UI experience is fine, is it fast enough for you too?

d2m/dartdoc - GitHub
dartdoc - searchable dart documentation

]]>
#stanford #onlinecourses Just got a heads up for two stanford online courses and found out that t... 2012-01-21T09:56:15.000Z 2012-01-21T09:56:15.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-21:/plus.google.com/108931164613660994654/posts/RA397WAmhsG G+ post, published at 2012-01-21, file under stanford, onlinecourses

Just got a heads up for two stanford online courses and found out that the HCI class starts at Jan. 30 :)

Human-Computer Interaction
Human-Computer Interaction is a free online class taught by Scott Klemmer.

]]>
#dartlang #gplus #feed Atom feed from G+ postings I switched my blog to Google+ in July last year... 2012-01-18T11:47:58.000Z 2012-01-18T11:47:58.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-18:/plus.google.com/108931164613660994654/posts/b7axFqEsqFv G+ post, published at 2012-01-18, file under dartlang, gplus, feed

Atom feed from G+ postings
I switched my blog to Google+ in July last year and was happy - and more than ever - blogging since then. The only thing i missed was an RSS/Atom feed. Some time later the great plusfeed.appspot.com service appeared, but was shut-down in December. While working on the search-features for dart documentation and waiting for a small change in bleeding_edge to publish the search library i had some time to touch the feed issue again.

Dart, gplus, feedgenerator
You need a stack of libraries to get that done:
- gplus.dart requests the public activity feed for a certain user and stores the JSON data into an object structure.
- feedgenerator.dart is a port from python webhelpers/feedgenerator package.
- gplus2feed.dart finally creates an atom feed and writes it to disk.

There is no way to create a server side HTTPClient connection with dart atm, so a shell and a python script are needed to glue that thing together ( if you need that functionality too please star dartbug.com/1182 )

Feeds
I created two feeds for my G+ posts, a general one at blog.d2m.at/feed and a dartlang feed at blog.d2m.at/feed-dartlang

Hope to release the source to github soon ...

]]>
#dartlang #search hacking on dartdocs update A new set of docs is available at http://code.d2m.at... 2012-01-11T05:25:00.000Z 2012-01-11T05:25:00.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-11:/plus.google.com/108931164613660994654/posts/P381YqpoitB G+ post, published at 2012-01-11, file under dartlang, search

hacking on dartdocs update
A new set of docs is available at http://code.d2m.at/dartlang/dartdocs/latest/
(API docs are from bleeding_edge, r3131)

rewriting was fun
I had a great time iterating the current release, there are quite a few changes since last week.

reducing resources
In the last release the data needed for searching was loaded from a JSON file; the combined JSON and JS files were more than 2.6MB in size. While parsing the JSON data was fast in Chrome, FF turned out to be a lot slower.
The searchable data is now serialized to a dart file, sourced and compiled into a 900KB JS file - a big gain in size and speed. Once minfrog creates optimized, minified code the filesize will drop another 50%.

reusing existing docs
The search results are applied to the existing documentation files by filtering matching member entries and hiding other information. By that it is possible to use the searchable docs from the filesystem or with a static webserver.

works in recent chrome :)
fails in recent FF :( must be due to compiler implementation details

Give it a try and tell me what you think.

]]>
#dartlang #search hacking on dartdocs update you now search (by default) for the exact term in th... 2012-01-04T13:18:47.000Z 2012-01-04T13:18:47.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-04:/plus.google.com/108931164613660994654/posts/iYuv9LoVUkp G+ post, published at 2012-01-04, file under dartlang, search

hacking on dartdocs update
you now search (by default) for the exact term in the currently selected library, both wildcard matching and searching the whole dartdocs is selectable through the top-right checkboxes. Search term and selections are stored in cookies.

The modified docs are at http://code.d2m.at/dartlang/dartdocs/latest/

]]>
"... economy will not bounce back on its own, at least not in a time frame that matters to ordina... 2012-01-04T07:06:39.000Z 2012-01-04T07:06:39.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-04:/plus.google.com/108931164613660994654/posts/cGX6se1Nfqg
Joseph Stiglitz: “A Banking System is Supposed to Serve Society, Not the Other Way Around”
Re-examining the Great Depression, Joseph E. Stiglitz lays out the true economic challenge the U.S. faces now.

]]>
#dartlang #repl dart checkout includes a command line REPL. This is nice if you want to test a fe... 2012-01-03T09:23:25.000Z 2012-01-03T09:23:25.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-03:/plus.google.com/108931164613660994654/posts/2upCNiCDgSa G+ post, published at 2012-01-03, file under dartlang, repl

dart checkout includes a command line REPL. This is nice if you want to test a few things without a browser at hand.

install and run the dart command line REPL — Gist
Description: install and run the dart command line REPL. Public Clone URL: git://gist.github.com/1554220.git. Give this clone URL to anyone. git clone git://gist.github.com/1554220.git gist-1554220. E...
]]>
#dartlang #search Weekend hacking on dartdocs, adding a search functionality was fun - the modifi... 2012-01-01T23:13:03.000Z 2012-01-01T23:13:03.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-01:/plus.google.com/108931164613660994654/posts/AwBJwmMVTrn G+ post, published at 2012-01-01, file under dartlang, search

Weekend hacking on dartdocs, adding a search functionality was fun - the modified docs are at http://code.d2m.at/dartlang/dartdocs/ (this is an apidoc of bleeding_edge, likely there are differences to apidocs.dartlang.org).

Searching
Search terms include library, class, interface, variable, field, function and method names. Searching is case insensitive, you can choose exact or substring matching.

Performance
Search data is stored in a JSON file, loading the 2MB file is fast with Chrome, parsing takes under a second. Subsequent requests use a cached copy of the data. Using a recent Firefox is slower, parsing the JSON data takes longer.

Prototype
This is an example implementation of searching the dart documentation - to start a discussion on adding/changing search features and data structure. Comments?

]]>
#dartlang Keep your dart dev environment (bleeding_edge) up-to-date 2012-01-01T08:57:33.000Z 2012-01-01T08:57:33.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2012-01-01:/plus.google.com/108931164613660994654/posts/5B18LKYMPeg G+ post, published at 2012-01-01, file under dartlang

Keep your dart dev environment (bleeding_edge) up-to-date

update dart bleeding edge — Gist
gist. Login; Signup for a GitHub Account. New Gist; All Gists; Back to GitHub. d2m (owner). Revisions. 4f086d d2m January 01, 2012. gist: 1546778 Download_button fork. public. Private Gist. All pages ...
]]>
#dartlang 2011-12-22T06:44:19.000Z 2011-12-22T06:44:19.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2011-12-22:/plus.google.com/108931164613660994654/posts/RJV6j7qfGad
Dart API Reference
Dart API Reference. Libraries. dart:core. dart:coreimpl. dom. html. htmlimpl. json. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, ...
]]>
#dartlang #tdd Nice start of TDD in dart, source at https://github.com/masaru-b-cl/DartUnit 2011-12-18T11:57:58.000Z 2011-12-18T11:57:58.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2011-12-18:/plus.google.com/108931164613660994654/posts/FnpJTVB8zcN G+ post, published at 2011-12-18, file under dartlang, tdd

Nice start of TDD in dart, source at https://github.com/masaru-b-cl/DartUnit]]>
#schemer #invites http://schemer.com/invite/b0hm45tk70nl8 2011-12-14T21:14:43.000Z 2011-12-14T21:14:43.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2011-12-14:/plus.google.com/108931164613660994654/posts/SZZgbYwR6zy G+ post, published at 2011-12-14, file under schemer, invites

http://schemer.com/invite/b0hm45tk70nl8]]>
#definitive 2011-12-09T18:01:08.000Z 2011-12-09T18:01:08.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2011-12-09:/plus.google.com/108931164613660994654/posts/3G8MtVKMdjT
Urbanartcore.eu
Your daily news about street art, graffiti and other urban art forms.

]]>
#android nice, 3 years, history already 2011-12-09T06:30:10.000Z 2011-12-09T06:30:10.000Z Michael Haubenwallner https://plus.google.com/108931164613660994654 tag:plus.google.com,2011-12-09:/plus.google.com/108931164613660994654/posts/dfrSAM7NMZj G+ post, published at 2011-12-09, file under android

nice, 3 years, history already

Android: A visual history
Google’s Android operating system has undergone a pretty incredible metamorphosis in the three short years since it debuted on the T-Mobile G1. Think about it: three years, eight major releases. Eight...

]]>