The honest truth is, the Android API sucks. You're given the worst of both worlds -- doing simple things (like storing simple application settings) is tedious and awkward -- but neither are the tools powerful enough to do anything interesting.
As a developer, I found the whole experience of building apps for Android extremely disappointing. The potential is there, and it shines through in (for example) the Eclipse-based IDE tools, but the API itself absolutely sucks. Why is there no built in abstraction layer for persisting data? I have to manually create SQL databases and write SQL queries just to retrieve a simple application setting? Seriously??
I wrote software to do exactly this back in 2003. We took pages written in XHTML and ran an XSLT transform on them generating simplified XHTML for the then-primitive Blackberry browser.
The idea was that we could write one rich user interface in XHTML, viewable through a regular web browser, and then used the XSLT transforms to degrade the interface for a simplified browser. This was supposed to be one of the miracles of XML. In practice of course it turned out to be more work than if we had just manually created a different set of pages.
Whether that technology is from one operating system or another, one piece of hardware or another, or supplied or supported by one consulting company or another doesn't matter. What Mr. Kane seems to be missing is that software it not a commodity. So lightly dismissing all the nuance in this issue reveals flat out ignorance... this is the sort of thing that may lead to the OLPC's ultimately failure.
For one, with each software platform comes a culture. Switching to Windows robs the OLPC of the much-needed innovation and freely-available talent attached to OSS. Most OSS developers just won't want to touch this thing, and with that dies much of the unrealized potential behind the OLPC -- without this, the OLPC is just another cheap, underpowered sub-notebook. It will almost certainly never move past its basic function, and as such can never become the disruptive technology it could have been.
Think of where this could have gone... software designed to take advantage of the OLPC's mesh networking could have formed the basis for a new communication network in developing countries. Can you imagine the potential in terms of free speech, and free-market growth this alone could have had? (Free-market, in the sense that for example it could have allowed new ways to communicate about pricing and availability of local goods between villages and settlements)....
Let them teach whatever they want. Parts of this country probably deserve to collapse back into the middle ages (just as I'm sure they think the rest of us heathens deserve to burn like Sodom and Gomorrah).
The irony is that evolutionary processes will probably take care of these people, at least at the cultural/civilization level. Through ignorance and superstition they'll teach themselves right into oppression and poverty. From there, socio-cultural extinction is just around the corner.
I recently went on a trip to New York city, armed with my N800. Here's what I found it really useful for:
Navigation using Maemo Mapper -- downloaded the satellite maps for the entire city from Google Maps, and off I went. Also grabbed a copy of the subway map from the web.
VoIP using Skype -- this was really great... I bought the unlimited landline calling package for $20-something a while back, and could call anyone back home at no charge.
Watching TV -- I've got a VLC server sitting back home streaming live TV. It looks great on the N800, provided I could find a decent WiFi connection.
Reading E-Books -- the N800's high-res screen makes it perfect as a book reader.
SSH client -- for those panicked calls from work requiring that I log in to one of our servers to fix something.
The major shortcoming though is the dependency on free public WiFi. It's getting pretty hard to find a working open WiFi connection, and without internet connectivity the N800's usefulness is somewhat limited... These things will really take off once WiMAX or something like it becomes ubiquitous.
There are many reasons to use Java, but nearly all of them have to do with the language's proliferation in the business/enterprise world. Why on earth would you choose Java as a language/platform for doing anything with graphics? If you want something Java-like, and you're interested in experimentation, for god's sake go with Proce55ing, which is much better suited for graphics work, both in terms of instant-gratification and supporting library/community. If you want a modern, high-level language, why not go with Ruby? In evolutionary terms, compared to Ruby, Java is starting to look more and more like a dinosaur. And finally, if you want something that will get you extreme speed while maintaining conceptual abstraction, I'd strongly suggest looking into the weird and wacky world of OCaml.
One of my neuroscience profs used to tell us before exams that if we smoke, we should smoke more. Apparently nicotine's cholinergic effects considerably boost memory, although for me the nausea and jitteriness probably undermine any positive effects (and then there's the cancer...)
The correct term is Dynamical Systems, and its common, consistent language is the branch of mathematics dealing with dynamical systems (complete with its own vocabulary -- strange attractors, manifolds, emergence, chaos, etc.)
Mongrel is a web server, hence this package includes a web server (unless it doesn't actually contain Mongrel, despite what the writeup says). Also, Ruby 1.8.6 comes with WEBrick, which is a the web server Rails uses by default...
Anyway isn't a simplified Rails installer for Linux kind of redundant? Most newer Linux distros I've seen already have a native package that installs Ruby on Rails and all its dependencies. Most people will probably find the Instant Rails package a lot more useful, since it does the same for Windows.
Re:When you step back and consider history
on
Beginning Ruby
·
· Score: 1
Regarding the valid criticism (slow threading), you'll be happy -- or at least indifferent -- to hear that as of 1.8.6 ruby has native threading (referred to as fastthread by rubyists).
It's called a robots.txt file, and all reputable webcrawlers/search engines respect it. We don't yet have the technology to read arbitrary exclusion notices posted in English, but we do have a widely used machine-readable standard for requesting that your pages not be indexed. If the person in question was so adamant about her site not being crawled, she should have spent the 5 minutes needed to read up on robots.txt.
Bill Gates most certainly knows this, but there really isn't anything he can do about it... and by opening a "global technical center" in Romania, it would seem like he is rewarding the country, regardless of their piratical ways. It's not that there really isn't anything he can do about, it's that he might not want to. Gates/Microsoft must be smart enough to recognize their hegemony was built, in large part, by piracy. Would MS Office & Windows enjoy the same totalitarian control over the market if it had not been so easy to make (illegal) copies of the software? I doubt it. Market adoption would certainly have been much slower, allowing other alternative platforms to work their way in. We would almost certainly see a much more diverse ecosystem of operating systems.
I was under the impression that torrent throttling was a dead issue, now that torrent encryption is in mainstream use. It certainly is a dead issue for me, where Rogers Cable's (big canadian ISP) throttling no longer affects me in any way.
Until we get a quick and easy way of deploying Rails apps -- especially at the shared hosting level for ISPs (along the lines of PHP hosting, which is now standard), Rails will continue to have a difficult time finding a niche. The only place where Rails really belongs right now, and the only place where I'm using it (and loving it) is the corporate intranet, where putting up dedicated mongrel servers for internal web-based apps is not an issue.
I'm surprised this isn't already common practice, but why not implement tag searching in a LikeMinds scheme. For example, when you're looking for items tagged "funny", you would be shown items that have been tagged as such by people who in the past have tagged things the same way you have. This way you have a better chance of finding things that really are funny to you, based on what you thought was funny in the past.
Obviously though this would do nothing for Slashdot's tagging system which has (probably unintentionally) become a micro-comment system -- in the way, for example, that people tag articles whose titles are questions with yes/no answer tags.
The answer to this question isn't complicated. Software development is hard because it requires that the developers impose an artificial abstraction on the real world -- a real world that could be conceptualized in an infinite number of ways.
Once you decide on some particular conceptualization, you make certain assumptions about what is and isn't possible. This is the root cause of most if not all of developers' headaches. Despite our best intentions, we find that our carefully engineered abstraction does not capture everything about the real world relevant to the given task (either because we got it wrong the first time, or because the task itself has changed).
This, in fact, is a deep problem in computation in general -- a huge obstacle in artificial intelligence, for example. We need an algorithm that can pick out the salient aspects of a problem and ignore the irrelevant ones. Until the day that we have this (and that day may never come) the hard part of software development will remain an art form based on intuition and creativity.
If the Mapuche "win", Microsoft will promptly remove their language from Office, and it will be the end of that. Arguably the value of a language is largely proportional to how widely it is used. By having it removed from the software, the Mapuche are hurting only themselves, limiting their language's potential user base.
Salvinorin A, found in the psychoactive plant Salvia Divinorum, seems to have fairly strong pain-relieving properties via opioid action, but is absolutely not addictive. Unfortunately it also makes you hallucinate your balls off, making it pretty unmarketable as a pain medication:)
I'm a long-time-VIM-hater-turned-lover. I've been working with Linux systems for years, but always refused to learn my way around VIM, choosing to stick with nano instead. Why for the love of god not at least make Ctrl-C or Ctrl-Q or 'quit' or SOMETHING work???
After sitting through a presentation of a heuristic analysis of VIM in one of my HCI classes, where VIM was ridiculed for being the most un-intuitive, un-user friendly pieces of software since MS-DOS, I never thought I'd find myself using this tool... and actually LOVING it.
Well... fast forward a few months... I got fed up with nano's lack of a search-and-replace feature, and didn't feel like learning awk or sed. I finally decided to give vim a serious try. The key was finding this cheat sheet.
Now I love it... I'm cw'ing, y'anking, dd'ing away. Mind you I still prefer Eclipse for full-fledged development, but there's nothign like super quick and efficient scripting with vim.
Kernel or not, why is installing third-party drivers for Linux so damn hard? Why is it that on a Windows machine you run a simple installer and everything "just works", while on Linux getting a driver installed requires all sorts of ritualistic black magic -- from making sure your kernel headers match your running kernel to having to repeat all of the voodoo everytime you upgrade your kernel.
Last week I had the pleasure of trying to install a proprietary modem driver on a Xandros-based laptop. Three hours of playing with perl setup scripts later, I had a broken apt-get installation and no working modem driver installed.
__Why is it not simply a matter of dropping a vendor-supplied binary file into a given directory?__
This ongoing war over what ought to go into the kernel would be moot if building third-party drivers for linux didn't require a Masters degree in computer science.
chances are, the software license would state that you can only use the software on Apple-approved hardware (i.e. only Macs). You would not be licensed to use the OS on non-Apple hardware, so you woul din effect be violating the statement.
Lets hope this means they're going to do something about J2EE. Between Enterprise Java Beans and Java Server Faces, J2EE is a sordid mess right now.
Re:Civilization IV - Released Way Too Eearly!!
on
30 Greatest Games of 2005
·
· Score: 2, Informative
i've been playing since even before the first patch, and have never had any problems--even in the late game. Things get slightly slower, but it's barely noticable. ANd this is on a 3 year old 2 GHz computer with 1 gig of RAM. My brother plays on an ever older/shittier computer, and his gameplay is fine as long as he keeps the graphics toned down.
The honest truth is, the Android API sucks. You're given the worst of both worlds -- doing simple things (like storing simple application settings) is tedious and awkward -- but neither are the tools powerful enough to do anything interesting.
As a developer, I found the whole experience of building apps for Android extremely disappointing. The potential is there, and it shines through in (for example) the Eclipse-based IDE tools, but the API itself absolutely sucks. Why is there no built in abstraction layer for persisting data? I have to manually create SQL databases and write SQL queries just to retrieve a simple application setting? Seriously??
I wrote software to do exactly this back in 2003. We took pages written in XHTML and ran an XSLT transform on them generating simplified XHTML for the then-primitive Blackberry browser.
The idea was that we could write one rich user interface in XHTML, viewable through a regular web browser, and then used the XSLT transforms to degrade the interface for a simplified browser. This was supposed to be one of the miracles of XML. In practice of course it turned out to be more work than if we had just manually created a different set of pages.
For one, with each software platform comes a culture. Switching to Windows robs the OLPC of the much-needed innovation and freely-available talent attached to OSS. Most OSS developers just won't want to touch this thing, and with that dies much of the unrealized potential behind the OLPC -- without this, the OLPC is just another cheap, underpowered sub-notebook. It will almost certainly never move past its basic function, and as such can never become the disruptive technology it could have been.
Think of where this could have gone... software designed to take advantage of the OLPC's mesh networking could have formed the basis for a new communication network in developing countries. Can you imagine the potential in terms of free speech, and free-market growth this alone could have had? (Free-market, in the sense that for example it could have allowed new ways to communicate about pricing and availability of local goods between villages and settlements)....
Let them teach whatever they want. Parts of this country probably deserve to collapse back into the middle ages (just as I'm sure they think the rest of us heathens deserve to burn like Sodom and Gomorrah).
The irony is that evolutionary processes will probably take care of these people, at least at the cultural/civilization level. Through ignorance and superstition they'll teach themselves right into oppression and poverty. From there, socio-cultural extinction is just around the corner.
I recently went on a trip to New York city, armed with my N800. Here's what I found it really useful for:
The major shortcoming though is the dependency on free public WiFi. It's getting pretty hard to find a working open WiFi connection, and without internet connectivity the N800's usefulness is somewhat limited... These things will really take off once WiMAX or something like it becomes ubiquitous.
Who cares. I'm loving my Linux-based Nokia N800.
There are many reasons to use Java, but nearly all of them have to do with the language's proliferation in the business/enterprise world. Why on earth would you choose Java as a language/platform for doing anything with graphics? If you want something Java-like, and you're interested in experimentation, for god's sake go with Proce55ing, which is much better suited for graphics work, both in terms of instant-gratification and supporting library/community. If you want a modern, high-level language, why not go with Ruby? In evolutionary terms, compared to Ruby, Java is starting to look more and more like a dinosaur. And finally, if you want something that will get you extreme speed while maintaining conceptual abstraction, I'd strongly suggest looking into the weird and wacky world of OCaml.
One of my neuroscience profs used to tell us before exams that if we smoke, we should smoke more. Apparently nicotine's cholinergic effects considerably boost memory, although for me the nausea and jitteriness probably undermine any positive effects (and then there's the cancer...)
The correct term is Dynamical Systems, and its common, consistent language is the branch of mathematics dealing with dynamical systems (complete with its own vocabulary -- strange attractors, manifolds, emergence, chaos, etc.)
Mongrel is a web server, hence this package includes a web server (unless it doesn't actually contain Mongrel, despite what the writeup says). Also, Ruby 1.8.6 comes with WEBrick, which is a the web server Rails uses by default...
Anyway isn't a simplified Rails installer for Linux kind of redundant? Most newer Linux distros I've seen already have a native package that installs Ruby on Rails and all its dependencies. Most people will probably find the Instant Rails package a lot more useful, since it does the same for Windows.
Regarding the valid criticism (slow threading), you'll be happy -- or at least indifferent -- to hear that as of 1.8.6 ruby has native threading (referred to as fastthread by rubyists).
It's called a robots.txt file, and all reputable webcrawlers/search engines respect it. We don't yet have the technology to read arbitrary exclusion notices posted in English, but we do have a widely used machine-readable standard for requesting that your pages not be indexed. If the person in question was so adamant about her site not being crawled, she should have spent the 5 minutes needed to read up on robots.txt.
I was under the impression that torrent throttling was a dead issue, now that torrent encryption is in mainstream use. It certainly is a dead issue for me, where Rogers Cable's (big canadian ISP) throttling no longer affects me in any way.
It's too bad Rails 1.2 wasn't released with mongrel (a very nice app server designed to run Rails apps, among other things). Currently deploying a production-ready server capable of running Rails is a uncomfortably unrails-like experience. Mongrel makes things a bit nicer, but even with that running under virtual hosts and/or with SSL requires some seriously heavy lifting (think Mongrel running behind Apache acting as a reverse proxy).
Until we get a quick and easy way of deploying Rails apps -- especially at the shared hosting level for ISPs (along the lines of PHP hosting, which is now standard), Rails will continue to have a difficult time finding a niche. The only place where Rails really belongs right now, and the only place where I'm using it (and loving it) is the corporate intranet, where putting up dedicated mongrel servers for internal web-based apps is not an issue.
I'm surprised this isn't already common practice, but why not implement tag searching in a LikeMinds scheme. For example, when you're looking for items tagged "funny", you would be shown items that have been tagged as such by people who in the past have tagged things the same way you have. This way you have a better chance of finding things that really are funny to you, based on what you thought was funny in the past.
Obviously though this would do nothing for Slashdot's tagging system which has (probably unintentionally) become a micro-comment system -- in the way, for example, that people tag articles whose titles are questions with yes/no answer tags.
The answer to this question isn't complicated. Software development is hard because it requires that the developers impose an artificial abstraction on the real world -- a real world that could be conceptualized in an infinite number of ways.
Once you decide on some particular conceptualization, you make certain assumptions about what is and isn't possible. This is the root cause of most if not all of developers' headaches. Despite our best intentions, we find that our carefully engineered abstraction does not capture everything about the real world relevant to the given task (either because we got it wrong the first time, or because the task itself has changed).
This, in fact, is a deep problem in computation in general -- a huge obstacle in artificial intelligence, for example. We need an algorithm that can pick out the salient aspects of a problem and ignore the irrelevant ones. Until the day that we have this (and that day may never come) the hard part of software development will remain an art form based on intuition and creativity.
If the Mapuche "win", Microsoft will promptly remove their language from Office, and it will be the end of that. Arguably the value of a language is largely proportional to how widely it is used. By having it removed from the software, the Mapuche are hurting only themselves, limiting their language's potential user base.
Salvinorin A, found in the psychoactive plant Salvia Divinorum, seems to have fairly strong pain-relieving properties via opioid action, but is absolutely not addictive. Unfortunately it also makes you hallucinate your balls off, making it pretty unmarketable as a pain medication :)
I'm a long-time-VIM-hater-turned-lover. I've been working with Linux systems for years, but always refused to learn my way around VIM, choosing to stick with nano instead. Why for the love of god not at least make Ctrl-C or Ctrl-Q or 'quit' or SOMETHING work???
After sitting through a presentation of a heuristic analysis of VIM in one of my HCI classes, where VIM was ridiculed for being the most un-intuitive, un-user friendly pieces of software since MS-DOS, I never thought I'd find myself using this tool... and actually LOVING it.
Well... fast forward a few months... I got fed up with nano's lack of a search-and-replace feature, and didn't feel like learning awk or sed. I finally decided to give vim a serious try. The key was finding this cheat sheet.
Now I love it... I'm cw'ing, y'anking, dd'ing away. Mind you I still prefer Eclipse for full-fledged development, but there's nothign like super quick and efficient scripting with vim.
Learn it. It's worth it.
Kernel or not, why is installing third-party drivers for Linux so damn hard? Why is it that on a Windows machine you run a simple installer and everything "just works", while on Linux getting a driver installed requires all sorts of ritualistic black magic -- from making sure your kernel headers match your running kernel to having to repeat all of the voodoo everytime you upgrade your kernel.
Last week I had the pleasure of trying to install a proprietary modem driver on a Xandros-based laptop. Three hours of playing with perl setup scripts later, I had a broken apt-get installation and no working modem driver installed.
__Why is it not simply a matter of dropping a vendor-supplied binary file into a given directory?__
This ongoing war over what ought to go into the kernel would be moot if building third-party drivers for linux didn't require a Masters degree in computer science.
But your Honour... I didn't copy these Britney Spears albums, I made them!
chances are, the software license would state that you can only use the software on Apple-approved hardware (i.e. only Macs). You would not be licensed to use the OS on non-Apple hardware, so you woul din effect be violating the statement.
Lets hope this means they're going to do something about J2EE. Between Enterprise Java Beans and Java Server Faces, J2EE is a sordid mess right now.
i've been playing since even before the first patch, and have never had any problems--even in the late game. Things get slightly slower, but it's barely noticable. ANd this is on a 3 year old 2 GHz computer with 1 gig of RAM. My brother plays on an ever older/shittier computer, and his gameplay is fine as long as he keeps the graphics toned down.