Re:Bantu languages Re:hundreds of sign languages
on
Speaking in Tongues
·
· Score: 1
I know that Zulu has 3 clicks which aren't used nearly as frequently as Xhosa's; however, it's the Khoisan languages that really take the cake --- the entire langauge is essentially one long sequence of clicks (incidentally, this is how the Hottentots came to earn their name --- it derives from the Dutch words for "stammerers" or "stutterers" around the early-mid 17th century). I don't know that the Khoisan languages are Bantu derivatives.... As for the Mandelas, *thinks* they may speak Sesotho, but I'm not sure --- I left SA just before The Elections.
I'm not sure that I like what this man has to say, of course, I may well be misinterpreting him. If he means that geeks need to quit squealing and organize more effectively against the crap that's going on in D.C., then I think he's hit on something. Let's face it, the geek movement in general is rather lacking when it comes to P.R. We lack the truly charismatic leadership that is necessary to get through to D.C. On the other hand, there are enough of us deeply entrenched in the schools and universities that there is reasonable hope that through a grassroots effort, enough people can be persuaded to see the light --- future politicians, business leaders, media moguls, etc., the sort of people with enough clout to make an impact.
However, my first impression is that he is advocating geeks dropping any active role in the democratic process and subverting the law to get their own way. This isn't a bad thing per se, but it seems that the way the courts and congress have been leaning lately, subversion is completely pointless --- they'll either interpret it as a violation of existing law or put new laws into effect to patch the holes.
I don't usually usually go around invoking any powers-that-bes' names (well, unless I'm debugging, but that's a different story;-)), but yet again, CN has won my devotion --- I mean, Dexter, PPG, Samurai Jack, and now Futurama *bliss* The only thing that could make this any better is if I could figure out how to get the sattelite feed into my WinTV card so I can watch while I'm "working". Hrm... sounds like an Ask/. question....
From what little Zulu that I remember (also a Bantu language), Zulu itself wasn't very hard to learn --- the grammar and vocabulary are fairly easy to pick up; however, it's the idioms that are the real bitch.
Neat project:-) My main interest is in the forward processes --- I'm hoping to do something involving gesture recognition for my M.S. and take a crack at recognizing sign language for my Ph.D., assuming that I survive that long. We seem to be a long way away from reliable pose guestimation, largely because it's really hard to reliably find joints (like knuckles) in images. The guys over at University of Maryland have a neat system called GHOST, but I'm not certain how well their technique will extend to detecting finer features (like fore-fingers), particularly when there are important details that are occluded.
Like I said, what do I know? The professor in question was teaching a class on compiler theory and construction... somehow Chomsky came up when we were talking about context free grammars (I forget how --- I think it was the jackass in the front of the class trying to score cookie points). Anyways, Chomsky is famous for a lot of things outside linguistics too, not the least of which are his politics...
... and not a single soul karma whoring with references to Noam Chomsky? I'm a little worried... of course, I once had a professor explain that if you're ever at a party with all sorts of academics and you want to look smart, wait for someone to say something that sounds reasonably intelligent and say, "but doesn't that follow from Chomsky?" Apparently nobody will stop to question you;-)
Looks like a fascinating project --- I wonder if their Vision and Robotics boys are working on recognizing sign language which, for all intents and purposes, seems to be a very much more difficult problem (don't believe me --- see how well the facial recognition packages do in production environments:-P). I wonder if this is at the stage where it could be attached to a something like a virtual {insert sign language of your choice here} "translator"... hrm, sounds like a summer project;-)
I forgot the link to Programming Pearls. Incidentally, it's an excellent book, particularly good for those of us that need creative answers to interesting questions... I didn't realize that there are at least 100 uses of binary search (I'm sure that Bentley found more for the second volume).
Funny you should mention that... I happened to have read about Zipf's Law earler on today at the NIST Dictionary of Algorithms and Data Structures, which reminded me of an article in Bentley's Programming Pearls, 2nd ed about using a hidden Markov model to produce random text. You get some really interesting results if allow your model to have enough states and you train it on enough text. It leaves me sorely tempted to see if I can try to use a similar technique to try to produce scripts for Fox specials;-)
... is what this reminds me of. Math says that anything that can happen will happen given enough time --- much the same as some number n monkeys typing at n typewriters will eventually produce the Library of Congress. Of course, we're talking about very large values of n and incredibly long amounts of time...
I learned this one the hard way --- when you're registering for classes, ask around and see if you can find someone that's taken that class (ideally with the prof you're planning on taking it with) before. Get to know who the good teachers in the departments are --- the right professor makes all the difference.
Corollary to this is: make sure your professors know who you are. I'm not saying suck up, but be actively involved in class and give your profs a reason to remember your name --- it's essential, especially in the large lecture sections, that you have a good relationship with your profs, because like all people, they're inclined to favor the known (hopefully you) to the unknown.
Oh, while I'm on the subject --- make sure you get yourself an advisor who you like and who takes an interest in you. It makes dealing with the department, registrars, etc. worlds easier. I owe my advisor my soul for helping me get into the accelerated master's program at my university.
Assuming that you're in a time-intensive major (i.e. something that requires lots of homework and time in the lab), try not to get discouraged when you see everyone around you partying while you're doing your diffeq's homework --- this can be insanely demoralizing, especially when you have a roommate that does fuck all and still somehow is passing (of course, it helped that he was an English major...).
Good luck:-)
Maybe I'm just running on too much caffeine and not enough sleep right now, but... why? Haven't seen what happens when new tech is forced on people who aren't ready to use it, I'm not so sure that this is a good thing. Beside which, this is a tech issue --- why not let the consumer decide what they want without getting the government involved? The transition to DVD seems to be happening quite smoothly, without any goverment mandations. Then again, I'm tired, so it's entirely possible that I'm missing something important.
... but a while ago, they were selling games and sensors that allowed you to control things by thinking. I'd seen them in stores 3 or more years ago. The whole package was (relatively) cheap -- under $200 and seems to provide an ideal interface for someone who can't move.
Of all the suggestions in the article, this is the one I liked the most --- I've been paying some thought to this idea in general (i.e. not just Java classes, but anything that requires the notion of linking against libraries). I think what needs to happen is that something conceptually equivalent to a version control system for libraries be built, with a central master repository containing the "official" version(s) of things and per developer sub-repositories containing the latest versions of whichever libraries the developer was working on. As changes get committed into the main source tree, a periodic build process could be used to keep the main repository synchronized. Now linking becomes a fairly trivial matter --- the class loader checks the developer's personal repository first and then the master repository, favoring newer and developer versions of objects in its resolution. Now for the fun (and possibly less than useful) bit --- teach the classloaders how to talk to each other, creating a shared cache of those libraries used most often. This approach does have several major holes in it, not the least of which is how to deal with versioning, but I am all for trying anything that doesn't involve the current classloading scheme.
Whoops --- wrong book, right guy;-) As for D&D 3rd ed. meh. The rules still feel clumsy, and damnit, I want to be able to call shots to the groin! (-3 to hit, [humanoid male] characters need to start worrying about being stunned if memory serves me -- very effective for those of us that like to fight dirty and move on to the raping and pillaging;-))
... too many (*$#^@^# different dice! That's why Steve Jackson gave us GURPS;-) Incidentally, these were the folks that got raided a while back for their BlackOps supplement...
Urm, maybe coming from a state that was one of the first on the UCITA bandwagon has me a little over-cautious, but aren't EULA's copyright? Does this count as fair use? I'm really not trying to be funny or troll, etc. -- I'm genuinely curious.
It's been a little while since I last really looked into this, but these are the basic principles of dealing with a hash table; there are some factors (such as table size, particularly the primality of the table size) that will defeat your probing strategies unless you are careful to avoid them:
1) The size of the table should be a sufficiently large prime number. Why? Well, this digs into number theory, but the basic idea is that the set of integers modulo p for some prime p is a field and behaves well --- for one thing, multiplying by any nonzero number is equivalent to permuting the ordered list {1, 2,..., p-1}; these permutations are guaranteed to be unique for each congruence class. This also allows you to take advantage of things called generators when you design your hashing functions (this borrows an idea from crypto*). This also avoids some nasty problems, for example: you have a hash table of size 2n, where every even index is filled, and are now trying to insert a string for which H(x) is 2. Think about it --- a lot of collision strategies won't handle this.
2) Your hashing function should give a uniform distribution over the length of your table; i.e. each number {0, 1,..., p-1} should be equally likely regardless of the input. This will be the trickier part. You will want to play with this function on representative input to make sure that it behaves as expected.
3) Make sure a hashtable is what you're wanting. There are very nice data structures called prefix lists and tries which let you do insertions, lookups, and deletions in time that is linear in the *length* of the string, *not* the number of strings. If speed is an absolute must, you may be interested in exploring this structure as an alternate.
This said, remember: Perfection is the enemy of good enough and it is good enough that sells. Don't put any more effort into this than you expect to see reasonable results from.
I am one of those commie bastard green card holding hippies and when I went through Fairfax County Public Schools I had to recite the Pledge. Of course, that was only for my senior year -- until then it hadn't been mandated.
... brought to you by the company that gave you Hotmail and Passport. Sign me up! Oh, and I'd like to make a down payment on that nice statue on Ellis Island.
At first glance, looks like someone at M$ bought themselves a mouthpiece at Forbes. At second glance, there's a far more interesting lesson to be gleaned. Look at his management strategies -- he's obviously doing something right because he is *still* one of (if not the) richest men in the world. MS is still selling lots of software, in spite of antitrust cases and their so called lost profits from bootlegs. And while the quality is on average marginal, MS still has a lot of software the Open Source is *years* away from being able to compete with -- especially in terms of the cash cow applications like Office and SQLServer. I seriously doubt that the next Windows will break everything -- unless MS is planning on slitting their throats, they've got a substantial (although not nearly as substantial as they might have hoped) installed base of legacy users that are going to demand backward compatibility. Even if M$ is able to deliver on this vaporware, Open Source still has three years to beat M$ to the punchline -- especially if we're able to find the sort of leadership that M$ has.
From an economical point of view, maybe the more interesting question to ask is which of these machines is more easily programmable -- especially when the manhours involved in developping software of this complexity typically ends up being a significant fraction of the cost of the entire project. In particular, time spent testing and debugging has got to be especially expensive given the enormous complexity of the problems being solved, which makes me wonder -- do we perhaps need less super and more smart in our big iron? This is pure speculation -- I don't know the specifics of Q or the Green Destiny -- but I'd imagine that a custom machine requires the development of a custom compiler that knows how to take full advantage of the hardware (not to mention building and optimizing the numerical libraries,etc. that the system's users will need). As anyone who's built a compiler can tell you, this is not a trivial task!
I know that Zulu has 3 clicks which aren't used nearly as frequently as Xhosa's; however, it's the Khoisan languages that really take the cake --- the entire langauge is essentially one long sequence of clicks (incidentally, this is how the Hottentots came to earn their name --- it derives from the Dutch words for "stammerers" or "stutterers" around the early-mid 17th century). I don't know that the Khoisan languages are Bantu derivatives.... As for the Mandelas, *thinks* they may speak Sesotho, but I'm not sure --- I left SA just before The Elections.
I'm not sure that I like what this man has to say, of course, I may well be misinterpreting him. If he means that geeks need to quit squealing and organize more effectively against the crap that's going on in D.C., then I think he's hit on something. Let's face it, the geek movement in general is rather lacking when it comes to P.R. We lack the truly charismatic leadership that is necessary to get through to D.C. On the other hand, there are enough of us deeply entrenched in the schools and universities that there is reasonable hope that through a grassroots effort, enough people can be persuaded to see the light --- future politicians, business leaders, media moguls, etc., the sort of people with enough clout to make an impact.
However, my first impression is that he is advocating geeks dropping any active role in the democratic process and subverting the law to get their own way. This isn't a bad thing per se, but it seems that the way the courts and congress have been leaning lately, subversion is completely pointless --- they'll either interpret it as a violation of existing law or put new laws into effect to patch the holes.
I don't usually usually go around invoking any powers-that-bes' names (well, unless I'm debugging, but that's a different story ;-)), but yet again, CN has won my devotion --- I mean, Dexter, PPG, Samurai Jack, and now Futurama *bliss* The only thing that could make this any better is if I could figure out how to get the sattelite feed into my WinTV card so I can watch while I'm "working". Hrm... sounds like an Ask /. question....
From what little Zulu that I remember (also a Bantu language), Zulu itself wasn't very hard to learn --- the grammar and vocabulary are fairly easy to pick up; however, it's the idioms that are the real bitch.
Neat project :-) My main interest is in the forward processes --- I'm hoping to do something involving gesture recognition for my M.S. and take a crack at recognizing sign language for my Ph.D., assuming that I survive that long. We seem to be a long way away from reliable pose guestimation, largely because it's really hard to reliably find joints (like knuckles) in images. The guys over at University of Maryland have a neat system called GHOST, but I'm not certain how well their technique will extend to detecting finer features (like fore-fingers), particularly when there are important details that are occluded.
Like I said, what do I know? The professor in question was teaching a class on compiler theory and construction... somehow Chomsky came up when we were talking about context free grammars (I forget how --- I think it was the jackass in the front of the class trying to score cookie points). Anyways, Chomsky is famous for a lot of things outside linguistics too, not the least of which are his politics...
... and not a single soul karma whoring with references to Noam Chomsky? I'm a little worried... of course, I once had a professor explain that if you're ever at a party with all sorts of academics and you want to look smart, wait for someone to say something that sounds reasonably intelligent and say, "but doesn't that follow from Chomsky?" Apparently nobody will stop to question you ;-)
Looks like a fascinating project --- I wonder if their Vision and Robotics boys are working on recognizing sign language which, for all intents and purposes, seems to be a very much more difficult problem (don't believe me --- see how well the facial recognition packages do in production environments :-P). I wonder if this is at the stage where it could be attached to a something like a virtual {insert sign language of your choice here} "translator"... hrm, sounds like a summer project ;-)
I forgot the link to Programming Pearls. Incidentally, it's an excellent book, particularly good for those of us that need creative answers to interesting questions... I didn't realize that there are at least 100 uses of binary search (I'm sure that Bentley found more for the second volume).
Funny you should mention that... I happened to have read about Zipf's Law earler on today at the NIST Dictionary of Algorithms and Data Structures, which reminded me of an article in Bentley's Programming Pearls, 2nd ed about using a hidden Markov model to produce random text. You get some really interesting results if allow your model to have enough states and you train it on enough text. It leaves me sorely tempted to see if I can try to use a similar technique to try to produce scripts for Fox specials ;-)
... is what this reminds me of. Math says that anything that can happen will happen given enough time --- much the same as some number n monkeys typing at n typewriters will eventually produce the Library of Congress. Of course, we're talking about very large values of n and incredibly long amounts of time...
I learned this one the hard way --- when you're registering for classes, ask around and see if you can find someone that's taken that class (ideally with the prof you're planning on taking it with) before. Get to know who the good teachers in the departments are --- the right professor makes all the difference. Corollary to this is: make sure your professors know who you are. I'm not saying suck up, but be actively involved in class and give your profs a reason to remember your name --- it's essential, especially in the large lecture sections, that you have a good relationship with your profs, because like all people, they're inclined to favor the known (hopefully you) to the unknown. Oh, while I'm on the subject --- make sure you get yourself an advisor who you like and who takes an interest in you. It makes dealing with the department, registrars, etc. worlds easier. I owe my advisor my soul for helping me get into the accelerated master's program at my university. Assuming that you're in a time-intensive major (i.e. something that requires lots of homework and time in the lab), try not to get discouraged when you see everyone around you partying while you're doing your diffeq's homework --- this can be insanely demoralizing, especially when you have a roommate that does fuck all and still somehow is passing (of course, it helped that he was an English major...). Good luck :-)
Maybe I'm just running on too much caffeine and not enough sleep right now, but... why? Haven't seen what happens when new tech is forced on people who aren't ready to use it, I'm not so sure that this is a good thing. Beside which, this is a tech issue --- why not let the consumer decide what they want without getting the government involved? The transition to DVD seems to be happening quite smoothly, without any goverment mandations. Then again, I'm tired, so it's entirely possible that I'm missing something important.
... but a while ago, they were selling games and sensors that allowed you to control things by thinking. I'd seen them in stores 3 or more years ago. The whole package was (relatively) cheap -- under $200 and seems to provide an ideal interface for someone who can't move.
Of all the suggestions in the article, this is the one I liked the most --- I've been paying some thought to this idea in general (i.e. not just Java classes, but anything that requires the notion of linking against libraries). I think what needs to happen is that something conceptually equivalent to a version control system for libraries be built, with a central master repository containing the "official" version(s) of things and per developer sub-repositories containing the latest versions of whichever libraries the developer was working on. As changes get committed into the main source tree, a periodic build process could be used to keep the main repository synchronized. Now linking becomes a fairly trivial matter --- the class loader checks the developer's personal repository first and then the master repository, favoring newer and developer versions of objects in its resolution. Now for the fun (and possibly less than useful) bit --- teach the classloaders how to talk to each other, creating a shared cache of those libraries used most often. This approach does have several major holes in it, not the least of which is how to deal with versioning, but I am all for trying anything that doesn't involve the current classloading scheme.
... too bad I don't really have a clue what it means. *sigh* I guess this is why I'm not majoring in Math ;-)
Aah, see, I still do use the bucketfuls of dice --- the make great missiles for use in disciplining unruly players :-P
Whoops --- wrong book, right guy ;-) As for D&D 3rd ed. meh. The rules still feel clumsy, and damnit, I want to be able to call shots to the groin! (-3 to hit, [humanoid male] characters need to start worrying about being stunned if memory serves me -- very effective for those of us that like to fight dirty and move on to the raping and pillaging ;-))
... too many (*$#^@^# different dice! That's why Steve Jackson gave us GURPS ;-) Incidentally, these were the folks that got raided a while back for their BlackOps supplement...
Urm, maybe coming from a state that was one of the first on the UCITA bandwagon has me a little over-cautious, but aren't EULA's copyright? Does this count as fair use? I'm really not trying to be funny or troll, etc. -- I'm genuinely curious.
It's been a little while since I last really looked into this, but these are the basic principles of dealing with a hash table; there are some factors (such as table size, particularly the primality of the table size) that will defeat your probing strategies unless you are careful to avoid them: 1) The size of the table should be a sufficiently large prime number. Why? Well, this digs into number theory, but the basic idea is that the set of integers modulo p for some prime p is a field and behaves well --- for one thing, multiplying by any nonzero number is equivalent to permuting the ordered list {1, 2, ..., p-1}; these permutations are guaranteed to be unique for each congruence class. This also allows you to take advantage of things called generators when you design your hashing functions (this borrows an idea from crypto*). This also avoids some nasty problems, for example: you have a hash table of size 2n, where every even index is filled, and are now trying to insert a string for which H(x) is 2. Think about it --- a lot of collision strategies won't handle this.
2) Your hashing function should give a uniform distribution over the length of your table; i.e. each number {0, 1, ..., p-1} should be equally likely regardless of the input. This will be the trickier part. You will want to play with this function on representative input to make sure that it behaves as expected.
3) Make sure a hashtable is what you're wanting. There are very nice data structures called prefix lists and tries which let you do insertions, lookups, and deletions in time that is linear in the *length* of the string, *not* the number of strings. If speed is an absolute must, you may be interested in exploring this structure as an alternate.
This said, remember: Perfection is the enemy of good enough and it is good enough that sells. Don't put any more effort into this than you expect to see reasonable results from.
I am one of those commie bastard green card holding hippies and when I went through Fairfax County Public Schools I had to recite the Pledge. Of course, that was only for my senior year -- until then it hadn't been mandated.
... brought to you by the company that gave you Hotmail and Passport. Sign me up! Oh, and I'd like to make a down payment on that nice statue on Ellis Island.
At first glance, looks like someone at M$ bought themselves a mouthpiece at Forbes. At second glance, there's a far more interesting lesson to be gleaned. Look at his management strategies -- he's obviously doing something right because he is *still* one of (if not the) richest men in the world. MS is still selling lots of software, in spite of antitrust cases and their so called lost profits from bootlegs. And while the quality is on average marginal, MS still has a lot of software the Open Source is *years* away from being able to compete with -- especially in terms of the cash cow applications like Office and SQLServer. I seriously doubt that the next Windows will break everything -- unless MS is planning on slitting their throats, they've got a substantial (although not nearly as substantial as they might have hoped) installed base of legacy users that are going to demand backward compatibility. Even if M$ is able to deliver on this vaporware, Open Source still has three years to beat M$ to the punchline -- especially if we're able to find the sort of leadership that M$ has.
From an economical point of view, maybe the more interesting question to ask is which of these machines is more easily programmable -- especially when the manhours involved in developping software of this complexity typically ends up being a significant fraction of the cost of the entire project. In particular, time spent testing and debugging has got to be especially expensive given the enormous complexity of the problems being solved, which makes me wonder -- do we perhaps need less super and more smart in our big iron? This is pure speculation -- I don't know the specifics of Q or the Green Destiny -- but I'd imagine that a custom machine requires the development of a custom compiler that knows how to take full advantage of the hardware (not to mention building and optimizing the numerical libraries,etc. that the system's users will need). As anyone who's built a compiler can tell you, this is not a trivial task!