Lego Mindstorms Controlled by Pilot Via JINI 135
Nobody writes "JavaSoft has a cool article on how they've used their JINI technology to allow a Palm Pilot to control a Lego Mindstorms brick. " The scary thing is that this is one of the more useful applications of Java I've seen...
Re:Usefulness (Score:1)
Are you kidding (Score:1)
Re:This show's Jini's flaw - it requires JVM (Score:1)
there. happy?
Many more photos are available... (Score:1)
http://www
Re:The most useful java application you've seen? (Score:1)
Cellphone printing to Bangkok (Score:4)
Anyway, java is highly useful for things like quickly developing complex object and service distribution. For example, encapsulating a service (like a printer in Bangkok, say, wrapped in a java object referenced as an interface), sticking it in a naming directory (could be iiop-based, could be rmi-based, could be something similar to ldap -- java can do it all in a very similar way), and then obtaining a reference to that object and calling its methods from ANY client (an embedded applet on a cellphone, for example) -- this is very cool stuff, and lumping it into the same category as tickertape applets just because they're both java is annoying and ignorant. Should we lump all C stuff together just because it's done in the same language?
The primary advantage of doing all this in java is not platform independence as much as extremely rapid (thus less costly) development.
All this is not to say that any of this will run across linux -- based on Gosling's comments here last week, java will run with these legos and on Palm Pilots better than any linux port for the foreseeable future.
Re:Versatility of the Universe (Score:1)
We can herd the electrons this way and that. Use electromagnetism in so many ways. Yes those are versatile. Hell, to do anything usually that's how it's done. But back to my original point is that it's the device (the PalmPilot) that's special... versatile... extraodinary... and not the language (Java) it was programmed in.
---------
James Crawford
drachen@thepcmaster.com
Lego Haiku (Score:2)
Palm Pilot powered
Tiny plastic bricks of joy
The song of Lego
.................
Link to the source. (Score:2)
Re:PalmPilot infra-red control (Score:2)
Because they needed a place to put the Jini Look-Up Service. Mindstorms don't have a JVM (Java Virtual Machine) on them and the Palm Pilot only has the KJVM on it which only has socket support, and not RMI (Remote Method Invocation) which Jini Requires. They were using Jini so that a single Palm could connect to a singe tank with no problems and no hassle; no worries that two people are trying to use the same tank at the same time.
Were these PalmPilots the ones w/o infra-red ports, or did the infra-red ports not have enough range for the tanks to pick up?
They were just regular Palm Vs (I think). The range on the Palm Pilots IR *is* really pitiful (something under 2 feet) but that wasn't the point of the demonstration.
Actually, what was the point of having the Palmpilots in there in the first place, if the workstations were there anyway?
This was the JavaOne conference! They wanted to show of as much cool tech as they could. The KJVM was the BIG this this year, after all, they were selling Palm Vs for $199 with the KJVM already on it for people to play with. Jini was also a hot item and a really good idea for this particular problem. I believe people used their own Palm Vs to control the Tanks. WAY TOO COOL... :) I get giddy every time I think about it.
Re:Saw these at JavaONE (Score:1)
jakd
I didn't really ever think... (Score:1)
Dan "Don't step on the legos" Turk
Pilot + Mindstorms = fun! (Score:1)
Now, just develop a similar app for a Firecracker unit, and freak the girlfriend and the cats by going around the house and not only controlling a robotic Lego set, but turning the lights on and off at will.
Remote control: man's ultimate fantasy!
"There is no surer way to ruin a good discussion than to contaminate it with the facts."
java (Score:1)
The most useful java application you've seen? (Score:2)
Marketing (Score:1)
Sorry, but I just don't get it and I work at Sun. Why the hell should anyone care about Jini? I hear all the propaganda at work but I just don't see a compeklling reason for the world to start using Jini. Of course, I may just be daft. This may be like Novell's NDS: really cool, useful and important but hard to explain until someone actually sees it or reaps its benefits.
_damnit_
A good excuse .... (Score:1)
How come Legos weren't this good when I was a child ?
This is awesome! (Score:1)
This is great. Two of the neatest technologies to come out in the last few years brought together. Quick, give them a prize, before Microsoft steals the idea, incorporates it into Win2K, and ruins it!
Give me a BREAK... (Score:2)
That's really pathetic. We've written a robust distributed monitoring system completely in Java and integrated it into our website with Servlets. Creating a distributed system and controlling it via a servlet through RMI is insanely simple and performs suprising quickly...
I'll grant you that this is one of coolest applications of Java... but useful? You people must not get out much... heck... I don't get out much either so that's not really an excuse. If someone would just get a stable, reliable, and fast Java 2 VM running on Linux some of you people will see what Java is capable of. It's really a shame. Sun's released HotSpot on NT and Solaris, mix the two together and you have x86 on UNIX, what's the problem here?
Moe
Re:PalmPilot infra-red control (Score:2)
IR was irrelevant to the example. You could have Palm VIIs controlling the tanks over the web through a wireless connection w/ out much more code.
Also, the IR port on the Palm doesn't have a lot of range and is very directional, so you don't beam your app or business card to everyone with a Palm in the room, only the intended receiver.
In a real world app you would want a small/cheap client, like a Palm V as opposed to buying a bunch of workstations.
The idea of Jini is to put intelligence in smaller devices like a VCR, you would just plug it into a net and it would automatically be able to communicate with your camcorder, TV, satellite receiver, etc. Noble idea for the future but right now all I really just want is to be able to set one damn clock in my house and have them all sync.
Re:Marketing (Score:2)
Discovery, connection, and mobile code that runs on any device.
What's there not to see?
Lego, not Legos (Score:1)
And in case of oncoming flame, this was a joke.
A rigged demo is indistinguishable from magic (Score:2)
Re:Marketing (Score:2)
Re:Versatility of the Palm (Score:2)
As someone who writes networked code in both, I can testify to the ease of Java's networking API. Also, the advantage of the Jini network (i.e. just plug the damn thing in to start it, unplug it to stop it -- no configuration on either side) is a huge plus....
I'm not disagreeing with you though; my Palm V is one of the most useful things I own -- I just think you're missing the overall usefulness of Jini and Java.
--Mid
Re:java (Score:1)
and i called him HAL (Score:1)
char *stupidsig = "this is my dumb sig";
Re:Turn the comment around (Score:1)
Re:PalmPilot & Infrared Port & MP3 & 486 DX2 66 (Score:1)
extra software for pilot = no. a simple serial port program will do it..available free.
optimal model = a palm pro with an upgrade card. the upgrade has a more powerful LED than the standard palm iii or iv or whatever.
MP3..look on freshmeat.lots available.
yep. ive done something similar..i actually mounted a palmpilot as a linux drive off the irda port. IR comm issues = range..its not too far.
Other small, mobile objects controllable via Jini (Score:2)
I could see a lot of potential in an X-10/Jini/Palm crossover. Forget about a universal/learning remote, how about a context-sensitive remote? You just point your Palm at the TV and it automatically changes its controls to those of the television remote; point at the lamp and you get a switch, which sends a signal to your X-10 unit via the Jini proxy.
Re:A rigged demo is indistinguishable from magic (Score:1)
Re:Java has no use? (Score:1)
News Flash: Geek Hands Crushed! (Score:1)
another example here [icepick.com]
Re:PalmPilot & Infrared Port & MP3 & 486 DX2 66 (Score:1)
Re:java (Score:1)
Once again, I can only tell what I have experienced, and I have experienced *lots* of java apps. I have also coded in java for quite some time, it is a fairly easy language no doubt about that, but aside from that I found very little redeeming values about it.
Once again, just my opinion, no need to take it too personally, the java world will not end based on it.
Re:Versatility of the Palm (Score:1)
Et tu Taco?? (Score:2)
Man, that one stung! Really.
I don't know how much exposure there has been to Java applications that are actually useful, but damn!
I'm currently working in a small group, in a large company, that is developing (the group) a DB (Oracle 8) centered, distributed (web) application for designing industrial and utility-scale boilers for electricity production. We're talking 1.21 GigaWatts here, Marty! It's my first project with this new group, and it's slick as snot.
Some other notable Java apps: NetBeans and FreeBuilder (granted, they're devtools themselves, but they're java and they nifty), Lotus domino is available as a Java app.
And then there's always Applixware Office Anywhere [applix.com] that is written purely in Java.
Really, I'm surprised at the off-the-cuff derission against Java, Rob (old bean).
Re:java (Score:1)
get the webbased whiteboard edition, don't get the 2.0 version get the 3.0 version (you got 2 days left for the trial version;-).
if you have NT and a 400Mhz I can guarantee you you won't think about the fact that it is in java anymore (i don't, and believe me I have been a swing doubter for the longest time, this app turned me around when I realized "holl* S*** I forgot it was swing"). You do have to be versed in the art of UML to truly appreciate the round trip engineering and the listener structure they have build in there. Check out the latest Dr Dobbs where they delve into the layering of GUIs in swing, a good high level introduction into the power of generalized event models and layering of listeners.
Do let me know if you like it (btw it's much slower on Linux, due to the quality of the VM, but I expect that will change soon)
ejboss@ejboss.org
Most usefull Java application (Score:1)
And I would love to see someone try and implement a system like this in ANY other language in the same time/cost frame with the same flexability. I tell you it can't be done.
Re:Cellphone printing to Bangkok (Score:1)
You will care if it means that you can get the application delivered to you faster. This is especially important for in-house applications where people really care about getting the application they want quickly. Cross platform compatibility is a big plus as well.
Useful Java Applications (Score:2)
And because I wrote it in Java and used the Servlets specification, we'll one day be able to move it (not port it) to Linux.
Yeah, we could do it in C++, but why? Speed? Hm, working fine, says we can scale to thousands more folks. Development time? Nope, came together quite quickly.
Yeah, yeah, you can do OO in Perl if you try really hard. And you can write objects in Visual Basic too (or so they claim). Java makes it easy for you, and makes it harder (though not impossible) to do it the wrong way.
Or was Rob bashing java servlets? What exactly do you want people to do? HTML "applications" aren't the way to do things. We want thin clients that run across many platforms, don't we? So to break up the MS stranglehold? But we bash people experimenting with the fledgling version of this technology? What is it that we want, anyway?
I see servlets on webpages for data retrieval, traffic views, heck, even clothes shopping. It seems to work very, very well.
Zipwow
legos running NQC and not Java (Score:1)
~luge
Re:Give me a BREAK... (Score:1)
Re:Versatility of the Palm (Score:1)
I'm a comp-eng student, and have learnt a decent amount of Java. I've also played around with it a fair bit (as an aside, does _anybody_ know a decent amount about the ImageProducer/ImageConsumer framework???). I'm also trying to teach myself C++ at home, with a decent amount of success.
In NEITHER area am I ANYTHING close to expert - so please feel free to correct me about any of the details that follow.
Java - the idea - is very cool. This is what most people tout when they say JINI is blahblah, or this does that, etc etc. The whole point of Java and all it's peripheral technologies is hugely distributable code. That's really cool.
Java - the implementation - is very good in SOME ways, but fairly bad in others (AGAIN - MY OPINION ONLY! CALM YOURSELF!). For instance - a genetic algorithm program that I've written gets quite nice speeds running under the BlackDown port of JDK1.1.7 in Linux (haven't tested it anywhere else
On the other hand - any AWT stuff that I've tried to do is almost pathetically slow, especially compared to the X-Windows stuff that I've tried to do. I also suspect (but aren't sure) that the Swing components are add-ons to the whole AWT idea, and not a fundamental re-organisation of the AWT event model (am I right???). The reason that I say this is because there's lots of things about the AWT event model that suck - for instance, only one thread for the entire AWT system (how do you implement sprites easily? You can't - you have to manually write code that updates each one in turn. With new AWT threads being spawned at will, you could just "spawn" a new sprite with internal timing signals, and everything would be fine and dandy).
Look - XWindows was ALREADY a platform-independant and fast windowing toolkit (with networking capabilities too
Also - C++ (ANSI) is extremely fast and fairly standard. Java is basically a subset of the C++ methods, along with a whole bunch of new code ("libraries") and some kewl new ideas about method/class organisation, all organised in such a fashion as to make it platform independant.
So _WHY_ is it so slow? Sure, it's interpreted virtual machine code, not precompiled actualy machine codes (hence bytecodes and JVM, etc), but (for instance) VMWare runs an extremely tight virtual Intel processor that gets about 50-75% actual speed (by this I mean that if I run VMWare on my Intel processor I get about 50-75% of the actual processor speed as the speed of my virtaul processor)!
So my opinion is that Java is an extremely good idea that was moderately badly implemented. Again, just my opinion.
As a corollary, by the way, that means there's a market for good implementations of similar ideas. Because lets face it - the Java idea has so much to offer computing/programming.
One final time, Just mY oPinIon
-Shane Stephens
Re:Useful Java Applications (Score:1)
Actually... (Score:2)
~luge
Re:Versatility of the Palm (Score:2)
Not a prob. :)
[kersnip]
On the other hand - any AWT stuff that I've tried to do is almost pathetically slow, especially compared to the X-Windows stuff that I've tried to do. I also suspect (but aren't sure) that the Swing components are add-ons to the whole AWT idea, and not a fundamental re-organisation of the AWT event model (am I right???).
Essentially, yes.
The main difference between Swing and AWT is that every AWT widget has a native peer -- basically a hook into the windowing toolkit of the console's graphic environment. In Swing, every widget is "lightweight" -- it's drawn entirely through Java's neato rendering context APIs. This gives you a lot of flexibility and lets you do cool things like insta-double-buffering and translucent UI components with a minimum of effort. However, it is definitely slower.
The event model is the same for both Swing and AWT.
The reason that I say this is because there's lots of things about the AWT event model that suck - for instance, only one thread for the entire AWT system (how do you implement sprites easily? You can't - you have to manually write code that updates each one in turn. With new AWT threads being spawned at will, you could just "spawn" a new sprite with internal timing signals, and everything would be fine and dandy).
Ummm... there's only one *event* thread in AWT. You can have as many threads as you like merrily drawing away to the Graphics object of your choice. The single-event-thread system only screws you if you're doing something like multi-modal input (which I am :().
Look - XWindows was ALREADY a platform-independant and fast windowing toolkit (with networking capabilities too :-). Why didn't the Java guys just provide a set of wrappers for that???
Ever use X over a modem? Or any connection that wasn't a LAN? It is VERY high bandwidth, and therefore not a good thing to tie your windowing toolkit into when you are a networking-oriented language. And if you can't use X in that manner, why use X at all?
Wrapping X in a properly object-oriented fashion was probably more work than JS was willing to commit to.
Or at least provide a set of methods to interface with it?
We're using just such a toolkit in our next project to drive a wall-size display. No URL off the top of my head, unfortunately, but such things are out there.
Also - C++ (ANSI) is extremely fast and fairly standard. Java is basically a subset of the C++ methods, along with a whole bunch of new code ("libraries") and some kewl new ideas about method/class organisation, all organised in such a fashion as to make it platform independant.
OK, here's where I get pissed. :) ;). The fact that Sun is harping this silly cross-platform angle is incidental.
C++ is a bastard hack. It is a crufty, inelegant glomming of some OOPy-sounding keywords onto a language that was NEVER designed to be used in an object-oriented fashion. The concept of OOP was around for a looong time before C++; Java is the first mainstream P/L to be architected from the ground-up with OOP in mind. THAT is why it has greatest programming language design in the history of computing (note my omission of the word "implementation"
[kersnip] So my opinion is that Java is an extremely good idea that was moderately badly implemented.
I think every real java programmer in the world would agree with you on that one. The fact that the Creator permits a virtual-platform networking-centric elegantly OOP language to be wholly owned by a traditional "big iron" computer corporation has contributed greatly to my cynicism and festering sense of misanthropy.
Re:and i called him HAL (Score:2)
~luge
Re:Cellphone printing to Bangkok (Score:2)
I think you've read to far into his post. No where did he say that just because the software is done in Java that it's the greatest thing. All he was saying is that Java -can- do some really cool stuff.
I know that there is no such jini-like API in C/C++/etc (at least that I know of).
And wanna know what? You don't need one in C++! The great thing about Jini is that it doesn't require Java. You can use other languages and still enable your device for Jini by using proxies. In fact, if I'm not mistaken, you can even write the lookup and other services in another language such as C++!
One more thing, as a end user I REALLY do NOT care about how fast you wrote the application!
Then don't complain when software's release is delayed or due to insufficient amount of time the feature you really wanted was kept out. Those are just the tip of the iceberg - Development time does matter.
I care about speed and reliability. Maybe java has that (I have seen otherwise, but I love to be proved wrong)
The problem with all you Java nay-sayers is that your main exposure to Java is through the dinky applets spewn across the Web. Most of you are not seeing what is actually being done inside the Fortune 500 companies or some of the various academic / research projects. Nor in many cases have people who discount Java tried it themselves.. and I don't mean a little applet.
Most "real" Java users have learned that Java can be quite reliable while cutting development costs and time spent. As for the speed issue, yeah, it's not as fast C or C++ (or asm for that matter), but it's not dog slow as people make out to be. Furthermore, Java has actually exceeded C/C++ speeds in some cases using Hot Spot.
Hotspot vaporware? Nope!
JavaTM 2 Software Development Kit, Standard Edition, v.1.3 Beta [sun.com]
(Obviously, only available for Windows and Solaris at the moment..)
Re:Other small, mobile objects controllable via Ji (Score:1)
You just point your Palm at the TV and it automatically changes its controls to those of the television remote; point at the lamp and you get a switch, which sends a signal to your X-10 unit via the Jini proxy.
Yes!
This is exactly what I got about what was the "thing" with Jini - devices that can communicate with each other on the fly, dependent only on context.
Other examples using the Palm (or some other handheld) with Jini-capable devices: programming the thermostat in the house, setting the vcr, collecting voice messages from the phone (for later playback). Or as ordinary as finally making the handheld's synchronization with the desktop a lot more seamless.
Tons of possibilities...
An open call to hardware geeks out there. (Score:1)
Here is the challenge. Develop an alternative hardware, with more sensible specs. Like 1M flash ROM and 1M RAM, or more. Also, has to be extensible (3 sensors and 3 motors are not enough). Has to fit into Mindstorms case. Alternatively, has to have its own Lego-compatible case with at least 6 motor ports and 6 sensor ports.
This [uclinux.org] is probably a good place to start.
If priced at $100 (heck, even at $200) I'll buy it.
Then I'll consider to drive it with JINI. (I'll probably wont't do it anyway.)
--
Re:Marketing (Score:2)
Re:java (Score:1)
Re:Cellphone printing to Bangkok (Score:1)
Re:Lego, not Legos (Score:1)
:)
Mindstorms via palm? (Score:2)
Saw these at JavaONE (Score:2)
Miko gave his "courage under fire" award to the Lego team because, before their demo, they found out that the overhead lights screwed up the IR towers, and they figured out how to splice two towers together to get redundant coverage. Or sometihng like that. Pretty neat.
And apparently it's not pure Java (I didn't read the entire article) - the mindstorms are merely running a jini proxy, which is presumably written in NQC. At least, when I asked the guy at JavaONE, that's what he said they used.
Already There (Score:2)
Versatility of the Palm (Score:2)
I sure love my PalmIIIx. Never leave home without it.
---------
James Crawford
drachen@thepcmaster.com
What I want to see... (Score:2)
Re:Versatility of the Palm (Score:1)
Re:Turn the comment around (Score:1)
And, yes - that is kind of funny - in a sort of satirical way. The difference is that we don't need to defend Linux, nor do we feel the need to defend Linux.
The fact that people get so worked up over Java makes me worry a little, though - what are you guys trying to hide???
-Shane Stephens
Re:PalmPilot & Infrared Port & MP3 & 486 DX2 66 (Score:1)
Re:java (Score:2)
On my dual-Celeron, running the latest Blackdown JDK, HotJava and Netscape seem to be about even. Mind you, Netscape is pretty sluggish itself. (Stability's about the same too, which is pretty sad.)
Re:java (Score:1)
Your way of reusing code is copy and paste. That in it self is a maintenance problem because as soon as you duplicate, you've got two pieces of code to maintain.
About perl is a powerfull language (no argument about that). The resulting products suffer from the same maintainability problems as C and Cobol. I.e. you need a skilled programmer to understand and maintain the code. Unfortuantely these skilled programmers tend to move on and leave the companies they were working for with unmainable complicated code.
I'm not saying Java doesn't have these problems. I'm only saying that with java these problems are not so big.
Then the famous performance issue. Yawn, you've got some reading to do to upgrade your skills. There are programs out there that perform as good as C on a hotspot compiler.
Regarding AIBO & Mindstorms... (Score:2)
Here is a link to his page:
http://www.mi-ra-i.com/JinSato/MindStorms/index
There is also stuff on the LEGO site...
Re:This show's Jini's flaw - it requires JVM (Score:1)
Re:Versatility of the Palm (Score:1)
Re:java (Score:1)
of gratuitous subroutine names which is nice when your code becomes too monstrous. Really you can use c++ to be c code w/ cpp on steroids tho
Re:PalmPilot & Infrared Port & MP3 & 486 DX2 66 (Score:1)
Harddrive: A machine of that age should have support LBA (aka translating BIOS), check your CMOS settings to be sure, so there isn't a limit on the hard drive size you can put in it.
CLI MP3 player: Personally I swear by mpg123. The newer versions have jukebox support so they can be controlled from an external program (i.e. a perl script listening on your IR port)
You may find problems with your machine not being able to play high bitrate MP3s without jumping. I had a 486 DX4/120 and that could cope with 128Kbps (so long as i didn't want to use it for anything else at the same time
This would make a good topic for an Ask Slashdot (if it hasn't already been done).
The Tower of Babylon (Score:3)
What's up with the Java bashing?? I'd say one is ignorant if he cannot recognize the benefits of having more than one language. Perhaps some people think they're losing ground to 'this upstart OOP language!' - pfft. Try it, you might even understand and like it.
I use both Perl, C and Java - your choice of language should depend on what you'd like to make. Not on the degree of your stubbornness. The must go as fast as possible all the time servers - well - code them in C, optimize it in your assembler, but why not make the clients in Java? Seems logical enough to me.
Imagine all code being uncommented Perl - now wouldn't that be a riot! A true Tower of Babylon ;)
Kingpin
Lets Moderate Cmdr Taco (Score:1)
Re:Versatility of the Palm (Score:1)
Thank you so much for a good reply!
OK - enough of the sucking up. May I ask you a couple more questions?
The thing about XWindows being extremely high bandwidth, etc. over a network environment - this is surely true of ANY program that tries to control windows. If not - then this means that an extension to XWindows would be possible that DID cut down on the bandwidth.
Also, I'm still happy with the idea of transporting bytecode rather than images - I just think that XWindows is a faster way of displaying images than the AWT stuff is. And it has some neat-o features built in too.
The point I was trying to make about C++ isn't that it's nice, because you're right, it's F**KING awful!
But - it is fast. Very fast. And a lot of Java is based on C (syntax, etc) - a cut-down, partially redisgned version of C++ could look very similar to Java and be one heck_of_a_lot faster - even a Java-To-C++ translator that gave you C++ code to compile would probably end up faster than the native Java!
Which, I suppose, is exactly what we're both saying about the nasty implementation...
Oh well. Will nothing ever be done Right???
0Shane Stephens0
Re:Are you kidding (Score:1)
It *was* so much better in the old days.. you only had a few colors, and a few generic shapes, and you had to be inventive. Now, they just mould the toy in two big parts and construction consists of pushing the two parts together! That's not Proper Lego.
Re Firecracker == X-10 (Score:1)
Usefulness (Score:1)
---------------------------
"I'm not gonna say anything inspirational, I'm just gonna fucking swear a lot"
Steal Cars (Score:2)
Generic Man
Re:Mindstorms via palm? (Score:1)
http://www.friendlymachines.com/
D
----
Re:java (Score:2)
I'm exagerating a little (but only a little). I think the whole thing would be pretty limited if written in C.
I'm glad you recognize perl is evil because it is. It's syntax is a nightmare and I have feeling all these nerdy scripts currently running many websites will cause a lot of maintenance problems in the future.
Java may not be the most optimal language performance wise but Java code is highly maintainable. If you want performance, hack away in C. If you want to cut your development cost in half go for Java.
Re:Re Firecracker == X-10 (Score:1)
(thank goodness for X-10 freebies)
what I'd like to do, though, is get a Firecracker rigged up w/ my palm pilot. I could do all sorts of neat scheduling things (yeah, there's the Comp Module, but that means you need access to your comp), from my pilot, or control things w/out carying a remote w/ me everywhere. hrm... there's a project...
PalmPilot infra-red control (Score:2)
Why didn't they control the tanks directly from the PalmPilot infra-red ports?
Were these PalmPilots the ones w/o infra-red ports, or did the infra-red ports not have enough range for the tanks to pick up?
Actually, what was the point of having the Palmpilots in there in the first place, if the workstations were there anyway?
Re:java (Score:1)
As far your *yawn*, that's great. Please do provide url to "these programs out there" that perform as well as C. I will try them, I promise you. I just tried a program that was recommended by another java advocate. I will admit, it was veeeery close, but not quite there.
Re:The Tower of Babylon (Score:1)
Re:Versatility of the Palm (Score:1)
Re:java (Score:1)
I guess you still don't. Indeed it is true that it takes less experience to do a certain job in Java than in C. That does not mean that good programming skills are useless. Java rather allows skilled developers to focus on more relevant problems than fixing memory leaks. Which means they can be more productive.
I don't think the end user is a victim here because he gets more functionality faster.
"I can't help but to laugh", please share the joke and tell us why you are so valuable. Just don't forget that COBOL programmers are still wanted too. Nevertheless COBOL by now is a relic of the past. I'm not saying C/C++ (somehow I have a feeling you specialize in one of those) is going away anytime soon. Enough code has been produced during the past 20 or so years to keep guys like you busy maintaining it. You'll probably be paid well for it too since new students are not so eager to learn old languages.
As for myself, I know about C, C++, Pascal and Java. I know they each have domains where they excel. I know Java's domain is becoming larger and is starting to overlap the other languages domains.
As for my yawn, everytime Slashdot posts a story on Java, you get these people claiming Java is so slow. Usually a story follows that while loading an applet the browser crashed and that therefore Java won't get anywhere.
I've posted in several threads explaining why they are wrong over the past few months and did not feel like repeating myself. As for the faster than C claim. I'll admit it's a bit a weak claim right now. I don't have any references readily available. But if you're interest is genuine, why don't you get yourself a copy of jdk 1.3 beta (I think the hotspot compiler is include) and write some simple programs to test its performance. I've been hearing some impressive stories about it (haven't verified them).
Re:Versatility of the Palm (Score:1)
mmm-hmmm. Here is one solution our company is hoping to use: Jazz [umd.edu].
Jazz is a 2D scenegraph rendering API in java. If you've ever done any 3d work, you'll know that a scenegraph is basically a bunch of primitives (polygons, text, curves) organized in a tree structure with linear matrix transforms between nodes. This lets you scale, flip, stretch, etc. any portion of your scene simply by tweaking the values in a single transform node. More importantly, this lets you ship an arbitrarily complex user interface over the netwerk merely through specifying your initial scenegraph (with the addition of some serialized callback objects + wiring) followed by commands that mutate various nodes on the scenegraph.
But - it is fast. Very fast. And a lot of Java is based on C (syntax, etc) - a cut-down, partially redisgned version of C++ could look very similar to Java and be one heck_of_a_lot faster - even a Java-To-C++ translator that gave you C++ code to compile would probably end up faster than the native Java!
Well, the language design by itself isn't necessarily slow (although all the reflection APIs would definitely drag down any implementation). It really is the VM that makes Java annoyingly sludgy. There are a few competing efforts for a native Java compiler, the most prominent being GCJ [cygnus.com].
Oh well. Will nothing ever be done Right??? :-(
nope.
Open Source Lego (Score:1)
Do you know of an ftp server where I can get GNU/Lego? Lego model quality has been going down hill for a while (the techniccal term is Town Juniorization), and it's too expensive, so if we can just convince some toy manufacturers to come out with high quality open source lego-compatible bricks, I'd be really jazzed. Mega-blocks are almost there, but not quite, and those Ramboesque Best blocks make me cringe.
Until then, I'll have to stick with my propietary Lego ( I just counted 12 models in my office, geez).
George
Re:Other small, mobile objects controllable via Ji (Score:1)
"Tank, I need a pilot program for an XXXX helicopter" and boom, there it is...analogy with Jini, simply connect to it, request, and receive...
Ok, maybe not, but I'm tired, gimme a break...
Re:The most useful java application you've seen? (Score:1)
Oh, lighten up. He said it was cool and he featured it, didn't he? I don't remember him saying anything about it being slow.
Re:Versatility of the Universe (Score:1)
PalmPilot & Infrared Port & MP3 & 486 DX2 66 (Score:1)
What is the largest harddrive 486 can handle and cost?
Do I need extra software for the Palm Pilot?
What is the optimal Palm Pilot model for this?
What is the best MP3 software for CLI?
What are the issues with the IR communication?
And the most important one:
Has anybody done this already?
Re:Marketing (Score:2)
Jini is something really simple. The concept goes like this you have a lot of devices all able to their particular thing. In order to do so they need other devices to their particular thing. Jini is all about providing a dynamic way to let these devices help each other.
The process is really simple:
- device registers itself at the lookup service upon connection
- device asks for services it needs
- the lookup service gives back a ref to a suitable device
- two devices previously unknown to each other are now communicating
There are plenty applications for this really simple technology (I'm abit tired so I won't bother listing them, I suppose you know the way to SUN's propaganda pages).
So this is what you can do with Jini now to why should want to do it at all:
Computers are becoming smarter smaller and cheaper. Computing power and networking is becoming dirtcheap. So cheap it can be put in any device. If it can be done it will be done. So there is a need for these devices to communicate. What would normally happen is that companies start making incompatible propietary protocols for the devices communication.
But industry has learned that propietary protocols have their limitations so they want something more standard. So they sit together and try to come up with a protocol. At this point Jini comes in as an easy to use solution.
It is now only a bit more than a year rumours about Jini started spreading (I recall an article on JavaSoft June/July '98) so it has come a long way in only a year. Of course there are not many products around at this time but a lot of companies are really interested in this stuff so I expect to see some products the coming years.