Ever baked brownies without a mix? Surprise! it's not actually hard. Simple Brownie Recipe
I'm NOT a chef, and I think people SHOULD learn to cook, and do basic home repair, and understand how their car works, and if they have a task that remotely requires it, yes they should learn how to program.
Sure there are extremely difficult tasks in each of these areas that shouldn't be attempted by an amateur, but the basics of all of them are readily accessible, and beneficial to learn, if for no other reason than to occupy yourself with something other than mindless consumption of sitcoms. (or slashdot articles)
Back on topic, I AM a software engineer, and I am highly skeptical about the "natural language programming" concept, but that isn't what this article is about. This is just another system for scripting GUI events with a simple interface. If you RTFA, you would find out that the system uses Jython as its scripting language, so the actual code isn't any more "visual" than any oher programming task, it's just that the (often very confusing, even for pros) GUI API has been replaced with a visual system that allows the script to act as if it were a user. I think a system like this has its place if you don't need lots of speed, which is a large number of applications.
This isn't regular English. While the language does allow this kind of crap, the only place it is at all common is headlines, which have a long history of trying to be "catchy", which means they throw common usage and understandability out the window in the interest of making the sentence "active" and "brief".
Your proposed sentence isn't much better for english speakers, because it has the same underlying problem, using "gate" as a verb isn't normal usage, and I think the correct word is actually "bridges" (yep, another gerund, yay)
Writers are told over and over again that "passive voice" is dull and boring, no one wants to read that crap. The problem is that it is just not natural to write some things in "active voice", so you end up with contrived and hard to understand phrasings.
For example, the previous paragraph, but contorted into active voice:
Writers learn through constant repetition that "passive voice" makes sentences dull and boring, readers dislike writing of this kind. This causes problems because "active voice" fails at expressing certain concepts, so writers produce contrived and hard to understand phrasings.
Far more contrived a sentence and meanders more, but it's "active", woohoo:P
The headline of the linked article is just as bad, "MagicJack Harnesses Femtocell for VoIP".
It's not just you, I'm a native English speaker and the way headlines are written set my teeth on edge.
Cost, resolution, and ergonomics pretty much covers it.
It's much cheaper and easier to make a 30+" display that does 1080P than a pair of 2" or so displays that have the same resolution, I don't think there are even prototype LCD panels that have the necessary component density. Also it's going to be quite a long time before wearable monitors approach the comfort level of shutter glasses.
As a general rule, I don't work on things I don't enjoy. In my case this includes taking on management roles, working with technologies I don't like (MS environment, Java), documentation as a primary role*, and most anything else that isn't part of Software Engineering.
It's a losing proposition, you're taking time away from building expertise with things you WANT to do and instead building expertise with things you DISLIKE.
As a corollary I don't put any of these things on my resume either, why would I want to try to get a job doing things I don't like? This also means you will be less likely to be expected to do work you dislike.
*I don't mean "I don't comment my code", I mean I'm not going to commit to a role where a significant portion of the job is "filling out TPS reports", and as a matter of fact the company I work for DOES have TPS reports.
I think you're overreacting a bit here, the GP isn't saying that slavery isn't horrific, just that a case isn't disqualified from being slavery just because the victim is fed, clothed, and paid.
What the GP says sounds reasonable (I don't know enough about history to state whether it is accurate or not), I think you're seeing apologism for slavery where it doesn't exist.
Yea, but you could usually get the same effect by posting "Hey guys, use Alt+F5 to enable the special DCC recv mode and I'll send you some {illicit data of the moment}"
My wife is an OR (operating room) nurse who is paid to be on call, which I would consider to be roughly analogous to this topic. However, there are a couple of major differences:
1. She has to go to a specific location (the hospital) when called in. It's not like she can do her job from home.
2. She's paid hourly.
3. Usually if she gets called in, someone is dying. I would rarely, if ever, classify an IT emergency anywhere near as important as that.
1. Irrelevant, so if you work from home 100% you shouldn't be paid? It's one aspect to take into consideration, but it doesn't erase the fact that a worker on call has to disrupt their life.
2. If you're salaried, the compensation should appear in your normal wage instead of as a hourly bonus. (For example as the retainer mentioned previously in the thread) Salaried doesn't mean, "Do everything your employer says, even on your off time."
2a. According to TFA, the person in question is also hourly.
3. That is a decision to be made by the person paying the bills, if it's important enough to have someone on call, it's important enough to pay them for it.
Even if the programming environments are compatible, doesn't the developer agreement require exclusivity of code? That is one of the major sticking points that kept me from seriously looking into iPhone development.
In other words, if you have an iPhone app and want to port it to another phone, the developer agreement demands that you reimplement the game for the new platform rather than merely porting it. As a side note, I understand that Palm makes the same demand for their app store, so it's not just Apple (unfortunately).
On the other hand my sticking point for not developing on Android is the Java requirement, I might have to take another look since I seem to recall some additional languages being an option now.
When asked about obvious, stated things like who we will vote for, our answers changes merely based on time. Computers think determensitically. Which is why we know they have no free will. Humans think via probabilities, not certanties. When computers are asked to solve a math question, they are always 100% certain they know the answer. When humas do it, we generally are a lot less certain. We know we might be wrong. The machines don't know that.
I also believe that the human mind is not deterministic, but that's a weak argument. You are very close to insight when you say "our answers change merely based on time." Computers generally have very limited input, and it is carefully filtered out in most applications. You don't want your answer to a math question to be affected by mouse movements or keyboard input or what is in front of the webcam. But that's what happens with humans. We can subvert it to an extent, through concentration, but our "inputs" consist of our sense organs, including skin, our internal state (hunger, drunkenness), and maybe some other stuff I'm forgetting. It can be argued that we are very complex machines, and that even though we don't have the computing technology to predict human behavior it is nonetheless deterministic.
As I said, I reject that statement, but disproving it is a lot harder than saying "our answers change over time."
Well stated, however aren't most sociological and psychiatric experiments designed to do precisely this? You give the subjects a highly controlled set of inputs and study the reaction in order to perceive some aspect of their internal state or mental process. Yes, people tend to drag around quite a lot of extraneous baggage that ends up getting introduced into almost any conceivable problem they encounter, and this makes them very difficult to analyze, but they aren't nearly as random as some people (the GP, for instance) seem to think.
For example, do you really think a person who knows how to perform a given math problem is going to give you an incorrect answer a significant number of times?
On the other hand, what about attempting to determine what politician to vote for, is that really going to be so deterministic? For example, say you develop a webspider that aggregates information from websites and uses it to try to determine who to vote for, then launch some number of copies of the program starting with different sets of start sites, and a small-ish search depth (so that they don't end up with completely overlapping sets of sites scanned). Is a bot that starts scanning at fox.com going to come up with the same recommendation as one that started at boingboing? or slashdot? or fark?
For another example, take programs that actually have to deal with complex environments and uncertainty, like walking/driving robots in complex environments, they certainly don't act in totally deterministic ways do they? Or hell, just look at a Roomba! do they take the same path every time? Of course not, that would be a suboptimal cleaning pattern, you'd end up with reinforced wear patterns on your carpet, so the programmers added a degree of randomness to avoid it.
Biological systems are the same way, sometimes doing something erratic is better than making the "optimal" choice every time precisely *because* it's not the same thing everyone else is doing. (or the same thing you did the last time you tried something)
The discussion of free will is still being chewed on because it can't be dismissed or proven as easily as the GP seems to think.
aah yes, the old, "The free IRC-based tech support I got from random volunteers wasn't up to my high standards" problem. This really has no bearing on the issue with FatELF, but I see it over and over again, people demanding prompt, polite, tech support from a roomful of random lurkers and project volunteers. These people are spending their free time performing one of the most annoying, boring, thankless jobs in IT, and they get abuse because they don't fix your problem fast enough. There are a few things you might want to consider before "punishing" a project by abandoning it based on experiences in an IRC channel:
1. Ability: There is no guarantee that the people that kept giving you the same suggestions over and over know enough about the project to look into it more deeply, but you assume that they just weren't interested in helping. It's more likely that they know little more than you do about the project, but have a short list of the most commonly encountered problems and likely solutions. (kind of like tier 1 tech support, but free)
2. Affiliation: There is no guarantee that any of the people you talked to even have anything to do with the project other than lurking in their IRC channel. In my experience quite a few users lurk in channels of software they like, regardless of how capable they are of helping other people.
3. Incentive: I'm sure your problem was YOUR top priority at the time, but quite a few people on IRC lurk most of the time while they are doing other things, some of which are more important to them than trying to fix your problem. Also they have almost zero direct incentive to try to be nice to you.
4. Price: You mention this only to dismiss it, but seriously, this is a very valuable service that you are receiving for free, and you even had your quite obscure sounding problem diagnosed.
For-pay tech support either eliminates or hides these problems from the end-user, volunteer tech support doesn't have the resources to do this.
1. Ability is handled by tiering, if this were commercial software, you would have had to wait days to weeks in order to reach a level of tech support that would have been able to diagnose a bug in a sub-library not maintained by the business in question, and that's assuming you had paid enough for support to go that far for you (a hint, just buying a device will NOT get you this level of support). Instead you had an answer in under a day, and even a chance that the bug will get fixed based on your input.
2. Affiliation: This is the easy one, even if you do get support from someone outside a company you've purchased something from, you aren't going to blame the experience on the company, but rather on the individual. With open source however, if you find some random jerk that claims to be part of the project that proceeds to piss you off, you blame the project, not the individual. And regardless, unless you have a support contract with someone, it's just one person helping another.
3. Incentive: Paid services have a lockdown on this one too, tech support that doesn't maintain at least the barest facade of civility won't be working in tech support for much longer. (there are exceptions, but in general they will be more highly incentivized to pretend to like you, however as someone who worked in tech support for a while, I can guarantee you there is approximately zero chance that they will actually like you or care about your problem, which you have a pretty decent chance of with open source volunteers.)
At the end of the day, your problem was solved at no cost to yourself. Additionally I don't see any mention of your helpers even being rude, is this just an omission, or did you really just go into a roomful of random people and end up screaming at them (figuratively of course) because they couldn't help you with no direct provocation? If so, holy crap, you're a jerk.
.
Oh well, so goes it with parts of the human culture.
Fixed that for you...
But more seriously, I follow LKML, these are just people. People in general can be rude, abrupt, and dismissive, especially when confronted with something they think is a bad idea. I run into plenty of people in closed source software that are just as rude, the only difference is when you have paid tech support instead of volunteer (and this isn't necessarily a closed/open distinction) one of the things they are being *paid* to do is *be nice*. And of course there's the other bit, exactly how responsive are Apple and MS when you present them with ideas/source for their OS?
So the plural of anecdote is... a slashdot thread?
Anyway, my upgrade was moderately smooth, I had several issues, which were mostly caused by Ubuntu not gracefully handling changes I had made behind its back, but nothing I couldn't work around YMMV.
1. boot failure.
Cause: Grub entries were updated to use the UUID of my root partition, but Ubuntu picked the 'wrong' partition because I have two roots (backup) and one of them was corrupted (I didn't say it was a GOOD backup...)
Solution: Manually correct grub entries (This is the most questionable fix, I happen to have mucked around in the grub internals and done semi-embedded grub installs, so I'm quite a bit more expert at this than most.)
Reason it's my fault: I have a completely non-standard partition layout that confused the upgrader, also it warned me about the changes during the upgrade but I ignored the warnings.
2. Mozilla apps would not start
Cause: I use several Mozilla apps (Firefox, Thunderbird, Songbird), and install from tarballs, the update finally removed libsdtc++.so.5 (which was obsoleted a year or more ago.) and all the Mozilla apps depend on it.
Workaround: Downloaded a.deb containing libstdc++.so.5 and installed it until I get around to updating all my Mozilla installs.
Reason it's my fault: I intentionally maintain my Mozilla installs manually, so it's my responsibility to do the maintenance on them, I assume the Mozilla apps Ubuntu ship with Karmic don't have this problem.
3. Songbird still wouldn't boot after the libstdc++.so.5 fix.
Cause: The gstreamer libs that ship with Songbird somehow conflict with the ones shipped with Ubuntu... maybe? See here for discussion, also where I found the solution after about 5 minutes of searching.
Workaround: Do "export LD_BIND_NOW=1" before launching Songbird. On one hand this is an expert fix and I don't expect most people to know what it does, on the other hand I got it off an official help forum, so YMMVBPNBM.
4. Sound would not play.
Cause: Changes to audio stack caused upgrade process to mute audio.
Solution: Unmute audio. (This would have been far more obvious if I used a "normal" window manager that has a volume panel widget, I use ion3)
So, as you can see I did have some issues, but they were mostly self-inflicted, and I had little problem fixing them or working around them. (Spent something like 30 minutes post-upgrade sorting out the issues.)
P.S. Tried to end with "My 2 cents", but with "cents" rendered symbolically... Unicode didn't work, the html escape sequence for it didn't work, tried to use brackets in a previous P.S., and the html escape sequence for them didn't work either...
I'm NOT a chef, and I think people SHOULD learn to cook, and do basic home repair, and understand how their car works, and if they have a task that remotely requires it, yes they should learn how to program.
Sure there are extremely difficult tasks in each of these areas that shouldn't be attempted by an amateur, but the basics of all of them are readily accessible, and beneficial to learn, if for no other reason than to occupy yourself with something other than mindless consumption of sitcoms. (or slashdot articles)
Back on topic, I AM a software engineer, and I am highly skeptical about the "natural language programming" concept, but that isn't what this article is about. This is just another system for scripting GUI events with a simple interface. If you RTFA, you would find out that the system uses Jython as its scripting language, so the actual code isn't any more "visual" than any oher programming task, it's just that the (often very confusing, even for pros) GUI API has been replaced with a visual system that allows the script to act as if it were a user. I think a system like this has its place if you don't need lots of speed, which is a large number of applications.
~Beowulf cluster of nested robots?
Your proposed sentence isn't much better for english speakers, because it has the same underlying problem, using "gate" as a verb isn't normal usage, and I think the correct word is actually "bridges" (yep, another gerund, yay)
Writers are told over and over again that "passive voice" is dull and boring, no one wants to read that crap. The problem is that it is just not natural to write some things in "active voice", so you end up with contrived and hard to understand phrasings.
For example, the previous paragraph, but contorted into active voice:
Writers learn through constant repetition that "passive voice" makes sentences dull and boring, readers dislike writing of this kind. This causes problems because "active voice" fails at expressing certain concepts, so writers produce contrived and hard to understand phrasings.
Far more contrived a sentence and meanders more, but it's "active", woohoo :P
The headline of the linked article is just as bad, "MagicJack Harnesses Femtocell for VoIP".
It's not just you, I'm a native English speaker and the way headlines are written set my teeth on edge.
For a response from someone who actually knows something about the subject, see Harold Welte's blog
It's much cheaper and easier to make a 30+" display that does 1080P than a pair of 2" or so displays that have the same resolution, I don't think there are even prototype LCD panels that have the necessary component density. Also it's going to be quite a long time before wearable monitors approach the comfort level of shutter glasses.
1. That it will not use GSM encryption
2. That it is not encrypting the voip data
3. That someone using a cellphone in their home NEEDS encryption to the femtocell
3a. Not being able to make calls is preferable to being able to make unencrypted calls.
4. Intercepting unencrypted GSM can be performed "with ease"
5. The people doing the interception don't have a backdoor to the GSM network
These all seem to me to be pretty poor assumptions.
It's a losing proposition, you're taking time away from building expertise with things you WANT to do and instead building expertise with things you DISLIKE.
As a corollary I don't put any of these things on my resume either, why would I want to try to get a job doing things I don't like? This also means you will be less likely to be expected to do work you dislike.
*I don't mean "I don't comment my code", I mean I'm not going to commit to a role where a significant portion of the job is "filling out TPS reports", and as a matter of fact the company I work for DOES have TPS reports.
What the GP says sounds reasonable (I don't know enough about history to state whether it is accurate or not), I think you're seeing apologism for slavery where it doesn't exist.
Yea, but you could usually get the same effect by posting "Hey guys, use Alt+F5 to enable the special DCC recv mode and I'll send you some {illicit data of the moment}"
My wife is an OR (operating room) nurse who is paid to be on call, which I would consider to be roughly analogous to this topic. However, there are a couple of major differences:
1. She has to go to a specific location (the hospital) when called in. It's not like she can do her job from home.
2. She's paid hourly.
3. Usually if she gets called in, someone is dying. I would rarely, if ever, classify an IT emergency anywhere near as important as that.
1. Irrelevant, so if you work from home 100% you shouldn't be paid? It's one aspect to take into consideration, but it doesn't erase the fact that a worker on call has to disrupt their life.
2. If you're salaried, the compensation should appear in your normal wage instead of as a hourly bonus. (For example as the retainer mentioned previously in the thread) Salaried doesn't mean, "Do everything your employer says, even on your off time."
2a. According to TFA, the person in question is also hourly.
3. That is a decision to be made by the person paying the bills, if it's important enough to have someone on call, it's important enough to pay them for it.
The fact that the first comment was about hentai and tentacles just shows you that you're reading slashdot.
Fixed that for ya.
In other words, if you have an iPhone app and want to port it to another phone, the developer agreement demands that you reimplement the game for the new platform rather than merely porting it. As a side note, I understand that Palm makes the same demand for their app store, so it's not just Apple (unfortunately).
On the other hand my sticking point for not developing on Android is the Java requirement, I might have to take another look since I seem to recall some additional languages being an option now.
I nearly injured myself with my tea because of your comment. Thank you.
When asked about obvious, stated things like who we will vote for, our answers changes merely based on time. Computers think determensitically. Which is why we know they have no free will. Humans think via probabilities, not certanties. When computers are asked to solve a math question, they are always 100% certain they know the answer. When humas do it, we generally are a lot less certain. We know we might be wrong. The machines don't know that.
I also believe that the human mind is not deterministic, but that's a weak argument. You are very close to insight when you say "our answers change merely based on time." Computers generally have very limited input, and it is carefully filtered out in most applications. You don't want your answer to a math question to be affected by mouse movements or keyboard input or what is in front of the webcam. But that's what happens with humans. We can subvert it to an extent, through concentration, but our "inputs" consist of our sense organs, including skin, our internal state (hunger, drunkenness), and maybe some other stuff I'm forgetting. It can be argued that we are very complex machines, and that even though we don't have the computing technology to predict human behavior it is nonetheless deterministic.
As I said, I reject that statement, but disproving it is a lot harder than saying "our answers change over time."
Well stated, however aren't most sociological and psychiatric experiments designed to do precisely this? You give the subjects a highly controlled set of inputs and study the reaction in order to perceive some aspect of their internal state or mental process. Yes, people tend to drag around quite a lot of extraneous baggage that ends up getting introduced into almost any conceivable problem they encounter, and this makes them very difficult to analyze, but they aren't nearly as random as some people (the GP, for instance) seem to think.
For example, do you really think a person who knows how to perform a given math problem is going to give you an incorrect answer a significant number of times?
On the other hand, what about attempting to determine what politician to vote for, is that really going to be so deterministic? For example, say you develop a webspider that aggregates information from websites and uses it to try to determine who to vote for, then launch some number of copies of the program starting with different sets of start sites, and a small-ish search depth (so that they don't end up with completely overlapping sets of sites scanned). Is a bot that starts scanning at fox.com going to come up with the same recommendation as one that started at boingboing? or slashdot? or fark? For another example, take programs that actually have to deal with complex environments and uncertainty, like walking/driving robots in complex environments, they certainly don't act in totally deterministic ways do they? Or hell, just look at a Roomba! do they take the same path every time? Of course not, that would be a suboptimal cleaning pattern, you'd end up with reinforced wear patterns on your carpet, so the programmers added a degree of randomness to avoid it. Biological systems are the same way, sometimes doing something erratic is better than making the "optimal" choice every time precisely *because* it's not the same thing everyone else is doing. (or the same thing you did the last time you tried something) The discussion of free will is still being chewed on because it can't be dismissed or proven as easily as the GP seems to think.
1. Ability: There is no guarantee that the people that kept giving you the same suggestions over and over know enough about the project to look into it more deeply, but you assume that they just weren't interested in helping. It's more likely that they know little more than you do about the project, but have a short list of the most commonly encountered problems and likely solutions. (kind of like tier 1 tech support, but free)
2. Affiliation: There is no guarantee that any of the people you talked to even have anything to do with the project other than lurking in their IRC channel. In my experience quite a few users lurk in channels of software they like, regardless of how capable they are of helping other people.
3. Incentive: I'm sure your problem was YOUR top priority at the time, but quite a few people on IRC lurk most of the time while they are doing other things, some of which are more important to them than trying to fix your problem. Also they have almost zero direct incentive to try to be nice to you.
4. Price: You mention this only to dismiss it, but seriously, this is a very valuable service that you are receiving for free, and you even had your quite obscure sounding problem diagnosed.
For-pay tech support either eliminates or hides these problems from the end-user, volunteer tech support doesn't have the resources to do this.
1. Ability is handled by tiering, if this were commercial software, you would have had to wait days to weeks in order to reach a level of tech support that would have been able to diagnose a bug in a sub-library not maintained by the business in question, and that's assuming you had paid enough for support to go that far for you (a hint, just buying a device will NOT get you this level of support). Instead you had an answer in under a day, and even a chance that the bug will get fixed based on your input.
2. Affiliation: This is the easy one, even if you do get support from someone outside a company you've purchased something from, you aren't going to blame the experience on the company, but rather on the individual. With open source however, if you find some random jerk that claims to be part of the project that proceeds to piss you off, you blame the project, not the individual. And regardless, unless you have a support contract with someone, it's just one person helping another.
3. Incentive: Paid services have a lockdown on this one too, tech support that doesn't maintain at least the barest facade of civility won't be working in tech support for much longer. (there are exceptions, but in general they will be more highly incentivized to pretend to like you, however as someone who worked in tech support for a while, I can guarantee you there is approximately zero chance that they will actually like you or care about your problem, which you have a pretty decent chance of with open source volunteers.)
At the end of the day, your problem was solved at no cost to yourself. Additionally I don't see any mention of your helpers even being rude, is this just an omission, or did you really just go into a roomful of random people and end up screaming at them (figuratively of course) because they couldn't help you with no direct provocation? If so, holy crap, you're a jerk.
. Oh well, so goes it with parts of the human culture.
Fixed that for you... But more seriously, I follow LKML, these are just people. People in general can be rude, abrupt, and dismissive, especially when confronted with something they think is a bad idea. I run into plenty of people in closed source software that are just as rude, the only difference is when you have paid tech support instead of volunteer (and this isn't necessarily a closed/open distinction) one of the things they are being *paid* to do is *be nice*. And of course there's the other bit, exactly how responsive are Apple and MS when you present them with ideas/source for their OS?
Anyway, my upgrade was moderately smooth, I had several issues, which were mostly caused by Ubuntu not gracefully handling changes I had made behind its back, but nothing I couldn't work around YMMV.
1. boot failure.
Cause: Grub entries were updated to use the UUID of my root partition, but Ubuntu picked the 'wrong' partition because I have two roots (backup) and one of them was corrupted (I didn't say it was a GOOD backup...)
Solution: Manually correct grub entries (This is the most questionable fix, I happen to have mucked around in the grub internals and done semi-embedded grub installs, so I'm quite a bit more expert at this than most.)
Reason it's my fault: I have a completely non-standard partition layout that confused the upgrader, also it warned me about the changes during the upgrade but I ignored the warnings.
2. Mozilla apps would not start
Cause: I use several Mozilla apps (Firefox, Thunderbird, Songbird), and install from tarballs, the update finally removed libsdtc++.so.5 (which was obsoleted a year or more ago.) and all the Mozilla apps depend on it.
Workaround: Downloaded a .deb containing libstdc++.so.5 and installed it until I get around to updating all my Mozilla installs.
Reason it's my fault: I intentionally maintain my Mozilla installs manually, so it's my responsibility to do the maintenance on them, I assume the Mozilla apps Ubuntu ship with Karmic don't have this problem.
3. Songbird still wouldn't boot after the libstdc++.so.5 fix.
Cause: The gstreamer libs that ship with Songbird somehow conflict with the ones shipped with Ubuntu... maybe? See here for discussion, also where I found the solution after about 5 minutes of searching.
Workaround: Do "export LD_BIND_NOW=1" before launching Songbird. On one hand this is an expert fix and I don't expect most people to know what it does, on the other hand I got it off an official help forum, so YMMVBPNBM.
4. Sound would not play.
Cause: Changes to audio stack caused upgrade process to mute audio.
Solution: Unmute audio. (This would have been far more obvious if I used a "normal" window manager that has a volume panel widget, I use ion3)
So, as you can see I did have some issues, but they were mostly self-inflicted, and I had little problem fixing them or working around them. (Spent something like 30 minutes post-upgrade sorting out the issues.)
P.S. Tried to end with "My 2 cents", but with "cents" rendered symbolically... Unicode didn't work, the html escape sequence for it didn't work, tried to use brackets in a previous P.S., and the html escape sequence for them didn't work either...