Posted by Ian Holsman
Sun, 18 May 2008 17:49:00 GMT
Just returned from a great week in Tel-Aviv (sadly, my bags are still in De-Gaullle
), where me and a ‘small’ group of 11 people overcame the Relegence office in Tel-Aviv. So if you think I’ve been quiet last week thats why.
One of the most memorable parts was seeing a Irishman have a drink in a Irish pub, which is unheard of. I think we have a photo to proove it. It helped that it was right across the street from the hotel, and it closed @2am, when the others closed at 11pm.
On the business side, I think having these multi-office meetings are great, as you hardly get to see the people on the other end of the mailing list/conf call. Both sides now have a greater appreciation of what each other can do, and a couple of interesting uses of relegence’s technologies were dreamed up that wouldn’t have been possible without having the experts from both sides being in the same room.
Some of the interesting things that we heard this week:
Yahoo’s Geo-location ID (WOEID) – http://developer.yahoo.com/geo/ is an amazing thing that we will be looking at using if we can.
AOL’s money and finance channel (http://finance.aol.com/quotes/time-warner-inc/twx/nys) is now the #1 one ranked by comscore. Thanks to Relegence it has HUGE return visits and page views it’s related news widget gave!
Tags aol, relegence | no comments
Posted by Ian Holsman
Wed, 30 Apr 2008 22:23:00 GMT
So all I can say is UGH.
I got a dell inspiron with vista preinstalled.. and all I can say is I miss my mac.
It is such a PITA moving things over.. and I will still use my mac as my main box… but I’ll be travelling with the PC so it needs everything on it.
Why do I need the PC?
well.. I’ve changed roles inside of AOL (for those keeping notes.. I’m in Relegence), and this area is a windows shop who do stuff with .net and windows.. and i couldn’t stand the slow speed of parallels.
As for the role itself…
I’m about to play with cool toys in the information extraction area, as well as continue to play with things around hadoop and mahout.. and I can add 2 more destinations I’m required to visit. Tel-Aviv and New York. ;-)
1 comment
Posted by Ian Holsman
Sun, 27 Apr 2008 05:02:00 GMT
What does it mean when your wife declines your facebook invitation? 
3 comments
Posted by Ian Holsman
Tue, 22 Apr 2008 00:43:00 GMT
ianholsman@Perse:~$ history|awk ‘{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}’|sort -rn|head
589 hold_meeting
215 get_budget_approval
203 ask_for_status
180 reschedule_meeting
107 write_powerpoint
85 do_conference_call
73 read_mag_and_forward_stupid_article_asking_why_we_arent_doing_that
62 ask_stupid_questions
56 read_alley_insider
46 ping
Tags awk, history | no comments
Posted by Ian Holsman
Wed, 16 Apr 2008 22:57:00 GMT
TED recently released the talk Yochai Benkler did in 2005.where he talks about crowdsourcing
both the ASF and DMOZ gets a mention
Tags apache, asf, dmoz, opensource, ted | no comments
Posted by Ian Holsman
Wed, 16 Apr 2008 19:39:00 GMT
From "Don’t be Evil" to "We don’t need to be Evil".
because its true.
This yahoo/msft/aol/newscorp thing is just noise to them.
James pointed me to Latrz, which to me is a delicious clone. I’m guessing it was written in a day. My recent experience and It highilghts a couple of things to me
- Having the user api just makes sense for google in so many ways. I wish they would have chosen OpenID for openness, but If I was in thier seats I wouldn’t have.
- the next great idea will be written with appengine (or on a clone). it’s just too easy not to. I was on a conference call yesterday, and while listening I nearly coded up a django picture gallery and voting tool. now I would have been done if I actually remember WTF I was doing (I haven’t coded a django app in about a year and a half now).
- it is easier to just upload it on appengine than go through operations, and even copy it to a hosted machine I run.
- I don’t see the lock in anymore. If google announced this about a month ago, I would have a SoC project proposed to write a GFS-SQL parser for Hbase and Hypertable. (Anyone see the irony/joy of getting google to pay for it’s competition?) and it would have been done.
Posted in Business Related | Tags appengine, django, google | 3 comments
Posted by Ian Holsman
Tue, 15 Apr 2008 03:06:00 GMT
which do you recommend?
I’d rather something a bit heavier with lots of ram and disk.
I’ve been in the mac world for so long I have no idea what the other side has been doing.
2 comments
Posted by Ian Holsman
Sat, 12 Apr 2008 16:15:00 GMT
on a previous post about appengine, noodl asked a good question
<b>How does a lack of joins stop web developers from writing slow apps? Surely having to write more queries or denormalising a schema makes things slower?</b>
I was doing to write a long diatribe here (actually I did, and just deleted it).
by removing joins it forces the developer to work, and stop and think about what he is doing. writing that ‘cool’ 3-5-table join using all inner selects and left joins, while easy to type and runs great on a small dataset but usually sucks in performance. those queries can sometimes be rewritten into a set of SQL statements and a for-loop without much work by a developer. but usually these things are found about 1 week prior to launch (or 1 week after depending on if you ditched that performance QA phase when things were getting tight).
the usuall approach to these kind of things is even more ‘coolness’ you get to add a caching layer on top of your app. so instead of doing the 3-5 table join, you just get to do it for a single user every couple of hours when the cache expires, and add another layer of complexity for your operations team to maintain
The other approach I’ve seen used to great effect is pre-caching. in this example you can do it at the database layer. you take those 3-5 table join statements and just execute them in batch mode and store those results in a de-normalzed table. the web pages then reads that table instead.
so to answer your question directly. lack of joins stops web-developers from writing bad queries that the user have to wait on (and use memcache for) and they can either write the query using multiple selects (which can be faster in some cases, a wash in others, and slower in some as well) or query denormalized tables holding pre-computed results which is the fastest way.
updating the tables may be slower, but if you use async writing mechanisms the user wont be waiting for the write to occur. you may need to be a bit smart when a user has just updated something and your waiting for your writer to finish, but for most requests you can avoid that if you know the results will be there within a second/minute or so. or you can devise some sync/async writer where your update page updates some things so that the user knows it’s been updated, but his friends might see the update a bit later
Tags appengine, caching, db, memcached | no comments
Posted by Ian Holsman
Fri, 11 Apr 2008 05:57:00 GMT
locallucene, a Geographical searching plugin to lucene and solr is now powering our yellowpages site.
all the props should go to patrick, locallucene is his brainchild. .. if you use locallucene you can always send him a pizza.. as thanks
Posted in Development | Tags aol, locallucene, solr, yellowpages | 2 comments
Posted by Ian Holsman
Fri, 11 Apr 2008 03:57:00 GMT
so i had some more time to thing about appengine, and the biggest problem I can see is the lock-in. all the other things are minor
Krow weighs in about people’s complaining about lock-in. Initially I thought so too, as there is no equivalent to GQL. but then I remember about hbase and hypertable. Once some open source guy writes a GQL clone the platform is open and I see multiple hosting providers offering it as an alternative. personally I think the lack of joins a bonus. it prevents web developers from writing slow apps ;-)
the lack of language support is temporary.. I mean how hard would it be to make java not be able to access the local file system or jni? just replace/overwrite some jar files (unless you have legal issues that preclude someone doing that).
but it is still a 3rd platform, and definatly a boon to python guys. now.. what to call the generic version? Python Hadoop, And Gql (PHAG?)
Posted in Development | Tags appengine, google, python | 2 comments