• English
  • 日本語

Ian Lewis' Blog

An Ounce of Perception, A Pound of Obscure
  • Home
  • About Me
  • Book List
  • Calendar
  • Links
  • Projects
  • Gallery
  • Log in

Python Onsen

2008/06/29 @ 10:36

dcf_0208 dcf_0207 dcf_0206

This weekend I went to the Python Onsen (Japanese) organized by voluntas. Python Onsen is an event where people who like or are interested in python get together at a Japanese Ryokan/Onsen and program/mingle/study together. The event started Friday but I had to work so I joined everyone yesterday. If you aren't famaliar with the Ryokan experience check out the Ryokan link. Essentially you have a traditional style room and traditional meals are served twice a day (with generous proportions).

In between meals there was a lot of programming and talk about programming. I was recieved pretty well considering that I was the only non-Japanese in the group of 28 or so people. I spent the time here working on a form maker project for google app engine which will be using JSON quite a bit for server communication and API interfaces. It is programmed on the client side using the google web toolkit and it during the course of development it became clear that there would be a need for a way to validate incoming JSON on the client and server (for error checking and security) as well as making the interface easier to deal with. Currently the typing of the JSON data makes dealing with it in Java a real pain.

We realized this could be done with a schema, kind of like XML Schema. Something that could be used as a way to define the structure of the JSON and thus allow programs to validate it. So after searching a bit we found the JSON Schema proposal. JSON schema is maintained in JSON and can be maintained inline so if it is, it doesn't solve any security issues, but it looks like a good way to validate and do error checking on JSON data that might be coming from an external (or internal) source. So one programmer whipped up a simple validator in python which I will hopefully be working on and using on the server side of my application while I'll be going ahead and creating a clent side schema and JSON parsing library over top of, or separate from, the existing JSON library for the google web toolkit.

Pretty good for a two day hackathon.

2 feedbacks »
  Tags: Events, google appengine, google web toolkit, JSON, json schema, Python, python onsen

Twitter Page Code

2008/06/19 @ 19:14

Twitter

I took a look at Twitter's code as an example of a site that gets lots of traffic and noticed a couple things.

  1. They use Amazon S3 to store images
  2. They split the javascript, favicons, and css up across 3 or 4 subdomains (assets0.twitter.com, assets2.twitter.com, etc.)
  3. They include prototype and a version of jQuery as well as a version of script.aculo.us.
    <script src="http://assets3.twitter.com/javascripts/prototype.js?1213829093" type="text/javascript"></script>
    <script src="http://assets1.twitter.com/javascripts/effects.js?1213829093" type="text/javascript"></script>

    <script src="http://assets0.twitter.com/javascripts/application.js?1213829093" type="text/javascript"></script>
    <script src="http://assets0.twitter.com/javascripts/jquery-1.2.3.min.js?1213829093" type="text/javascript"></script>

It kind of surprised me that they include a version of prototype AND jQuery AND script.aculo.us since they aren't really light javascript files. Prototype comes in at 123kb, jQuery is 53kb, and script.aculo.us is 38kb. Seems to me that even with caching and all they could significantly reduce download traffic by sticking to one javascript library. I'm sure there is some wierd reason they do it though.

Send feedback »
  Tags: Javascript, jquery, prototype, twitter

Ohloh

2008/06/19 @ 14:34

Just found out about Ohloh, which is an open-source community website that allows users to give each other "kudos", and the number of kudos that you give and recieve affects your standing within the open source community.

What I found most interesting though is that Ohloh will aggregate information about projects gleaned from the source control commits, source code, and community status of the developers. It also seems to find licensing markers in source code and display how much of the source is provided in a particular license as well as giving warnings about potential conflicts. It's really interesting since it gives some info you might not have have known about some very high profile open source projects.

For instance Advanced Linux Sound Architecture (ALSA)'s profile look like this:

alsa

So it gives you what kind of looks like a risk assesment for the project. Alsa look pretty good. Screen on the other hand,

screen

2 feedbacks »
  Tags: community, ohloh, Open Source

Linux Hater's Blog

2008/06/15 @ 00:20

I just learned about the Linux Hater's Blog via Miguel De Icaza's blog. Super funny and super true. Users need software that works. I guess that's why the only companies run by programmers make software for programmers.

Send feedback »
  Tags: Linux, linux hater's blog, miguel de icaza

Google Developer Day 2008

2008/06/11 @ 22:04

I went to Google Developer Day 2008 in Yokohama Japan yesterday. The keynote speech was pretty much the exact same info as was given at the keynote at Google I/O where Google announced their direction, moving forward the web as a platform.

Keynote

As with the Google I/O keynote it was mentioned how Google feels that Computing power and accessability have kind of flip-flopped over the years. In the mainframe era you had computing power but no accessability, in the PC era you had accessability but lost relative computing power, and now in the web era we are getting back computing power in the form of cloud computing but we are loosing accessablity to those resources. They plan on fixing this with the, so called, three Cs. Client, Connectablity and Cloud.

The first refers to the browser, so Google wants to make the browser richer in order to give us accessability to the computing power that they can provide. They are doing this with Google Gears and some other handy browser plugins.

Connectability refers to allowing everyone equal access to resources and making sure every one can connect. This means making sure that internet lines are fast, airwaves are open etc. They see mobiles as big in the future so they hope to help the connectability problem with Android, their free, open operating system for mobiles.

Cloud refers to their vast data centers. They hope to give access to these resources through products like Appengine where developers can access the vast resources and scalability that Google's data centers provide.

Appengine Hackathon

In the afternoon I attended the Appengine Hackathon which was presided over by Brett Slatkin, who is none other than the guy in the Appengine demo video. It was interesting because from the e-mails I recieved about the event, I figured it would be in Japanese but it ended up being entirely in English. Many of the Japanese folks had trouble following along so I tried to help where I could.

In the beginning, Brett talked about Appengine and used an example wiki as a demo app. Then we went into coding our projects. At the end some folks showed off their applications. Despite the language barriers many folks came up with some really original, and cool ideas. The first was created by a Google engineer, who said he would set the bar low but ended up with one of the better applications. His app read calandar events from RSS and allowed users to add comments to it. He also implemented memcache support. There was an application with the idea to attach pictures based on the hostility/mood level of a chat message or Twitter tweet. There was a social bookmarking app, and an app to allow live translating of a django application.

For what it's worth I presented my application which I hope to make into a workable form application builder. I haven't uploaded it yet so you'll have to make do with my first Appengine application, a prefix calculator with a simple rest api.

Dinner

Afterwards I went out to dinner with a number of folks who participated in the Hackathon. It turned out to be a lot of fun and I made a lot of new friends many of whom are now in my twitter contacts ;) All in all a hugely satisfying experience.

Send feedback »
  Tags: appengine, Events, Google, google developer day 2008

Akihabara Massacre

2008/06/09 @ 01:31

NTV footage shows a police officer with a gun and baton facing the suspect in Akihabara.

Today a man drove into a crowded group of people in Akihabara and then got out of his car and started stabbing and slashing people with a knife. 7 people were killed and 11 people injured/wounded. Akihabara is the electronics shopping district in Tokyo and was closed to cars today so the road was full of pedestrians. From what I gather from the news is that the man drove his car into a pedestrian only area and hit several people. Then he got out of his car and stood over one of the people he hit and started stabbing him several times, He then came towards the station, stabbing and slashing people indiscriminately.

Kern, an English teacher in Osaka mentioned the incident on his blog. He also mentioned the trend of killers who say things like "I just wanted to kill people. Anyone would do" which has been said by several killers in the recent past so it's an interesting observation. The fact that this also occurred on the 7th anniversary of an incedent where a man killed 8 children and injured 15 other people at Ikeda Elementary School in Osaka Prefecture seems like more than a coincidence.

Akihabara is about 20 minutes by train from where I live. This apparently happened very close to the station so it's a bit hard to believe that something like this happened in an area that I have been to many times.  It's alarming to think that I could have been there. I wonder what kind of answers can be gleaned from such indiscriminate killers.

The story is also mentioned on Reuters and Japan Today. BBC videos here and here.

Send feedback »
  Tags: akihabara, Japan, killing, massacre
1 2 3 4 5 6 7 8 9 10 11 ... 45 >>
  • Tag cloud

    b2evolution blender blogging browsers computer database environment events firefox gallery2 gallery2 plugin games general gmail gnucash google google docs google notebook internet internet explorer japan japanese javascript jlpt jsxe linux media meetup mercurial mobile mochikit olpc open source peach php politics programming projects reiko scm soap travel web services website additions work wsdl xml zoho zoho creator zoho db & reports

  • XML Feeds

    • RSS 2.0: Posts, Comments
    • Atom: Posts, Comments
    What is RSS?
  • Search




  • Random Image

    IMG_2481

    IMG_2481

  • Recent comments

    • Ian Lewis on Google Analytics for Mobile Sites
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Ian Lewis on Python Onsen
    • Yagiz Erkan on Python Onsen
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Ian Lewis on Google Analytics for Mobile Sites
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Ian Lewis on Ohloh
    • Jeffrey Gelens on Ohloh
    • Ian Lewis on Gallery2 Plugin 1.4 Released!!
    • Marcia on Gallery2 Plugin 1.4 Released!!
    • joon on Internet Explorer is CRAP!! [CSS Edition]
    • Ian Lewis on Google Analytics for Mobile Sites
    • Kevin Belanger on Google Analytics for Mobile Sites
    • Ian Lewis on Suicide
    • Nathan on Suicide
    • Ian Lewis on Gallery2 Plugin 1.4 Released!!
    • Rob on Gallery2 Plugin 1.4 Released!!
  • last.fm Flickr Live Journal del.icio.us Yahoo Amazon Facebook Sourceforge Notebook Twitter LinkedIn! Meetup!

powered by b2evolution free blog software


Contact | Powered by b2evolution
Credits: Foppe Hemminga | blog soft | cheap web hosting | adsense