Can anyone else see the irony in this billboard shot taken outside of the Javits center during LinuxWorld 2003?
Month: January 2003
-
Irony
-
Document
-
She’s In!
Congrats to Reverand Jim and his successfull fight with the US-Canadian border.
-
Programming at Python Speed
Thanks to Erik for pointing out an interview with Guido van Rossum about, imagine that, Python. There are two previous interviews also available.
-
Nvidia GeForce FX
GeForce FX NDA lifted today, reviews are up at ExtremeTech, Tom’s Hardware, and HardOCP. So far, it is indeed better overall than the 9700Pro, but not enough for it’s price. Perhaps NVIDIA has something up its sleeve for the long term?
-
Which Version am I Running?
Note to self … If you’re going to use methods present in Java 1.4, then you better fscking run your application under a Java 1.4+ runtime.
Amen to that. I’ve soo been there.
-
Super Bowl
With a few exceptions, the Super Bowl ads have been ho-hum. Where’s the Ameritrade chimp?
Kevin wasn’t impressed with the halftime show very much. Neither was I. I saw Shania live once a few years ago, and I was never quite sure if she was really singing or not. If I had to bet money, I’d bet not.
Hack the Planet points to the new Matrix trailer [really big quicktime]
-
Haha!
*Tackle*
Terry Tate: “You know you need a cover sheet on your TPS report!”
-
Parsing RSS With Java
If anyone is interested, I’ve posted the XML Schema (XSD) and ant task information that I was using to generate and parse RSS 0.91 for blojsom, my soon-to-be-released-in-a-day Java port of Blosxom. All the proper elements should be there.
-
Worms
Kenneth Hunt has some great coverage of the MSSQL worm thang that recently plagued the net.
-
Weblog Censorship
I know there is a lot about my life I don’t include in my weblog. Some of it is too boring to share, and some of it is too interesting.
-
DC-MD-VA Blogger Lunch/Dinner/Meetup
James Robertson wants to get some DC-MD-VA bloggers together. I’m in!
-
JSP Error Pages
Ack! I was without internet all workday yesterday at the store. I was hoping to elaborate on my Java jab this morning, but was unable to do so. First of all, I’d like to thank Dave Johnson for creating a kickass open-source Java-based weblogging package. I have it running behind the firewall (along with a movable type installation) to play with and test. It’s really cool. And it’s free.
I do find the stack trace when something goes wrong with Tomcat to be both a beeyotch and a blessing. It’s great if you’re trying to debug stuff or figure out which class file you’re missing, but I’d like to hide all of that info from end users. I think it would be ideal to have a simplified error page (like this example over at devshed) for end users, and enable a more detailed error page for debugging/development (DEBUG == 1). Just a thought.
Andy caught the error quicky (one of those errors that does not present itself until it is live) but not quite quickly enough. It looks like Dave is thinking of simplifying things a bit to get rid of Velocity problems. He might want to keep Velocity available as an option over a simplified macro system just in case people want to do cool Velocity stuff on a per-post basis.
-
Is This a Joke?
Not to poke fun at Java, but here’s what ended up in my RSS aggregator this morning from Andy Oliver:
A Java developer responds: 101 reasons why C# is better than Java, reasons 6-10. [VELOCITY ERROR: parsing weblog entry] org.apache.velocity.exception.ParseErrorException: Encountered “DEBUG” at line 22, column 5. Was expecting: “(” … at org.apache.velocity.app.Velocity.evaluate(Velocity.java:329) at org.apache.velocity.app.Velocity.evaluate(Velocity.java:253) at org.roller.presentation.weblog.WeblogEntryDataEx.getText(WeblogEntryDataEx.java:133) at org.roller.presentation.weblog.WeblogEntryDataEx.getDescription(WeblogEntryDataEx.java:66) at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:260) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:207) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:250) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94) at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:344) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271) at org.apache.velocity.app.Velocity.evaluate(Velocity.java:359) at org.apache.velocity.app.Velocity.evaluate(Velocity.java:253) at org.roller.presentation.weblog.rss.RssServlet.doPost(RssServlet.java:120) at org.roller.presentation.weblog.rss.RssServlet.doGet(RssServlet.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.roller.presentation.filters.RssHitTrackerFilter.doFilter(RssHitTrackerFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.roller.presentation.filters.PageArgsFilter.doFilter(PageArgsFilter.java:222) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:536)
Sorry, couldn’t resist.
-
Client Blades
Roland Piquepaille points out ClearCube‘s client blades. Pretty cool.
Blades: They’re not just for servers anymore.
-
Hello Mono!
I grabbed the mono-0.19 rpms and installed mono on one of my Linux dev boxes this afternoon. I’m at work, but that’s not going to stop me (thanks SSH!). I snagged a hello world sample and fired mono up:
[user@box mono]$ mcs HelloMono.cs
Compilation succeeded
[user@box mono]$ mono HelloMono.exe
Hello MonoIt works.
Ingo might be interested in the remoting aspects of Mono. Currently, the oversimplified not really practical basic remoting is supported. I recall Miguel saying that a SOAP serializer is either done or mostly done (maybe only in CVS) and that someone has just finished binary serialization for remoting.
I’m not a remoting guy, so I might have screwed all that up. Perhaps it’s time to break out the copy of Thinking in C# that I ordered and downloaded.
Update: For extra cool points, I snagged the source code for Thinking in C#, and took a stroll to chapter 3:
[user@box 03]$ mono HelloDate.exe
Hello, it's:
01/24/2003 17:50:16Pretty cool, though I am running into a brick wall with things like
System.Web.Services.Protocols.SoapHttpClientProtocol
which hasn’t been implemented yet. -
LinuxWorld In Words – Mono Notes
I stuck around LinuxWorld until Miguel de Icaza issued his State of the Mono Address. I’ve been following the Mono project for some time via the website, but this was much better.
C# is done, VB is 70% done, and JavaScript is 50% done. This is good. Miguel demonstrated an almost unmodified version of iBuySpy that was only really slow because it was connecting to an MSSQL server in Spain over 802.11b.
In theory, you could write an ASP.NET web application today and deploy it on a Linux server using Mono. You can reuse the docs that are available for C# and .NET (from Microsoft), and you can also reuse the docs and resources available from MS and third parties.
Miguel stressed that we should reuse the Microsoft booth (next to the Mono booth) to learn about all of the cool ASP stuff that you can do.
The Mono team is also working on a new version fo their JIT compiler which will speed up apps significantly. He also demoed a sweet debugger written in GTK# (GTK bindings for C#) and a digital camera organization app that he wrote for himself (not for you). It was running slow over a wireless connection, so he brought out the laptop to reassure us that the app was fast and non-blocking.
It is obvious that WinForms is one of the least mature parts of Mono. More people are interested in using Mono for hosting ASP apps, so that stuff is getting done quicker. He stressed several times that if we wrote some regression tests, patched some code, did some documentation, that Mono would be complete in a matter of weeks.
There is database support for pretty much every popular database that runs under Linux. You can take an exe produced from Visual Studio or the mono compiler and run it using mono.
Overall I was impressed by the state of Mono and the demos. It’s awsome to be able to take a Microsoft demo app out of the box and run it using Mono. There were only a few configuration changes that had to be made to take case specific files into consideration. Other than that, it just worked:
mono server.exe 8080
. -
LinuxWorld in Pictures
People lining up for ‘IBM Customer Day’
Intel’s PCXPO booth was cooler
JXTA Presentation at the Sun booth
Presentations at the Red Hat booth were well attended
The Sun and IBM booths were really close together
The dot-org section is where all the hackers were
This is pyDDR. It is not running on a PS2
‘Cluster’ was the buzzword of the day
Miguel de Icaza showing off his app in Mono
Miguel swore that the program was running slowly because of the wireless connection -
Dive Into Premium
Mark Pilgrim is introducing Dive Into Premium, with access to premium Dive Into content. It is subscription-based, and IMHO is very reasonable for what it will be offering. YMMV.
Wow, it’s not even April yet.
-
Skimming the News
I’ve stumbled upon many things that need to be explored in depth, but for the time being, here are a few quick links that I thought were interesting:
- [H]ard|OCP: “The mini digital media boards known as the VIA EPIA M-Series Mini-ITX mainboards get certification from Microsoft for their CE embedded OS. Kinda cool, you know a tiny OS for a tiny PC.”
- BBC: “Looking to the future, Mr Iwata said Nintendo was planning to launch a next-generation console in 2005 or 2006.”
- Roblimo had fun hanging out at the dot-org section of Linux World. That corner was less PR BS and more work/play than the rest of the show. More on that later.
- Wired News: “NEW YORK — Penguin jokes are proliferating in even greater numbers than usual at LinuxWorld 2003.”
- Greg released a new version of NewsGator.