IRC log for #android on 20080321

00:00.13f00f-why not just use broadcast intents for async?
00:00.46jastabecause then you could not control which binder end-point is woken up for certain events.
00:01.41jastawhich, if any.
00:02.13f00f-i just have a common IntentReceiver that i plug in to any Activity that needs to listen to events, i think it works
00:02.27jastayes, of course it works.
00:02.52jastait's also very inefficient depending on the nature of the events being received.
00:03.40f00f-there should be a very lightweight message bus for android
00:03.51jastathere is
00:04.11jastait's called OpenBinder, it's implemented in the Linux kernel, and it's used for all Android IPC, including your broadcast intents.
00:04.55jastathat is what i meant earlier by "which binder end-point"
00:05.16jastaif you broadcast an intent, all registered receivers will have to wake up, receive the message from the bus, and possibly act on it, or possibly ignore it.
00:05.39jastaif, instead, you implement a service with listeners, only those endpoints actually registered to listen for events will be woken up for them.
00:05.41f00f-you can set which activity receives which intent in your manifest, right?
00:06.05jastaYes, but you can't set which activity receives which intent *WHEN*.
00:06.29zhobbsyou can if you register them on the fly
00:06.33jastayour design may need to evolve to the point that there is a general class of events that happen, but different parts of your application are interested in specifically different events.
00:06.42f00f-as in, which order?
00:07.16jastaf00f-: No, as in, based on the data contained in the event.
00:07.51jastaFor example, let's imagine you had a service that managed downloading files for you.  It could operate entirely in the background, but an activity could pop in and "check up on" all downloads, certain downloads, etc.
00:08.16zhobbsWhen using async service interface every now and then I don't get the event when called and I get "ERROR/JavaBinder(1335): *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)"
00:08.17jastaLet's say you had one app that wanted to show FTP downloads, and another that shows only HTTP downloads (not useful, of course)
00:08.54jastaWith broadcast intents, both activities would need to be woken up for download state changes, with no run-time interface to control what they are interested in from the service.
00:09.32f00f-both would get it because they're both in the same package, right?
00:09.47jastaWell, because they're both listening, yes.
00:10.06f00f-ah ok
00:10.09jastaIn this way, you are wasting resources by waking up an application that doesn't even care about the data it's being woken up for.
00:10.35jastaLikewise, what if the activity isn't running?  The intent receiver will still get constantly woken up when downloads progress, despite the user not being in a position to observe that data.
00:11.24jastaWhereas if you implemented more direct, interface-driven communication, you could have much more scalable control over this type of behaviour.  Plus, it's more logical, and easier to work with.
00:12.31f00f-true, although basically i'm just sending a few integer values across
00:12.49*** join/#android rch850 (n=rch850@c220090.ppp.asahi-net.or.jp)
00:12.55jastaright, but i would argue to you then: what is the advantage of an intentreceiver over a service with an interface attached?
00:13.15f00f-nothing, just less code and thus less complexity
00:13.24jastathe disavdvantages are clear, and they lock your design into a very crude relationship.
00:13.30jastawhat makes it less complex?
00:13.37f00f-so what you're saying is to use a observer
00:14.11jastayes, however i think your assertion about complexity is flawed.
00:14.34f00f-well i thought you need a ServiceConnection from each Activity to pass data long then?
00:14.47f00f-what kind of Observer are you speaking of?
00:14.50jastaactually, the interface-driven architecture you get from services is far simpler to understand.  the relationship much more closely matches the local semantics of program progression.
00:15.08jastawhereas an intent is moved sort of magically from one program to another, not directly attached to anything meaningful.
00:15.12jastaor logically associated with it.
00:15.54jastaf00f-: you would need a service connection to synchronize delivery of messages to your service, but the ServiceConnection class is an extremely simple abstraction of that.
00:16.10jastathe kind of observer i'm referring to is merely the observer pattern found elsewhere in OO programming.
00:16.38jastaMyService obj = MyService.Stub.asInterface(binder); // or whatever, can't remember the code exactly
00:17.04jastaobj.setOnSomeStupidEventListener(new OnSomeStupidEventeListener.Stub() { ... });
00:17.51f00f-okay, so whew, so we're not polling here
00:17.51jastaand in your activity's onStop you'd just unset your listener and call unbindService() so that the service is allowed to disentangle.
00:18.18jastaf00f-: No, this is not much different than any other type of observer.  This is why the interface-driven service approach is so superior.
00:18.26jastaIt's much more natural for the flow of both components, the service and activity.
00:19.47jastaI actually don't see where you believe this is "more complex".  Perhaps you have just not bothered with the idea of it?
00:20.14f00f-well it's just more 'code'
00:20.15f00f-:)
00:20.21f00f-things that can go wrong
00:20.23jastaHardly
00:20.41f00f-no i agree, but i think all of this should be implicitly enabled
00:20.52f00f-a lightweight message bus
00:21.08f00f-this.sendIntent(Activity1.class, bleh);
00:21.11jastait is implicitly enabled, why do you not believe it is?
00:21.23f00f-well i need to setup a service connection, etc.
00:21.25jastadon't you see the obvious problem with that sort of usage?
00:21.51jastaf00f-: Because it's IPC.  Stop being dense.  You can't just poof a process into existence out of thin air.
00:22.24f00f-if it's not active it shoulnd't be sent
00:22.28f00f-could add a boolean to that signature
00:22.32f00f-to control it
00:22.45f00f-just an idea!
00:23.48jastaIt's a very incomplete thought, f00f-.  If you filled out all the design flaws you've ignored, you'd arrive yourself at precisely how android has implemented services.
00:24.41jastaSo, instead of a 1-liner, you get a robust, efficient, reliable system that is both logically well organized, easy to understand, and in no way "magical".
00:25.34jastaAnd satisfies the requirement quite nicely of a persistent message bus across process boundaries.
00:26.08f00f-i guess you're right. i'm underthinking it a bit.
00:26.31jastayou're also hassling over what, 40 lines of code?
00:26.51jastaand how that is such a great burden to you that you have no choice but to ignore it
00:27.16f00f-well besides it being a copy and paste operation if you have many activities, there's nothing else :)
00:27.46jastahardly, most of the implementation headache is contained neatly in the service itself.
00:27.51jastanot in the activities that use it.
00:28.44jastai am telling you this as someone who has extensively leveraged a robust service-oriented system atop android.  android has done this part unimaginably well, especially by contrast to every other mobile platform i've seen.
00:29.19f00f-other mobile platforms have barely done it
00:29.47jastaoh no, they have tried.  they've just done it very poorly, and with little regard for efficiency.
00:32.49jastanow, with all my praise, i am ready to smash android on the street as a result of this fucking debugger problem i've just encountered
00:33.10f00f-LOL
00:33.27jastai *need* to debug this code, and everytime i try, the process fucking segfaults.
00:33.29*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
00:33.46jastai can't really even printf debug it.  it's in a separately distributed jar file independent of android.
00:34.46jastathe debugger lets me attach and walk around, but if i attempt to display any local variables, it crashes the process instantly
00:36.08zhobbs_avatar: were you polling your MediaPlayer with getCurrentPosition() or anything?
00:38.22zhobbs_avatar: I'm thinking that getCurrentPosition() during a prepare() crashes app...not sure though, but I put a isPlaying() check in before getCurrentPosition and I'm getting better stabilty
00:38.36_avatarnope, wasn't calling getCurrentPosition()
00:39.14zhobbsyeah, could just be one of those times where it's working and I can't get it to crash
00:40.14_avatarhmm, let me know if that solves the problem. my bug may be caused by creating more than one instance of the MediaPlayer... you said you recycle a single instance, right?
00:40.23zhobbsyeah
00:40.32zhobbsjust .reset() and then set new data source
00:40.55_avatarperhaps I should give that a shot
00:41.06zhobbshasn't crashed in a while after I added that check...so that may have been my problem
00:43.03_avatardo you ever call .release()?
00:43.33zhobbsin onDestroy()
00:44.38_avatarok, thanks. wondering if you were calling it before reset()
00:47.02*** join/#android dims (n=dims@c-66-31-154-33.hsd1.ma.comcast.net)
00:54.00_avatarzhobbs: recycling a single MediaPlayer instance seems to solve the hard crashing, but MediaPlayer.setDataSource() still throws IOExceptions sometimes. so a step in the right direction, at least
01:04.36zhobbs_avatar: yeah, I got a random IOException a little while ago...has only happened once for me
01:05.07_avatarare you playing local files or streaming them over http?
01:06.44*** join/#android inZane-_ (i=nemo@dslb-084-058-046-040.pools.arcor-ip.net)
01:06.52zhobbslocal
01:07.55_avatarhrm. do you have an OnErrorListener? sometimes mine is called with what=1, extra=0
01:08.08_avatarjust wondering if you've ever seen that
01:08.14zhobbsno, haven't been using OnErrorListener
01:09.02_avatark
01:12.01jasta_avatar: it means UNKNOWN error :)
01:12.15jastathats what "what=1" is defined as.
01:12.43_avatarah, ok. thanks. :)
01:12.53zhobbsso now you can fix it
01:12.59_avatarhaha
01:15.11_avatari guess now would be a good time to learn more about services, and just hope MediaPlayer is fixed soon
01:24.49*** join/#android yakischloba (n=jake@c-24-17-53-185.hsd1.mn.comcast.net)
01:24.59*** join/#android BlackBsd (n=brian@72.168.193.117)
01:50.52*** join/#android Kriyasurfer (n=Akashakr@c-67-166-227-32.hsd1.ga.comcast.net)
01:55.57raidfivehow do I call a method in one activity from another activity?
01:56.31raidfiveI'm not sure how to get a reference to the previous activity after calling startSubActivity()
02:00.29raidfivehmm, getParent() ... imagine that :P
02:05.16*** join/#android pombreda (n=pombreda@c-67-180-198-25.hsd1.ca.comcast.net)
02:09.28*** join/#android tmcneal (n=asdf@pool-151-199-245-93.phil.east.verizon.net)
02:14.33*** join/#android Dan_U (n=Dan@70-41-192-219.cust.wildblue.net)
02:26.18*** join/#android chaosvoyager (n=Miranda@pool-72-80-180-212.nycmny.fios.verizon.net)
02:38.29raidfivehmm, I don't think getParent() works in this context
02:38.51*** join/#android Dralspire (n=dralspir@199-96.126-70.tampabay.res.rr.com)
02:45.16*** join/#android TimRiker (n=timr@rikers.org)
02:45.53*** join/#android TimRiker (n=timr@rikers.org)
02:59.26*** join/#android The_PHP_Jedi (n=ThePHPJe@65-23-223-80.prtc.net)
03:10.16*** join/#android eton (n=eton@ppp-58-8-8-200.revip2.asianet.co.th)
03:16.49*** join/#android rch850 (n=rch850@c220090.ppp.asahi-net.or.jp)
03:26.52*** join/#android jtoy (n=jtoy@121.32.170.145)
03:36.25*** join/#android rch850 (n=rch850@c220090.ppp.asahi-net.or.jp)
03:53.55*** join/#android Dan_U (n=Dan@70-41-192-219.cust.wildblue.net)
04:13.38rhettis there a calendar app?
04:16.49*** join/#android pombreda (n=pombreda@c-67-180-198-25.hsd1.ca.comcast.net)
04:27.37*** join/#android muthu (n=sara@59.92.50.250)
04:29.59*** join/#android donnatn (i=PPCGeeks@c-68-53-210-211.hsd1.tn.comcast.net)
04:53.13*** join/#android mrspoons (n=root@c-98-226-6-195.hsd1.il.comcast.net)
04:59.12*** join/#android muth1 (n=sara@59.92.50.191)
05:12.41*** join/#android mrspoons_ (n=root@c-98-226-6-195.hsd1.il.comcast.net)
05:25.26jtoyis there?
05:25.39chaosvoyagereh?
07:02.07rhetthey, anyone up?
07:02.12jastayup
07:10.19rhetthey jasta ok, i'm going whole hog on this android app now, got about 3 weeks for the prize :)
07:10.44rhettdo you happen to know anything about calendars or charts?
07:11.00jastawell, i know *something*.
07:11.02rhetti know there are google web calendars and charts already
07:11.16rhetti mean, are there any widgets for the android platform yet, or conventions?
07:11.28rhettman, this skypop youtube video looks pretty neat
07:11.48jastanot that i know of.
07:12.04rhettthere is the calendar widget that comes in the apidemo
07:12.13jastayeah, but it's nothing special
07:22.15rhetthmm i tuses java.util.Calendar
07:24.01rhettoh ok, and the android.app.DatePickerDialog
07:25.37*** part/#android chaosvoyager (n=Miranda@pool-72-80-180-212.nycmny.fios.verizon.net)
07:33.47*** join/#android f00f- (i=f00f@virusexperts.com)
07:51.28*** join/#android mickrob1 (n=mickrobk@c-76-25-207-221.hsd1.co.comcast.net)
07:54.23jastahmm, i just realized this won't work because android's DOM parser still doesn't support CDATASection.
07:54.57jastaso, i'm gonna have to finally do the hard job of converting my entire SyncML implementation to WBXML.
08:15.38f00f-why does Location not provide for input in long's  such as megadegrees?
09:05.18f00f-seems inefficient since map ovelrays require integers
09:05.29f00f-so there is an unnecessary conversion from double/float
09:05.41f00f-especially when calculation distance between 2 Location objects
09:06.05f00f-basically i need a WGS84 (or equivalent, i dont care too much about accuracy) method for calculating distance
09:06.19f00f-i was thinking cartesian distance formula
09:06.32f00f-assume the earth is flat
09:06.39f00f-the only distances i care about are:
09:06.46f00f-1) if you're cloes it should be within 10 meters
09:06.56f00f-2) if you're far, it can be within +/- 10km or so
09:07.13f00f-close as in 0 to 100 km
09:07.20f00f-far as in > 100 km
09:07.21f00f-ideas?
09:18.51*** join/#android Zoolooc (n=fredsiba@nrbg-4dbfbc1f.pool.einsundeins.de)
09:24.23*** join/#android Yeggstry (n=mind@217.41.251.16)
09:27.46*** join/#android eton_ (n=eton@ppp-58-8-11-248.revip2.asianet.co.th)
09:31.14*** join/#android jtoy (n=jtoy@74.85.13.60)
09:32.47*** join/#android Yeggstry (n=mind@217.41.251.16)
09:36.25*** join/#android haavi (i=haavi@c83-254-99-178.bredband.comhem.se)
10:21.05*** join/#android Mathiasdm (n=Mathias@vpnc230.ugent.be)
10:28.15rhettanyone know about using charts in android?  Like jfreechart?
10:50.47*** join/#android dims (n=dims@c-66-31-154-33.hsd1.ma.comcast.net)
11:22.00*** join/#android eton (n=eton@ppp-58-8-13-67.revip2.asianet.co.th)
11:23.25*** join/#android ArteK (n=ArteK@82.177.19.205)
11:31.23*** join/#android tmarble (n=tmarble@user-38q4et6.cable.mindspring.com)
11:33.42*** join/#android acsia (n=acsia@host86-161-119-76.range86-161.btcentralplus.com)
12:04.30*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:10.40*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
12:14.30*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:17.13*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:26.15*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:27.09*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:30.09*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
12:33.36rhetthey, anyone around?
13:03.07*** join/#android krau (n=cktakaha@189.70.14.252)
13:17.10*** join/#android nemik_ (n=cyanact@c-67-173-76-34.hsd1.il.comcast.net)
13:21.44*** join/#android matt_c (n=mcroydon@137.147.45.66.cm.sunflower.com)
13:24.17*** join/#android yakischloba (n=jake@c-24-17-53-185.hsd1.mn.comcast.net)
14:04.13*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
14:10.20*** join/#android mike1o (n=mike@82.58.120.121)
14:40.01*** join/#android ArteK (n=ArteK@82.177.19.205)
14:40.33*** join/#android krau (n=cktakaha@189.70.14.252)
14:42.07*** join/#android matt_c (n=mcroydon@gozur.sunflowerbroadband.com)
14:51.23*** join/#android TimRiker (n=timr@70.1.135.7)
15:02.57*** join/#android d3ce1t (n=srg@144.Red-88-2-126.staticIP.rima-tde.net)
15:04.36*** join/#android yakischloba (n=jake@rnkfoods.com)
15:05.43*** join/#android mihoshi (n=Tylor@unas-226.interra.ru)
15:07.39jastahmm, interesting.  my app ran out of memory.
15:12.54mike1oalzeimer? :)
15:32.03*** join/#android jasonchen (n=chatzill@nat/google/x-b3796d5dc1ee4a7d)
15:45.20*** join/#android chumphries (n=chumphri@labs.niroze.net)
16:08.29*** join/#android Raven-coda (n=wtg@64.50.35.215)
16:21.45jastamike1o: i'm not sure at all how this happened.  there should not be the possibility of a persistent reference in this code
16:21.48jastamaybe a dalvik bug?
16:24.26*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
16:37.35*** join/#android pandora-- (n=neil@66.238.50.126.ptr.us.xo.net)
16:37.41*** join/#android muthu (n=sara@59.92.1.158)
16:45.29*** join/#android yakischloba (n=jake@rnkfoods.com)
16:49.38*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
16:53.02*** join/#android haavi (i=haavi@c83-254-99-178.bredband.comhem.se)
17:09.09*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
17:09.46*** join/#android soulreaper (i=soul@p4FCE634F.dip.t-dialin.net)
17:30.11*** join/#android The_PHP_Jedi (n=ThePHPJe@65-23-223-80.prtc.net)
17:33.11*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
17:45.59*** join/#android mypapit (n=mypapit@pdpc/supporter/active/mypapit)
17:46.13*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
18:02.47*** join/#android aksyn_ (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
18:08.19*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
18:19.19muthuhttp://www.newsvisual.com/newsvisual/2008/03/personal-conn-2.html
18:31.37jastathat would be evil.
18:32.25jastamuthu: the first paragraph of this article suggests to me that these people don't have any idea what they're talking about.
18:32.55benleyyeah, appears to be nonsense to me too
18:33.21jastawe all know that Google doesn't want to be bed partners with any wireless carrier.  That's in direct opposition to their plan.
18:34.03jastaGoogle clearly doesn't want to launch Android ruthlessly tethered to a particular carrier like Apple did (whethery they wanted to or not).
18:35.43jastawhether*
18:40.23jastawhoa, i just plugged in this new laptop and the connection to the socket sparked like nothing i'd ever seen before
18:40.32jastait was alarming
18:45.43muthuhey jasta
18:49.43*** join/#android mypapit_ (n=mypapit@237.32.50.60.kmr04-home.tm.net.my)
19:32.43jastamuthu: hi :)
19:33.57*** part/#android muthu (n=sara@59.92.1.158)
19:34.21*** join/#android muthu (n=sara@59.92.1.158)
19:34.33muthuenjoying your weekend?
19:34.37jastasure, it's ok
19:34.40jastajust got off work
19:34.50jastafor good friday
19:34.56muthucool
19:35.16jastanow i have the unfortunate task of debugging what appears to be a very large memory leak.
19:35.26muthuoops
19:35.39jastaand, i have to finally implement my stupid SyncML library using WBXML
19:35.42muthuhave fun!
19:35.59muthuthen its time for me to go to bed, i guess..
19:36.04muthugood night buddy
19:36.31*** part/#android muthu (n=sara@59.92.1.158)
19:43.52*** join/#android tlockney (n=tlockney@71-36-97-199.ptld.qwest.net)
19:44.14*** join/#android tlockney (n=tlockney@71-36-97-199.ptld.qwest.net)
19:55.21jastawonders if the sqlite3 format is portable
20:00.14B0janglesWhat do you mean by portable?
20:00.25B0janglesIt's LGPL, if I remember correctly
20:01.02*** join/#android Kriyasurfer (n=Akashakr@dsl027-162-152.atl1.dsl.speakeasy.net)
20:02.47zhobbsjasta: I've used a local sqlite3 db and loaded it up in android
20:02.55zhobbsjasta: haven't tried the other way though
20:03.30B0janglesph
20:03.32B0janglesoh
20:04.48*** join/#android cancer (i=cancer@125.99.201.245)
20:05.41*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
20:05.43cancerhi guys i need some sample code to test in android any help? but not in beginners level
20:06.05jastaplease be more specific
20:07.27cancerim just a beginner in android still im learning android api but i need to see its power so i need a sample code to test it
20:07.31cancersomething in pro level
20:07.45zhobbsNot really sure what's out there yet
20:08.37*** join/#android Dan_U (n=Dan@70-41-192-219.cust.wildblue.net)
20:09.01jastacancer: uhh, so you want to see "professional" code written against Android?  do you suppose that any commercially developed code for Android is open source at the moment?
20:09.30jastaAlso, what does "pro" really mean to you?  Commercial or simply non-trivial?  If the latter, you can find quite a bit of it.
20:09.30cancernot sure
20:09.59cancer'pro' i mean something far from hello world
20:10.02zhobbscancer: don't think there's anything yet, your best bet might be some of the svn repos of the projects at code.google.com or helloandroid.com/apps
20:10.14jastacancer: That isn't what "pro" means; please adjust your vocabulary.  That said, it exists.
20:10.54jastaBut none of it is released for mass consumption.  Development of non-trivial applications takes much more time than that.
20:11.16jastaAlso, you won't find the source code to many folks' Android Developer Challenge projects yet, as they are keeping them closed source until at least round 1 has ended.
20:11.22*** join/#android mickrobk (n=mmm@ucb-np1-103.colorado.edu)
20:11.39canceroh thats ok
20:13.09jastaWhy are you interested in this anyway?
20:13.20jastaIf you are attempting to learn Android, starting with well established code will not get you very far.
20:15.08cancerno just to see wats android is capable of
20:15.31zhobbscancer: keep an eye out after april 14
20:15.46jastaAndroid is one of the most flexible mobile platforms that has ever been released.  Trust us, it can do a lot.
20:16.30jastaWhat code is available for it now, while it is not even commercially launched, is not a good example of what it can do.
20:16.36cancery after 14th???
20:16.44jastacancer: The android developer challenge first round deadline is Apr 14.
20:17.37jastamany folks will be releasing their applications publicly then, and google will be choosing winners after that.
20:17.57canceroh for the round challenge eh
20:18.35jastaFor example, I am working on an application which will permit you to seamlessly access your home media collection (music, for example) through your phone and integrate social services like last.fm to enhance the player experience further.
20:21.35jastaAndroid, for the most part, has not gotten in my way at all.  However, it still has bugs and quirks currently, which are being actively fixed.
20:21.53*** join/#android TimRiker (n=timr@pdpc/supporter/bronze/TimRiker)
20:24.23*** join/#android aksyn (n=aksyn@cp1242056-a.schoo1.lb.home.nl)
20:30.08*** join/#android racarter (n=racarter@cpe-74-73-15-80.nyc.res.rr.com)
20:30.28racarterwhoa... it exists
20:30.43jastawhat exists?
20:30.46jerkface03it!
20:30.54jastathe segway? :)
20:31.00jastaor segue
20:31.04jastathe IT :)
20:31.26racarteryeah.. anyway
20:31.38*** join/#android dsm (n=dsm@65.205.207.145)
20:31.51racarterdoes this room discuss google android?
20:31.59jerkface03yep
20:32.09racarteror is it some kind of c3po chat or something
20:32.19jerkface03beep boop boop
20:32.19proqracarter: no, this is androi fanboi. discussion is elsewhere
20:32.37proq*android
20:32.43jastaracarter: Android is a mobile operating system being developed by Google and partners.
20:33.04donomoandroid is also fluent in more than five million forms of communication. oh dear oh dear
20:33.30racarterok good then my question is can i install android on my iphone?
20:33.37racarterand have it work
20:33.49jastano, you cannot.
20:34.00jastaAndroid is not an application for an existing platform, it is a platform.
20:34.27proqracarter: you can install android on some zauruses, and a very limited set of other hardware
20:35.03jastaAnd even then, you will not like the experience you find.  Much work would be required to develop it into a useful device.
20:35.13zhobbsno phones though :(
20:36.26jastaracarter: Android's current target audience is exclusively developers.  All others can happily ignore it until commercial handsets are launched at the end of 2008 and into 2009.
20:36.32racarteris the problem just lack of drivers?
20:36.45zhobbslack of source
20:36.49racartercommercial handsets produced by whom?
20:37.01jastaracarter: HTC, Samsung, Motorola, and LG.
20:37.24jastaracarter: Refer to the Open Handset Alliance web site for more details on Android's commercial interest.
20:37.30racarterandroid is using a linux kernel, is it possible to install android on a pc?
20:37.46jastaracarter: No, because Android is built for a particular ARM processor, of which your PC does not have.
20:37.50zhobbsonly arm binaries are available
20:38.31racarterhmm.. the source is available right? can it be compiled for another processor? say intel?
20:38.32jastaOf course, the emulator is how we all interact with the platform, which can run on many platforms.
20:38.41f00f-which ARM ?
20:38.53jastaracarter: No, Android is marketed as open source, but that code is being reserved for the official launch.
20:39.02zhobbs5 I think
20:39.04jastaCurrently only the kernel and webkit are open sourced.
20:39.06racarterwtf
20:39.28racarterthat's nonsense the source should be available
20:39.38zhobbsI agree, it wouldn't hurt anything
20:40.05racarterhmm.. is google a friend of open source?
20:40.11racarterwhy is google making an os anyway?
20:40.23jastaracarter: The reason they have withheld the source seems sensible, at least to me.
20:40.29f00f-isn't it obvious?
20:40.32jastaI disagree with it, and I don't like it, but I can see where they are coming from.
20:40.58jastaThey don't want to deal with the marketing fiasco that would ensue.  Lots of folks would have Android running on commercially available devices and would be "showing off" a very incomplete, embarrassingly buggy product.
20:41.06racarterwebkit.. is there a different rendering engine for mozilla?
20:41.11jastaracarter: Yes.
20:41.45racarterjasta, i don't think i agree with that logic
20:41.58jastaracarter: I don't agree with it either, but I do understand it.
20:42.05jastaand I can appreciate their reasoning.
20:42.56jastaever since Android was announced, Google has been struggling with the public relations aspect as news media is perpetually misunderstanding what exactly they mean by a "release".
20:43.17zhobbsjasta: never thought about people runnning the current buggy platofrm on their phones and Android getting a bad wrap
20:43.33jastaLike I said, Google's intentions are clear: they want developers paying attention, and end users going the hell away :)
20:45.03jastazhobbs: And they would.  I, for one, would not want to use an Android phone in its current state.
20:45.08racarterwhy do they want developers? they have plenty of their own im sure
20:45.36racarterwhat does iphone use, just a normal mac os x / bsd kernel
20:45.38racarter?
20:45.53B0janglesracarter: more or less, I think
20:45.55jastaracarter: Because Google is hoping to spur innovation through Android in what is currently a very dim and bleek mobile industry.
20:46.23jastaAnd to do that, developers must be enticed to experiment, learn, and develop for the platform.
20:46.28B0janglesracarter: porting osx applications to it seems to be fairly tribial
20:46.38B0jangless/tribial/trivial/
20:46.52racarterwhy android? why not develop for another platform?
20:46.54B0jangleswoh
20:47.05jastaracarter: This is the reasoning they have created the Android Developer Challenge.  They are hoping to throw some money behind the problem and ensure that developers pay attention.
20:47.33B0janglesblah blah blah typa blah blah
20:47.39B0jangless/typa/typo/
20:47.45jastaracarter: I can only answer for myself personally, but other mobile platforms are notoriously restricted, clumsy, poorly developed, etc.  Developer is hard and slow.
20:47.47B0janglesThat's friggin' amazing
20:48.04B0janglesjasta: J2ME is a PITA
20:48.04jastaDevelopment*
20:48.32B0jangleswhat else can infobot do?
20:48.40jastaracarter: Specifically comparing Android to Palm's ACCESS platform, Nokia s60, Windows Mobile, etc.  Android is a dream by contrast.
20:48.50jastaB0jangles: Other than a simple perl one-liner?  Probably little else.
20:49.23racarterok.. i can ssh into my iphone.. i think you can run python and ruby scripts etc
20:49.37B0jangless/[a-z]/[A-Z]/
20:49.43racarterthe android platform is nice but can it be bypassed to run normal apps
20:49.45aksynracarter: and perl :)
20:49.46jastaracarter: I doubt that very much.  Apple has placed in their licensing of the SDK that you can't develop a scripting language.
20:50.25jastaracarter: Android is not unlike other smart phone platforms in that sense.
20:50.58jastaFor example, I could go install Windows, buy Visual Studio, and develop, release and even sell my Windows Mobile applications as much as I wish.
20:51.20jastaThe difference here is that Android is well-designed, sensible, and powerful.  Windows Mobile is a kludgey piece of shit.
20:51.33racarteri think i want a linux os on my phone
20:52.15jastaracarter: Well, that's fine, but that is not at the forefront of what Android is attempting to accomplish.
20:52.40jastaLinux was surely chosen simply because it was the most sensible place to start building a new mobile OS.  It's free, can be stripped down, reasonably efficient, easy to develop against, etc.
20:52.49racarterbut, if android is installed on my phone, can i still ssh into it and do linux stuff?
20:52.55B0janglesdon't forget the fun penguin
20:53.06jastaracarter: That depends entirely.  We've been having this discussion quite a bit lately.
20:53.24racarterwe?
20:53.35jastaFor example, what if there is no shell on Android?  And no command-line tools installed?
20:53.40B0janglesyou can ssh into an iPhone, it would seem reasonable that you could ssh into an Android phone if somebody writes/ports an sshd
20:53.48*** join/#android tlockney (n=tlockney@71-36-97-199.ptld.qwest.net)
20:53.55jastaSo you could port one, and port busybox and some other tools.  And then you could write an SSH server in Java or whatever.
20:54.03jastaAnd then you could install that stuff painstakingly.
20:54.08jastaAnd then what?  Has that helped you do anything?
20:54.24B0janglesI like having sshd on my iTouch
20:54.32B0janglesSo, yes, it would be a good thing to have
20:54.41jastaRight, but aside from being a tinkering geek, what does it really provide?
20:55.03B0janglesI suppose you've got me there
20:55.32B0janglesWell, if somebody wrote a user-friendly application, one could wirelessly sync their MP3 collection
20:55.52jastaI, for example, run OpenWRT on all my routers because I adore the flexibility of iptables, tcpdump/tshark, etc.  They are powerful, elegant tools that help me run my network the way that I want and with little fuss.
20:56.17jastaAnd I think OpenWRT is a nicely developed mini distribution, with a good package management utility, etc.
20:56.39B0janglesLike, you could have an aTunes application that wirelessly synced your songs over ssh
20:56.51B0janglesAssuming your phone is also a media player
20:57.06jastaBut do I think that there is similar value in hacking my cell phone?  Well, no.  I am excited to see what other hackers come up with, but until then, I can imagine no useful reason to hack an Android phone.
20:57.22jastaB0jangles: I am developing an application natively for Android that wirelessly syncs your songs.
20:57.36B0janglescool
20:57.53jastaIt will be a lot better than a kludgy rsync/ssh mix (which wouldn't work for shit anyway because you only have as much space as your storage card provides)
20:58.11jastaThat's I suppose my point.  Mobile phones are very much so about the direct human interface.
20:58.21B0jangleshow would your solution get around storage?
20:58.39jastaB0jangles: It uses the card as a cache only, and downloads actual content on demand (but synchronizes meta data passively)
20:58.46B0janglesah
20:58.59jastaMy point is, Android is sure to be very flexible and people will do lots of cool hacking on it.
20:59.11jastaWill much of that be interesting at the kernel level?  Highly unlikely.
20:59.27jastaThat said, Google's decision to use Linux excites me very much in another way.
20:59.36B0janglessexually?
20:59.52racarteroh dear
20:59.53jastaWith the OHA, Google has ensured that we will see a new era of stable, robust Linux kernel drivers for advanced, modern cell phone chips.
21:00.11B0janglesaye
21:00.42jastaWith this, I could imagine hobbyist folks doing all sorts of exciting things by purchasing an OEM chip from say TI or Intel, putting it on a small board and installing it in their car or something to have an Internet jukebox type thing.
21:00.56jastaThey could buy a family plan or whatever, and get unlimited data, then go to down :)
21:01.00jastago to town*
21:01.30jastaand you wouldn't need to mess with hacking an Android phone at all, which would be sort of stupid.  You'd take the much smaller chip, the wealth of available Linux drivers, combine them to create your own very cool set up.
21:02.28jastaCurrently, Linux has very poor support for wireless devices.  Android is going to be a very strong force to change that, and is quite probably entirely unintentional.
21:03.11jastaThat said, do I care if I have ssh running on my phone?  No, not at all.  Do I like that Android uses Linux, is open source, and is very flexible to develop against?  Yes, very much so.
21:03.37B0janglesso if there was an installer application that had 'sshd listed, you
21:03.42B0jangleswouldn't click on it?
21:03.54*** join/#android krau (n=cktakaha@189.70.14.252)
21:04.17jastaProbably not for any other reason than to debug some broken thing I wrote.
21:05.00B0janglesfor that reason alone it would be worth having
21:05.20jastaI suppose, but I would say it is very unlikely that I will ever want to debug an actual phone.
21:05.27B0janglesshit, just to run 'top' to see that the IRC application you installed is the thing that's draining your battery...
21:05.29racarteris this an acurate statement.. google android is an development framework that wraps an underlying linux kernel?
21:05.40jastaThere is a reason why emulators exist for nearly every mobile platform.  Developing on real hardware is frustrating.
21:06.08B0janglesjasta: yeah, but before you release something, you have to test it on hardware first
21:06.29jastaracarter: More or less, yes.  Instead, I would call it an application stack, which suggests the layering of the Linux kernel, other open source components, and the Android framework as written by Google and friends.
21:06.53jastaB0jangles: Yeah, and if the emulator is worth a damn, it will work perfectly when I do.
21:07.02B0janglesgood luck with that ;-)
21:07.14jastaThe emulator isn't just some silly trick.  It emulates an ARMv5 processor and boots Android precisely as it is to be on a real phone.
21:07.34jastaAny difference between the two would be attributes to a bug in QEMU.
21:07.45jastaattributed*
21:07.47B0janglesYeah, the Sun J2ME emulator is supposed to work too, but then you test your app on a phone, and it doesn't work...
21:08.14jastaThat said, if I was a retarded monkey, I might find lots of race conditions and other concurrency nasties when moving to real hardware.
21:08.43jastaBut I am not a retarded monkey, and I can manage the complexity of concurrency just fine.
21:08.52B0janglesCarmack said it best "Write once, run anywhere? Ha! Ha ha ha ha h ah ah a!"
21:09.03jastaB0jangles: That is because the J2ME emulator is not worth a damn.  And also because J2ME is a miserable platform.
21:09.14jastaB0jangles: Yes, and that is how good developers actually work in practice.
21:09.27jastaInstead of retarded monkeys, as I previously mentioned.
21:09.28B0janglesjasta: agreed. but we have yet to see if the the Android emulator is any better
21:10.02jastaB0jangles: That's not true.  The Android emulator is simply QEMU.  We know that QEMU is quite good.
21:10.20B0janglesI hope so
21:11.46jastaWell, I have used QEMU quite a lot for many other projects.  I applaud Android for using it for the basis of their SDK.
21:12.21jastaIt would be stupid for them to have written something custom for Android.
21:31.12*** join/#android Kriyasurfer (n=Akashakr@dsl027-162-152.atl1.dsl.speakeasy.net)
21:38.58proqjasta: google didn't write android per se.  google acquired android from two very smart developers
21:39.22proqracarter: yeah, I feel your pain. I asked the same question here a few days ago
21:39.28*** part/#android bluerive1 (n=qtameic@setnip01.ericsson.net)
21:40.16proqracarter: the thing is, there are many many tools on android already. and if the phones on which android exists are geeky enough, people will port more tools to android
21:41.03jastaproq: Will you be one such person porting tools?
21:41.08proqracarter: or the opposite will happen. they will port their tools to java or ajax applications
21:41.23proqjasta: I have written an emacs client in ajax, yes
21:41.52jastaHuh?  Why?
21:42.03proqbecause emacs is my OS of choice
21:42.22jastabut why write a web frontend to it?
21:42.43proqgoogle has a similar approach. one of their summer of code projects is to write a javascript implementation over elisp
21:42.55proqjasta: well that's top sekrit
21:43.17*** join/#android B0jangles (n=tomadmin@c-98-226-6-195.hsd1.il.comcast.net)
21:43.32proqit isn't a frontend either. the entire app is in ajax
21:43.51proqwith the exception of persisting data
21:43.56B0jangleswhat is
21:43.57B0jangles?
21:44.04jastaThat doesn't make any sense to me.
21:44.06proqan emacs client I'm working on
21:44.11jastaWhat does such a thing help you do?
21:44.17B0janglesyou're writing an emacs client in AJAX?
21:44.32proqwrote, actually. it's on the shelf atm
21:44.38B0jangleshuh
21:44.56romainguy_proq: jasta: google didn't write android per se.  google acquired android from two very smart developers << ah :)
21:45.22jastaromainguy_: ?
21:46.00romainguy_jasta: assertions about what's going on are just interesting :)
21:46.08jastaproq is right about that, though.  i should adjust my comments :)
21:47.32jastaromainguy_: So, does Dalvik have any pointy GC anomalies I should know about?  Because my program's heap size keeps growing and growing...
21:47.44jastabut iam certain that there are no persistent references to the objects causing it to grow so fast
21:47.48romainguy_if your heap is growing, you're leaking
21:48.02romainguy_anyway
21:48.07romainguy_I'm away for a few days
21:48.08jastaYes, but where? :)
21:49.12proqin your code  :)
21:49.25jastaI actually don't think so.
21:49.51jastaI'm churning a lot of data, but it is tightly controlled in a scope that should be easily erasable.
21:50.04proqor you could be exploiting a memory leak in dalvik
21:50.11jastaThat's more like what I'm thinking :)
21:51.04jastakaboom, it finally exploded again
21:53.01jastafires up ddms
21:53.10jastai ahven't explored this tool much; perhaps it can help me isolate the problem.
21:53.40*** join/#android parti (n=parti@77.163.25.244)
21:58.47jastahmm, looks like it's triggered by a not so graceful allocation attempt of 115874 bytes :)
21:59.02jastaor at least, the oom killer was triggered by that
21:59.37rhettdoes anyone know of a charting library for android?
21:59.48rhetthas anyone gotten jfreechart ported?
22:00.18rhettThis is interesting, but I dont' think it's released yet http://www.youtube.com/watch?v=qZLueEEtoJ8
22:02.24rhettproq,  an emacs client in ajax?
22:02.38proqrhett: yep
22:02.53rhettis that available?
22:03.08proqrhett: no, it's not finished
22:03.10rhettwhat exactly is an "emacs client" compared to just emacs
22:03.52proqrhett: emacs can exist as a server or client
22:03.59proqrhett: for example, M-x server-start
22:04.12rhettwhat does that do?
22:04.25proqwill make your emacs act as a server that handles all emacs sessions
22:04.34rhettwerid
22:04.55f00f-ugh
22:04.58proqso if you svn commit, for example, it will switch to your running emacs instead of starting another instance of emacs
22:08.34jastahmm, busybox top on android does not seem to accurately reflect process memory usage.
22:08.44jastait shows all of the com.google.* processes for me as using 75% each
22:09.02rhettjasta, it's probably sharing resources
22:09.45jastaoh, of course
22:10.06rhettso does anyone have luck porting things like Jfreechart?  It would be good if that was open
22:10.33rhetti suspose I can draw my own charts from scratch with the 2d library
22:10.58f00f-why
22:11.11rhettwhy, what f00f- ?
22:37.53*** join/#android mickrobk (n=mmm@ucb-np1-103.colorado.edu)
22:44.55*** join/#android duey (n=Nick@203.96.223.40)
23:02.01*** join/#android pombred1 (n=pombreda@c-67-180-198-25.hsd1.ca.comcast.net)
23:02.15*** join/#android robk (n=mmm@ucb-np1-103.colorado.edu)
23:13.32*** join/#android hoopla (n=mgonzale@helios.cs.csubak.edu)
23:33.59*** join/#android tmcneal (n=asdf@pool-151-199-245-93.phil.east.verizon.net)
23:42.29jastaHmm, I think the leak is in Base64Utils.decodeBase64.....

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.