"plasTEXis a collection of Python frameworks that allow you to process LaTEX documents. This processing includes, but is not limited to, conversion of LaTEX documents to various document formats. Of course, it is capable of converting to HTML or XML formats such as DocBook and tBook, but it is an open framework that allows you to drive any type of rendering. This means that it could be used to drive a COM object that creates a MS Word Document. The plasTEX framework allows you to control all of the processes including tokenizing, object creation, and rendering through API calls. You also have access to all of the internals such as counters, the states of “if” commands, locally and globally defined macros, labels and references, etc. In essence, it is a LaTEX document processor that gives you the advantages of an XML document in the context of a language as superb as Python."
- DeWitt Clinton
"Eureqa is a software tool for detecting equations and hidden mathematical relationships in your data. Its primary goal is to identify the simplest mathematical formulas which could describe the underlying mechanisms that produced the data."
- Amit Patel
from Bookmarklet
Yah, I am in complete disbelief over the comments, even over forums like Hacker News. The most polite way you can call them is with the word "jerk". What the fuck are these people really thinking? :/
- Ashwin Bharambe
(I dont work for either Google or Etherpad, btw)
- Ashwin Bharambe
have you read the comments to that post? also: http://friendfeed.com/paul... -- it looks like a lot of people (and teachers) will be missing a valid and dead easy to use product
- alieb
DeWitt, I hope Google will listen to the user community and creates a solution. Please don't be evil. I know you won't.
- Shakeel Mahate
@alieb - I clearly wasn't involved with this deal, but I imagine the hope is that Google Wave will do everything EtherPad does, and more. If you appreciate the design sensibilities of the AppJet team (as I do), with luck many of the things we like about EtherPad will appear in Wave as well. But your point is well taken, and I'm sure it will be resoundingly heard by the people involved.
- DeWitt Clinton
That's good news. Much is expected; please deliver ;)
- Itachi
In other words, we're going to Google now. All you Etherpad users are SOL.
- Morton Fox
Any chance you guys can support Information Cards with this? OpenID support is good, but it always works best when you can pull those OpenIDs to the client.
- Jesse Stay
Otherwise you're still reliant on BigCos like Google to store your identity.
- Jesse Stay
Nevermind - I guess since they're OpenID apps like Azigo that create information cards can just pull this information.
- Jesse Stay
Still trying to get my head around all this, but I love where it's going.
- Jesse Stay
I'm starting to loose count of the number of openID's i have....
- Roberto Bonini
Roberto, use a program like Azigo (I can't until they support Snow Leopard) to manage them all as Information Cards. You can do some interesting stuff with that.
- Jesse Stay
Thanks jesse. I knew there was somthing like that around, just couldn't remember the name.
- Roberto Bonini
Roberto, after you install it be sure to check out http://appdirectory.kynetx.com (it's still very much in its infancy) and try adding some selectors as well. There's some pretty cool things you can do with Context on top of those IDs. This is all the beginning for ID, and the future for much of the Web.
- Jesse Stay
I would love to see SideWiki work as a Selector in apps like Azigo. :-)
- Jesse Stay
Hopefully you won't need Azigo in the future and all this just integrates into the browser. Mozilla's kinda trying to do that with Weave (although it appears they're reinventing the wheel with their own form of "Information Cards")
- Jesse Stay
Also for the curious, I set up my vanity URL at http://dewitt.unto.net/ to delegate to Google as my IDP. Tested on several OpenID2 compliant RP's and it seems to work pretty well. View the source of that page to see how I did it. Note that I'm not 100% sure I'm doing it right, and I still haven't made quite figured out how to make openid1.1 delegation work, but it's a start.
- DeWitt Clinton
I'm curious if your rank will be higher if you point to a Google profile vs. another IDP. Matt Cutts???
- Jesse Stay
@Jesse -- wait, do you mean would my vanity URL rank differently depending on what IDP it points to? I highly doubt that!
- DeWitt Clinton
"We're at a critical juncture in the evolution of software. The web is still here and it is still strong. Anyone can still put any information or applications on a web server without asking for permission, and anyone in the world can still access it just by typing a URL. I don't think I appreciated how important that is until recently. Nobody designs new systems like that anymore, or at least few of them succeed. What an incredible stroke of luck the web was, and what a shame it would be to let that freedom slip away. I do not wish to fight any mobile device makers who want to create a software ecosystem and act as the gatekeepers for that ecosystem. What I do want to fight for is the viability of the mobile web. Developers are rushing to create native apps, meanwhile letting their mobile web apps atrophy (I have certainly been guilty of that myself). Web technology is still relatively weak, and improving slowly. At this pace, what will the mobile web look like in 10 years? Will we...
more...
- Paul Buchheit
from Bookmarklet
But will Facebook stop working on iPhone apps just because of this? No. Neither will Google. Unfortunately, the big companies that have the clout to do something will not stand up for developer's rights, as long as the consumer insists on buying the iPhone and other such locked down devices.
- Piaw Na
In fairness to Google they are fighting for openness in the one conduit they control which is Android. Its asking a lot to expect them to completely boycott iPhone which would be their only other leverage with Apple.
- Ed Millard
Well, then I should expect Facebook to support Android, as well as all the other companies that have the resources to do so. :-)
- Piaw Na
Piaw, are you saying that facebook isn't supporting android? last i checked there was a facebook android app -- plus, this is just one guy's opinions, he does not speak for facebook (as far as i can tell)
- Chris Heath
Piaw, I'd imagine that Apple's non-approval of several Google apps has prompted Google to devote more resources to making superb Android apps (and yes, apps for the Pre and Blackberry) than iPhone. Where it really hurts is apps that have a hardware component. I don't know many/any developers willing to make consumer apps for the iPhone that require a hardware component because the rist...
more...
- Kevin Fox
I imagine Facebook is putting their resources in the ports their user base is demanding. The number of users they have on iPhone demands attention, and shorting it for reasons that are somewhat political probably isn't wise. With the growing popularity of Android it will probably warrant increased resources. Kind of sounds like Joe would rather make the web app work better and that would be more platform agnostic though its pretty hard to do a really exceptional mobile experience through a browser.
- Ed Millard
Is there a FB ad on Android? I switched from Android back to Blackberry earlier this year, but I definitely remember that there was no Android app before I switched.
- Piaw Na
I guess he's got his heart in the right place, but I can't get too worked up about this issue, not coming from the console game work, where all the platforms are locked down and always have been.
- Andrew C
from Android
I've never seen a major-label game be blocked from publication on a major platform for ambiguous and arbitrary reasons. Imagine if Modern Warfare 2 requires a patch to fix a hack and Microsoft decided to disallow it because they've decided that they don't want warfare scenes that take place within the United States? That's a fairer comparison.
- Kevin Fox
I have heard a few horror stories of games being rejected, or at least delayed, because the console manufacturer in question had its own strategic reasons for doing so (because they had a similar in-house game coming out, or because they thought there were too many similar games coming out at once). Not quite the same thing, but still a pretty dangerous situation if you're the developer.
- Joel Webber
Console platforms have a limited life (try playing the PS games on the PS3). Phone OS, however, look like they'll be around for the long term.
- Piaw Na
Joel, those reasons aren't ambiguous nor are they arbitrary.
- Chris Heath
They may not be literally arbitrary, but they are still opaque to the developer, and not in the developer's best interest. Not precisely the same thing (and probably less common), but close enough to bear mentioning.
- Joel Webber
Piaw, dude, you switched from Android to Blackberry? You are a man who loves outdated tools :)
- j1m
The switch was entirely based on my need for international roaming data plans at $20/month flat fee (this is on top of the standard fee, but the only time I *really need* data is when I'm roaming!). If any other smart phone came with that feature, I'd switch.
- Piaw Na
Joel, when an app is rejected at the time of a bugfix for reasons that existed in the released product for months, or when an app is rejected for an issue which exists in dozens of other apps that have been approved and a developer is shunned when bringing up this inconstant application of rules, then yes, I would call it arbitrary.
- Kevin Fox
Sorry, Kevin, wasn't being clear -- I was just responding to the assertion that console approval processes weren't as arbitrary as Apple's. I agree.-- Aplle's is even worse, and that's saying something!
- Joel Webber
"Last night saw Google pushing out the source code for Android 2.0 to the Android Open Source Project (AOSP). In just under a few hours, the Android developer community had it working on a G1. Yep. You read it right. The “likeness” picture we created for this post stems from a screenshot taken by Android hacker-extraordinaire Cyanogen."
- imabonehead
from Bookmarklet
As soon as I get this, I'm going to get a Droid body kit and a really big spoiler for my G1. It will look like the land speeders in Star Wars.
- Adrian
This is really hard to do in a language that separates compiling and execution.
- Gabe
That part is solved by a two pass strategy, the big problem is any language with significant syntax requires writing essentially AST-transformations for macros. Treating code as data in an infix-algol style language essentially turns macro writers into parse tree manipulators in the worse case. You can hack it with a templating approach, but it won't be as powerful as macros in lisp derivatives.
- Ray Cromwell
The Go designers aren't Lisp fans. That's ok, they couldn't have designed a better Lisp than Lisp. Go is designed explicitly to enable one pass parsing. That's where speed of compilation comes from.
- Piaw Na
While Lisp macros are indeed really cool in their own way, they're also somewhat antithetical to the idea of good tooling. You can't usefully answer questions like "who calls this function" if you've got a piece of Turing-complete code arbitrarily transforming the syntax tree at runtime.
- Joel Webber
Didn't Scheme's hygienic macros fix that problem?
- Piaw Na
speaking of which, why couldn't clojure be the next big systems language? would be interesting to compare performance especially in the highly concurrent on multicore scenario (where clojure claims to have a sweet spot)
- Karl Rosaen
i know there's a distinction where "systems languages" means statically typed and compiled, but in terms of something that works really well for writing highly concurrent efficient backends, clojure might be fast enough. and I wonder how often most programmers need direct access to the hardware these days (google obviously does, but for everyone else building on top of cloud infrastructure)
- Karl Rosaen
@Piaw: I'm no expert on Lisp macros, but my understanding of hygienic macros is that they could still introduce new references that would be invisible to static analysis. So if I wanted to ask the question "is the following function referenced anywhere, or can I nuke it?" I'd be screwed if a macro generated a reference to it. Java reflection and bytecode tricks (like Guice, et al) have the same problem, and I'm not a big fan of them for that reason.
- Joel Webber
@Karl: I'd have a difficult time defining as a "systems" language one that is "fast enough for some tasks, but not all". E.g., Erlang works great in telecom switches because of its parallel architecture, but you still need to write the parts that need to be fast in a "systems language" (usually C or similar). I don't know a great deal about Clojure, but I understand it to be dynamically typed, which pretty much caps its performance at about an order of magnitude worse than C for many important use cases.
- Joel Webber
(And yes, I know there are cases where compiled Lisp code ends up running at C-level performance, and the same can be true of Javascript, et al, for some cases. But it's most definitely *not* true in the general case, and (IMHO) a major point of a systems language is to be able to generate code that runs within some small percentage of the machine's theoretical performance)
- Joel Webber
@Joel, Ignoring the case where function references are programmatically constructed, it is possible to statically analyze Clojure code to find a superset of the functions referenced at runtime. Plain Java can generate class and method references programmatically, so this aspect is no different for Java and Clojure.
- Gary Burd
Dynamic invocations in Clojure can be removed using type annotations (a compiler warning for dynamic invocations can be enabled with a flag). Because Clojure uses the JVM, all of the issues that prevent the Java from being used as a "systems language" also apply to Clojure.
- Gary Burd
Clojure can also run on the CLR, as I understand it. But Clojure is just another Lisp, designed to integrate into VMs like the JVM and CLR, so I don't see how it would be any better of a systems language than any other Lisp. The only really nice features that Clojure brings to the Lisp party are fast maps and vectors.
- Gabe
@Joel: no, you can't introduce new references that would be invisible to static analysis with hygienic macros is my understanding. Even with regular Lisp macros, that would be hard and an easy case to throw out.
- Piaw Na
@Gary,Piaw: If you can indeed statically analyze macro-fied Clojure code to find all references to a function, that's wonderful. I freely admit to being no macro expert. I would also argue that Java code bases become unwieldy to the extent one uses unanalyzable dynamic patterns, as it becomes much more difficult to understand someone else's code, and to refactor without breaking things....
more...
- Joel Webber
@Gabe, In addition to maps & vectors, Clojure brings these really nice features to the Lisp party: persistent data types, STM, seamless integration with Java. None of these things help with "systems programming". That said, Clojure is awesome. If Java or Python is appropriate for your problem, then consider using Clojure.
- Gary Burd
Also @Gary: I agree that neither Clojure nor Java really qualifies as a systems language. It's kind of a fuzzy term, but I would argue that such a language should impose no significant performance ceiling over native code, and be capable of interacting with system calls and the like.
- Joel Webber
Joel, yeah defining what a "systems language" even means can be tricky, good ol' wikipedia has a nice discussion http://en.wikipedia.org/wiki.... but my point is that I might view go as a special purpose language for when you *really need* to interact directly with the native OS and hardware and want something better than c/c++, otherwise you have a lot more choices, even when speed is a primary concern
- Karl Rosaen
The basic question for a systems language IMHO is, could you write deterministic real-time device driver using it. Could Go for example, be used in missile guidance, or a reaction control system for say, the space shuttle?
- Ray Cromwell
Right now it is a several step process. Log in to ACM, download PDF, email to Kindle (at $0.15/MB). Not that hard, but a partnership would encourage more people to read more research papers.
- DeWitt Clinton
Nap completed successfully and without casualties. Preparing for walkies.
- DGentry
Sounds familiar. My wife hasn't gotten up yet. (She has a cold) Just put the twins down at 11.
- Louis Gray
I thought it would be fun to liveblog a day of baby care. So far, so good. We're heading out for a walk.
- DGentry
Walk completed with a tolerable level of property damage. It was followed by a diaper change of epic proportions. Next up: lunch.
- DGentry
Whoops: second, unscheduled diaper change. Currently talking to the boys about the importance of time management.
- DGentry
So... lunch. They ate, so Mission Accomplished and all that. Currently looking for a way to blame the carpet disaster on the cats.
- DGentry
Next up: its just us three menfolk here, so we're going to do something manly. We're going to the Hardware Store!
- DGentry
Did you know that power tools are not age-appropriate for a 9 month old? Me neither. Anyway, the hardware store trip went well. They even sold me some bungie cords to lash the double stroller to the top of the car, as I couldn't figure out how to fold the thing up again.
- DGentry
Did you schedule in a session for pointer arimethics in c programming yet? It's definitely manly in geeky proportions. :)
- imabonehead
from Android
No pointer arithmetic yet, though they're getting pretty good at dumping core.
- DGentry
This concludes our flight on Nap #2, please be sure all crib rails are in their full upright and locked position. Next up: dinner #1.
- DGentry
We went out for dinner. The boys didn't seem to want to share my jalapeno burger so they had butternut squash bisque, chicken puree, and pears. Actually that sounds pretty good, I wish I'd had butternut squash bisque. Dinner was accomplished with minimal mess, and only one young couple left the restaurant when they saw twin babies. Overall, a success. Next step: bath.
- DGentry
Ok, I took a bath. No, strike that: the twins took a bath. Me getting soaked was just a side-effect. Next step: dinner #2.
- DGentry
I hope everybody who grows tired of baby care snippets simply hides this thread.
- DGentry
YTMND=You're the man now, dog ;) ( take it as a compliment )
- Itachi
Perhaps "quiet" was too strong a word. They are babies after all, they do nothing quietly.
- DGentry
...and thats it. All kids are in bed and asleep. I'm going to go collapse now.
- DGentry
Best comment of my day: "Walk completed with a tolerable level of property damage. It was followed by a diaper change of epic proportions. Next up: lunch."
- Josh Haley
louisgray: Know what's cooler than Twitter lists? Google Reader bundles - recommended blogs from friends you know. I like @dewitt's Interesting People. - http://twitter.com/louisgr...