Al Hoang

May 30, 2008

The Rails Horde at RailsConf 2008

Filed under: geek, humor, ruby — hoanga @ 11:30 am

Egads… so… many… Rails… zombies

May 22, 2008

Unbound, a possible OSS competitor to BIND?

Filed under: Open Source, tech — hoanga @ 11:40 am

A quite from this article I pulled up from Planet Sysadmin

Unbound was written by NLnet Labs, VeriSign, Nominet and Kirei. Unbound will support DNSSEC, a version of DNS that uses public-key cryptography to protect DNS results, from begriming. Unbound and BIND are the only open-source recursive DNS servers that support DNSSEC.

Seems interesting. If they can make sure to make the transition from BIND as painless as possible I’m sure it will start getting some traction. Although, if you don’t need DNSSEC and lots of fancy features djbdns handles things not so badly (in my experience).

One thing that is interesting that wasn’t mentioned in the news announcement is that Unbound ONLY handles recursive requests while its cousin nsd is an authoritative only nameserver which is similar to how the djbdns suite works. In some cases, I DO like how BIND can handle both authoritative and recursive in one binary but I guess it always depends on the situation…

Read the announcement on eweek

Unbound’s website

May 21, 2008

Animoto riding the EC2 wave

Filed under: geek, scaling — hoanga @ 8:59 am

Animoto sounds like an interesting service. Take some photos (and videos?) and some music or choose some already available and they remix it into a music video automatically. Don’t like the mix? Hit retry. Cool stuff…

Here’s a juicy quote from their blog post on Jeff Bozos talking about them:

This is about 50 EC2 instances down here. Their Facebook app kind of broke through. And so this is their Facebook app taking off. This is just three days ago, April 16th.

You can see they’ve gone from 50 instances of EC2 usage up to 3,500 instances of EC2 usage. It’s completely impractical in your own data center over the course of three days to scale from 50 servers to 3,500 servers. Don’t try this at home.

Great showcase for Cloud Computing. Too bad not ALL applications can take advantage of Cloud Computing. But glad to see ideas that can.

Read more

And oh yes… since their frontend is a Rails app of course it can’t scale

May 18, 2008

Volcanic Eruption in Chile

Filed under: geek — hoanga @ 9:43 am

Wow… thanks John

May 15, 2008

Yapc Asia 2008 Day 1 Notes

Filed under: Open Source, geek, programming, unix — hoanga @ 10:02 am

Okay first day at YAPC…

Missed most of the opening speeches and Larry Wall’s Keynote.. d’oh. Then again trying to handle the incoming rush of attendees was quite the experience. I’d say jumbled is a good word for how we handled it but at least it got handled. It’s pretty hard handling the Japanese Incoming Rush that seems such a common phenomenon in Japan.

Perl as a Second Language Notes

Sat in on the Perl as a Second Language Talk. Here are some of my messy notes

  • There is one than one way to say it
  • Some languages pay more attention to certain details than others (Lots of ways to say cousin in Chinese vs Japanese and English)
  • Showed some examples of Hello World in other languages
    • The Ruby example hung! D’oh! No that isn’t because Ruby is slow….
    • Showed the ever popular Y-Combinator example in Scheme then showed a Perl version
  • One beneficial thing about expresstivity languages is the ability to skip saying the obvious
  • What makes Perl different?
    • Perl does not have OOP built-in (Yes… I know)
    • Shows an example using autobox
    • Perl can be a good language for learning OOP (because you can learn to make your own OO system)
    • Dan defines an Object to be data that knows what to do (I welcome our self-aware Object overlords)
    • Perl objects are references! (D’oh, I need to understand what a reference is… I’ll just assume pointer…)
    • Shows an example of objects with the Mom class and Daughter class
    • our @ISA defines parent-child class relationship in Perl
  • Implementing is…
    • References - for storing data
    • bless - teach data how to find it? (Sorta spaces out here)
  • More than one way to implement OO (no kidding, look at CLOS)
  • “1″ + “1″ is not “11″ because Perl is a context-oriented language
  • However 1 . 1 IS 2 (Operators tell you a lot about what to do I guess)
  • perl -MO=Deparse is handy…
  • DWIM - Context is important for this (Somehow I don’t think I’ll ever get a computer to DWIM)

The other talks

After that… somehow I missed most of the others.. oh yeah I was busy trying to volunteer but I did manage to catch

‎mizzy’s - ‎Easy system administration programming with a framework - フレームワークでシステム管理プログラミングをもっと簡単に‎

Easy system administration programming with a framework

  • It’s called Punc (Perl Unified Network Controller)
  • I learned about CodeRepos which seems to be a popular SourceForge-like area for Japanese (Perl) hackers…
  • Punc looks like a clone of puppet except it uses JSON instead of XML-RPC for the data format to transfer
  • Looks like it’s still bleeding edge software (checkout from trunk and play with it)
  • Uses a Facter clone called PFacter (Are these two interchangeable? That would be realllly nice… otherwise you suck for making yet another clone that does the same thing but can’t be interchangeable…)
  • Dude where’s your test cases?
  • I somehow missed the reasons for writing Punc (Although because I can seems like a good enough reason for many….)
  • I guess if you REALLY want Perl for a Config Management system and don’t mind getting your hands dirty with sending patches this might work but I’m not wedded to any particular language but I am wedded to a more mature implementation
  • I’m sticking with Puppet

Afterwards came Lightning Talks which were really good. Here’s my blurry recollection of them (wish I took notes…)

  • One presenter seemed to have gotten close to written a Perl OS (Perl Machine)… whoah…
  • One presenter showed an interesting aggregator named Plagger (or was that Fastladder) that supposedly could aggregate anything on the web (supported authenticated sites yaaay) including one IRC commentors suggestion that it could be a perfect tool to aggregator pr0n pics
  • TT-something template looked nifty… wish Ruby had that
  • Text::MicroMason looked also nifty since it seemed like an ERB-clone so that’s less learning
  • Vroom::Vroom is quite impressive (VIM as your presentation tool)
  • Developing Amazon’s Dynamo in POE and Erlang showed some interesting contrasts between how the messaging would work if implemented in POE versus Erlang

Lightning Talks are probably one of my favorite events in a conference since 5 minutes really forces you to get to the point. There was also the dinner party which is what I guess you could expect from large amounts of geeks with large amounts of food and booze. Okay last day coming up! I need sleep…

May 14, 2008

YAPC Asia 2008 RejectConf Notes

Filed under: Open Source, geek, programming — hoanga @ 10:24 am

I’m at YAPC Asia this year working as a volunteer. It’s interesting mingling with the Perl folk especially since I’m not a Perl person but am curious to know more about the Perl community.

Anyways here are my scribbling notes that I’ve taken

SoozyConf

  • This is the nickname for Perl’s RejectConf
  • Should bother to look up why it’s called that

scaffoldなんてもう古い、HTMLからコードを自動生成するページ駆動開発とは - ひがやすをさん

  • I missed most of this talk
  • Seems to be like Amrita for Ruby but for Java?
  • Not so interesting for me so maybe lucky I did miss out most of this

liftで日本で10本の指にはいる方法(what’s lift) - Yoshiori

  • Talks about the Lift Web Framework (for Scala)
  • Pretty humorous intro to Scala and Lift
  • Goes through a Rails-like demo in getting started
  • Getting started seems to require svn, maven, java 1.5
  • That’s one big ugly maven command you have to run to get bootstrapped… this due to it being in development?
  • It’s mostly just ‘read the code and examples’ if you want learn at this state

トランプ・スキャナβ(playing card scanner beta) - kuboon

  • This one was very cool
  • kuboon was also the MC for SoozyConf
  • Geek Magician or Magician Geek
  • Wifi-enabled scanning device? (Looked like a mouse pad to me…)
  • Either way some really interesting twists on card tricks with that ‘playing card scanner’
  • Fingerprinting identification used in a very amusing way

Nanto素敵な平城京(Nanto, yet another waf) - tokuhirom

  • Write your own web framework in 3 hours
  • Got lost in the details… sorry

HTTP::Engine Yappo

  • This is sort of like Ruby’s Rack framework but for Perl
  • From code examples, the simple seemed simple. (But so is Webrick)
  • Doesn’t have a plugin architecture it seems
  • I got lost seeing these application stacks…

Rubyへの愛憎(Tusndere at Ruby) - gunyaraway

  • I thought this was going to be about Ruby
  • Was a very amusing music video with some jamming pachinko techno to all the things that could drive you nuts about Perl
  • The idea of Perl aggravations to a dance beat sounds very amusing and probably easier in remembering those gotchas

Paul Bakaus (‎pbakaus‎) - ‎The inner works of jQuery‎

  • Was really excited to listen to this
  • My Javascript suckiness caught up to me and I was mostly lost after the first few slides
  • Need to do more JavaScript hacking to see what was interesting about what I saw
  • Showed off helpers, custom events, namespaced events and why these are helpful
  • The helpers are actually things used in jQuery core itself

Faiz Kazi (‎fuzz‎) - ‎The Little Javascripter: Higher-Order Javascript‎

  • Title sounded cool and I wanted to like this but… the content was not as interesting for me
  • Lots of talk about Lisp and Scheme. That’s fine but I knew most of what he was talking about, unfortunately so I spaced out around here
  • Pointed out Douglas Crockford wrote The Little JavaScripter which is a JS version of the Little Schemer
  • Had some examples showing how to insert into different parts of a list in Lisp and the JS equivalents
  • Mentioned Higher Order Perl
    • Most interesting comparison was Common Lisp is to Perl as Scheme is to Javascript
  • Ran out of time at this point and it started getting interesting at this point… d’oh

Futoshi Koresawa (‎SaK‎) - ‎Devel::DFire‎

  • Name confounded me
  • A Dtrace wrapper for Perl… neato
  • Seemed easy to wrap around a web framework and help profile
  • He also mentioned Devel::DTrace and mod_dtrace (grrr competing implementations???)

UPDATE:

Just found a link to Ero Geek Conference on the Soozy website. Neato. Also there were a lot more females than I expected at this SoozyConf/RejectConf/Perl Conference. Guess that’s just a sign of Perl being more mainstream than Ruby!

May 13, 2008

Why does RTFM with GNU manpages just suck

Filed under: gripe, stupid, unix — hoanga @ 9:00 am

After looking at a seriously useful tip for cleaning out a clogged postfix queue I puzzled over the -r option in xargs. I’m not an xargs master but I figure if I need it I can always RTFM.

Well man xargs on my Ubuntu box provides the typical GNU fair and I spend the next way too long time period looking for where the -r option is. (The full option is –no-run-if-empty).

Sadly, I ended up finding it faster with a Google search on this web page that has some find-fu and xargs then looking again at the GNU manpage and finally find the option buried just before the EXAMPLES section.

I guess I should be happy this time around, there are some GNU manpages that don’t even HAVE documentation (at least compared to the *BSD brethren). Grrrrrr

May 10, 2008

Programming languages for your WinCE device

Filed under: geek, programming, tech, windoze — hoanga @ 9:29 am

I got this WinCE device that I’ve been trying to wrangle into a nice cozy environment to do useful things so the first thing I started looking at was the availability of development tools that I can use directly on the device.

In general, I prefer Ruby however I’m not wedded to it since I’d prefer a language that is more

  • More mature for the host OS it’s running on
  • Can actually DO something besides Hello World
  • Actually can access standard libraries that would come with the desktop version (I don’t just want the language core)
  • Maintained to some degree
  • Not a PITA to install

After looking around I dug up the following :

  • Ruby WinCE
    • Has Ruby 1.8.6
    • Maintained to some degree
    • Not much docs in English (that’s fine I read Japanese)
    • The installer is basically unzip and plop into a directory somewhere
    • Not much docs on what to do with it
    • Looks like a “I got it compiled don’t know if it really works” project
    • Seems there can be string handling issues
  • Ruby CE
    • Also Ruby 1.8.6 based
    • Seems to be in active development
    • Looks like the developer is actually trying to get real code working with it
    • More documentation on how to install and bootstrap it
    • Seems more promising for using it for real coding over Ruby WinCE
    • No lazy installer. Zip files that need splatting on the filesystem
  • Pocket Scheme
    • An implementation of the Scheme programming language (Not all of it though)
    • UTF-8 support (woot!)
    • Rather well maintained
    • The interpreter/IDE integrates better with the OS
    • Supports cut and paste better
    • Actually has working sockets
    • Can do file manipulation
    • Code samples!
    • Lazy Installer
  • Python CE
    • A Python implementation for WinCE devices
    • Looks actively maintained
    • Actually has a wiki for documentation and it doesn’t seem THAT dead
    • Python 2.5 support looks like its available
    • Installer available
    • Docs seem pretty good
  • PPC Hugs
    • A Haskell (Hugs-based) implementation for WinCE
    • Looks like someone’s school project
    • Marked as alpha quality
    • No idea what actually works
    • Looks like another “It Compiles” projects
    • Doesn’t look like its actively maintained
    • Documentation looks sparse
    • No lazy installer
  • Perl CE
  • WinCE Emacs
    • Okay okay, not REALLY a programming language but… Emacs LISP is close enough…
    • Looks like you’re stuck at Emacs 20.7
    • Not sure keybindings on WinCE device will be liveable for a Emacs neophyte like me
    • Not sure if there is active development to bring more recent Emacs versions
    • Seems to have a lazy installer
    • Emacs Wiki Page on WinCE Emacs

Also pocketpcfaq.com has a nice listing of languages you can run on your WinCE device.

Too bad I didn’t find any of the following:

  • OCaml
  • Erlang
  • Common Lisp

So after looking at the choices, I think I’m down to Pocket Scheme, Ruby CE, and Python CE. I guess I’ll try them all and report which one seems like the easiest to just goof around with and get something useful done on a CE device.

May 5, 2008

A Deploying Scala story, “It’s just another Java library”

Filed under: java, programming, scaling, tech — hoanga @ 10:14 am

From Artima’s Developer Buzz feed I picked up this story on someone managing to sell to management the use of Scala in a project. There is a little bit talk about performance and ease of deployment which could be good points depending on your environment…

We also had an occasion to have 2,000 simultaneous (as in at the same time, pounding on their keyboards) connections … thanks to Jetty Continuations … and an average of 700 requests per second on a dual core opteron with a load average of around 0.24… try that with your Rails app.

So, to this customer’s JVM, the Scala and lift code looks, smells and tastes just like Java code. If I renamed the scala-library.jar file to apache-closures.jar, nobody would know the difference… at all.

For a Java shop deploying a Scala app might not be AS big a deal. However, when you have a clean slate and don’t even need to sell Java just a solution selling Scala becomes a little bit more blurred.

Read it yourself

May 3, 2008

What the fork are you doing Pidgin devs?

Filed under: Open Source, gripe, stupid — hoanga @ 9:58 am

After glancing at the Slashdot post on the forking of pidgin and wasting far too much time slogging through the ticket that caused a bit of strife, I’m pretty sure I will move away from Pidgin until the developers stop being dorks (highly unlikely since they seem to develop only for themselves).

Quick quick summary of the whole issue. The pidgin developers decided to make the input text box very small and auto-resizing (up to a certain point) based on some fancy heuristic. Quite a few users have jumped up and down and requested to make this optional however the pidgin developers basically said, ‘Go take a hike’. There has been quite a bit of reaction to it, including the creation of a plugin to bring back old functionality to a full on fork of the whole project.

In general, forks are a bit of wasted effort to the Open Source community as a whole but one will never get the idea situation where all developers will just ‘get along’ and combine their energies into the One True Implementation. So, from a pragmatic standpoint, forking seems to get the job done although with a lot of burnt cycles.

I believe migrating to something like Funpidgin (A fork of Pidgin that aims to be listen more to the community) and making sure that it gets enough momentum to stay alive is probably the best answer to extremely stubborn developers wanting to do things their own way at the expense of the ‘users’. However, I guess we’ll just have to wait and see if the fork gets enough energy to keep itself running.

NYTimes.com design director, Khoi Vinh, answers some questions

Filed under: tech, tiengviet — hoanga @ 9:33 am

I’m not much of a designer type person but I find Khoi’s answers to some of the questions posed regarding the information design of the NYTimes site interesting since it is a continual battle in trying to add more but use less to say more.

Here’s a quick snippet:

You can think of it as an elaborate logic puzzle, with the onus on my design staff to solve the puzzle using as few elements as possible, in as aesthetically pleasing a manner as possible. We strive to distill every template that we create down to its core parts, and actively debate the placement of nearly every element.

Read more here

Powered by WordPress

Protected by AkismetBlog with WordPress