As far as I can tell, you didn't learn literally the first thing about the language (atoms and Variables), couldn't figure out a single error message, and are still mad about it.
As someone who has been doing this for only a couple of months, I think you're doing yourself a disservice. Erlang is a really powerful language that is pretty dang easy to program in once you get the basics.
Regarding the documentation, the one thing you complain about is explained in the erlang manual. click on getting started, modules and functions. it's section 2.2.
I will admit that exception traces took me a while to get used to, but they do make sense after a while.
The company I work for just started evaluating erlang in june. we're going to release our first successful product in a month and the second is already in the pipeline.
If you have good developers who are interested in learning something new and a problem that fits the domain for which erlang excels, it's not a steep learning curve at all.
Re:What's missing from Erlang...
on
Programming Erlang
·
· Score: 2, Informative
You can do reload natively compiled modules. In fact, you can replace a native compiled module with a byte-code one and then vice versa, in a running vm. I just did it 5 seconds ago.
You can use periods and @s (and anything else) to namespace atoms, if you want. The module loader will even track down module foo.bar to foo/bar.beam... compiler support for it isn't great but it works. nobody bothers to use it though.
The syntax takes a while to get used to, but it becomes very easy to write.
What I've found is that the longer I write it, more often I crank out code for hours at a time that just works.
Re:Full-time Erlang programmer gives his view :]
on
Programming Erlang
·
· Score: 1
If you really are a professional erlang programmer, you're not a very good one.
You can use list recursions or lists:map/lists:foreach to iterate over lists without having to do stock tail recursion.
"you can't use global variables".
Its support for gotos is also, sadly. limited.
The standard way of stashing global state is to use a named process gen_server, which is the equivalent of a singleton. This works fine.
The process dictionary is completely useless as global variables, it's per process! That's like saying you can pass around pointers to the stack instead of heap allocating...
However, I'm not married to the GPL. There are some things that I want to be able to put in the public domain or BSD license, and some that should be LGPL. Furthermore, there are people (very prominent open source folks) who do not like using the GPL and do not use it.
TrollTech's licensing scheme does not allow that.
Bzzt! Qt-X11-Free is dual licensed, under the QPL which allows any open source coding, and under the GPL because RMS said the QPL is GPL incompatible.
Besides, I have yet to see anybody suggest that using a GPLed library in a program that is not GPLed but uses a GPL-compatible license such as BSD is a violation of the GPL. I believe that it is not a violation.
the 847 area code for the north and northwest suburbs of chicago has had a 224 overlay for a while. My parents live in one of those tiny little towns where everybody still has the same prefix, so my dad just programmed speed dial button for 1-847-NNN and it's almost like being back in the good old days of 4 digit dialing.:)
dbt:
Free Software vendors should be indicating the terms of the GPL (assuming some software is GPLed in their distribution) on the outside of the packaging, but even if they don't, again, the license is not restricting any of the rights you would normally have in a software sale so there is no need for prior assent.
pmz: What if you are evaluating a software package based on the ability to redistribute it or reuse parts of it? Prior assent is essential no matter the license, because even the GPL restricts some rights as a compromise for allowing others.
The GPL does not restrict any rights you, as a recipient of a copywritten work, already have. It does place requirements on you if you choose to exercise the rights of redistribution, modification, or creating derived works -- but those are rights that you do not have except as granted by the license, so the default assumption is that you cannot copy, redistribute, etc.
In the event that a license is not legally binding (i.e. a GPL or BSD style license), the terms revert to the default, which is "All Rights Reserved", which is more restrictive than what is being granted by the GPL or BSD license. So taking advantage of those terms (creating derived works, redistributing, blah blah woof woof) indicates implied assent of the terms. Besides, the only time licenses have been held not legally binding have been when the software has been sold -- most free software is not sold, it is downloaded. Free Software vendors should be indicating the terms of the GPL (assuming some software is GPLed in their distribution) on the outside of the packaging, but even if they don't, again, the license is not restricting any of the rights you would normally have in a software sale so there is no need for prior assent.
This is all crap until the courts rule on the applicability of licenses like this anyway. Free software licenses do not fall under the same category as normal closed licenses.
Now, I could migrate to 3.0 and don't change anything on the underlying code for the custom GUI.
You will have to change your rules. OpenBSD made several modifications to IPF that darren never included upstream (interface names in place of IP addresses, for example). I also recall some controversy involving patches to support ipf on the bridge. I don't know if those are supported either.
You're welcome to experiment I suppose. Good luck. But I'd strongly recommend not installing this straight onto your production system.
I don't think the GPL is anti-big-business. It feels that way to some people, and they see "Hey, Microsoft can't use my code, so neener neener neener!"
You're not looking at the big picture. Microsoft can afford to ignore your code and write their own. The people who the BSD license helps are the little guys -- NFR, Network Appliance, a billion countless little startups--because they need the BSD license to protect their ideas from people like Microsoft.
Look at IBM using the GPL for JFS and tell me that the GPL is anti-big-business.... of course it's not.
Rule #1: Unplug the ethernet cable, not the power. It's hard to do a post-mortem if your filesystem is crashed.
Rule #2: don't give any indication that you're aware the box has been rooted before you engage rule #1.
Rule #3: Don't trust anything that might have gone through that box for a reasonable period of time. Re-password, check other machines, reinstall software, etc. Good luck.
IPv6 isn't being adopted for one major reason: The OS that 95% of the world uses on the desktop doesn't support it yet. Whistler will have an IPv6 option that is not supported (and comes with big red flags before you can turn it on). A friend of mine that works on Whistler networking has heard that Whistler server will ship with IPv6 as a supported option. Expect that in maybe two years. (The service pack for whistler end-user released at the same time will probably include the same IPv6 stack for production use.)
Combined with the fact that router manufacturers should have a much stabler IPv6 base by then and critical mass of IP wireless devices should be arriving about then, expect to see a sudden surge in IPv6 connectivity and demand. You heard it here first!
There are plenty of systems that would work just fine with several viable candidates. Approval voting and Condorcet's method both function quite well. Check out www.votingmethods.org, an independant analysis of various methods of voting better than our current system that would work quite well in a 4 or 5 party system.
Who's inclusive, and who's exclusive? We go to your shows, but I didn't see RMS, or Linus, or ESR, or anybody else from the FSF or OSI camps showing up at BSDCon.
Besides, none of us really care about windows. Really. Honestly. We're just cranking out good code for our own platform that works nicely and does what we need it to do, and we don't care what your grandmother runs on her PC.
Which isn't to say we're anti-grandmother, we're just not trying to convince everybody else in the world that we have the best operating system ever. We're just happy to let them find it out for themselves, in their own good time.
Not so excellent. If you read between the lines, the technology companies are hoping that they throw out watermarks and go with Digital Rights Management. DRM is a codeword for "end to end controlled encryption." It's like Kerberos for music, and it means that you have to use their software, special hardware, etc etc.
Anything that uses printf-like statements can be vunlerable to attack. Specifically, anything that uses printf-like statements improperly. Always printf("%s", string) instead of printf(string). Note that this has cropped up in lots of places, including openbsd's ftpd (if you turn on anonymous ftp, which is off by default).
anybody else tired of the internet.com family of websites posting inaccurate, inflammatory, and otherwise trashy "reporting"? I've been really unimpressed with any article I've seen on BSDToday, LinuxToday, and etc. Incorrect facts, bad advocacy... It makes everybody look bad.
When you use that type of software, you agree to the EULA (End User License Agreement). It's very clear that an OEM license is different from retail. What Microsoft is doing is legitimate. I would even go further as to tell Microsoft : Go baby go!
This is what Microsoft would like you to believe. A large body of federal law says otherwise, though some other federal law says maybe that's true. So far, it's not been tested in court. I'd really like to see an EULA tested in court -- I personally believe EULAs and the laws that support them undermine constitutional guarantees, and I'd like to see them struck down once and for all.
They're subpeonaing records to get the names of the people who are leaking data, and then I wager the suits will be dropped. It's been done before (remember the yahoo lawsuits a couple of years ago when employees of various companies were suing john doe defendants who were posting defamatory content about their own company to yahoo message boards?).
I would honestly surmise that they are pissed off because a bunch of 19 year old grabasses are trying to make a business out of ripping them off with no consideration whatsoever.
The IBM LVM for AIX allows for things like resizing filesystems without unmounting the partition, something no other LVM does (including Linux's). Without that, I consider LVM to be littler more than a toy (in serious environments, growing something like/var requires taking the machine down to single user mode, at which point dumping and restoring to a new bigger partition isn't a much bigger inconvenience).
As far as I can tell, you didn't learn literally the first thing about the language (atoms and Variables), couldn't figure out a single error message, and are still mad about it.
As someone who has been doing this for only a couple of months, I think you're doing yourself a disservice. Erlang is a really powerful language that is pretty dang easy to program in once you get the basics.
Regarding the documentation, the one thing you complain about is explained in the erlang manual. click on getting started, modules and functions. it's section 2.2.
I will admit that exception traces took me a while to get used to, but they do make sense after a while.
The company I work for just started evaluating erlang in june. we're going to release our first successful product in a month and the second is already in the pipeline.
If you have good developers who are interested in learning something new and a problem that fits the domain for which erlang excels, it's not a steep learning curve at all.
You can do reload natively compiled modules. In fact, you can replace a native compiled module with a byte-code one and then vice versa, in a running vm. I just did it 5 seconds ago.
You can use periods and @s (and anything else) to namespace atoms, if you want. The module loader will even track down module foo.bar to foo/bar.beam... compiler support for it isn't great but it works. nobody bothers to use it though.
The syntax takes a while to get used to, but it becomes very easy to write.
What I've found is that the longer I write it, more often I crank out code for hours at a time that just works.
If you really are a professional erlang programmer, you're not a very good one.
You can use list recursions or lists:map/lists:foreach to iterate over lists without having to do stock tail recursion.
"you can't use global variables".
Its support for gotos is also, sadly. limited.
The standard way of stashing global state is to use a named process gen_server, which is the equivalent of a singleton. This works fine.
The process dictionary is completely useless as global variables, it's per process! That's like saying you can pass around pointers to the stack instead of heap allocating...
How long have you been doing erlang work? 3 days?
I will say that AnkhSvn http://ankhsvn.tigris.org/ has been fantastic for my use in visual studio. I basically never use the CLI on windows anymore.
Bzzt! Qt-X11-Free is dual licensed, under the QPL which allows any open source coding, and under the GPL because RMS said the QPL is GPL incompatible.
Besides, I have yet to see anybody suggest that using a GPLed library in a program that is not GPLed but uses a GPL-compatible license such as BSD is a violation of the GPL. I believe that it is not a violation.
You can always add the Blitzed Open Proxy DNSBL to your mailer configuration, check out http://opm.blitzed.org/.
the 847 area code for the north and northwest suburbs of chicago has had a 224 overlay for a while. My parents live in one of those tiny little towns where everybody still has the same prefix, so my dad just programmed speed dial button for 1-847-NNN and it's almost like being back in the good old days of 4 digit dialing. :)
dbt: Free Software vendors should be indicating the terms of the GPL (assuming some software is GPLed in their distribution) on the outside of the packaging, but even if they don't, again, the license is not restricting any of the rights you would normally have in a software sale so there is no need for prior assent.
pmz: What if you are evaluating a software package based on the ability to redistribute it or reuse parts of it? Prior assent is essential no matter the license, because even the GPL restricts some rights as a compromise for allowing others.
The GPL does not restrict any rights you, as a recipient of a copywritten work, already have. It does place requirements on you if you choose to exercise the rights of redistribution, modification, or creating derived works -- but those are rights that you do not have except as granted by the license, so the default assumption is that you cannot copy, redistribute, etc.
In the event that a license is not legally binding (i.e. a GPL or BSD style license), the terms revert to the default, which is "All Rights Reserved", which is more restrictive than what is being granted by the GPL or BSD license.
So taking advantage of those terms (creating derived works, redistributing, blah blah woof woof) indicates implied assent of the terms.
Besides, the only time licenses have been held not legally binding have been when the software has been sold -- most free software is not sold, it is downloaded. Free Software vendors should be indicating the terms of the GPL (assuming some software is GPLed in their distribution) on the outside of the packaging, but even if they don't, again, the license is not restricting any of the rights you would normally have in a software sale so there is no need for prior assent.
This is all crap until the courts rule on the applicability of licenses like this anyway. Free software licenses do not fall under the same category as normal closed licenses.
Now, I could migrate to 3.0 and don't change anything on the underlying code for the custom GUI.
You will have to change your rules. OpenBSD made several modifications to IPF that darren never included upstream (interface names in place of IP addresses, for example). I also recall some controversy involving patches to support ipf on the bridge. I don't know if those are supported either.
You're welcome to experiment I suppose. Good luck. But I'd strongly recommend not installing this straight onto your production system.
I don't think the GPL is anti-big-business. It feels that way to some people, and they see "Hey, Microsoft can't use my code, so neener neener neener!"
You're not looking at the big picture. Microsoft can afford to ignore your code and write their own. The people who the BSD license helps are the little guys -- NFR, Network Appliance, a billion countless little startups--because they need the BSD license to protect their ideas from people like Microsoft.
Look at IBM using the GPL for JFS and tell me that the GPL is anti-big-business.... of course it's not.
Rule #1: Unplug the ethernet cable, not the power. It's hard to do a post-mortem if your filesystem is crashed.
:)
Rule #2: don't give any indication that you're aware the box has been rooted before you engage rule #1.
Rule #3: Don't trust anything that might have gone through that box for a reasonable period of time. Re-password, check other machines, reinstall software, etc. Good luck.
Rule #4: Run OpenBSD and don't get rooted.
Combined with the fact that router manufacturers should have a much stabler IPv6 base by then and critical mass of IP wireless devices should be arriving about then, expect to see a sudden surge in IPv6 connectivity and demand. You heard it here first!
There are plenty of systems that would work just fine with several viable candidates. Approval voting and Condorcet's method both function quite well. Check out www.votingmethods.org, an independant analysis of various methods of voting better than our current system that would work quite well in a 4 or 5 party system.
Who's inclusive, and who's exclusive? We go to your shows, but I didn't see RMS, or Linus, or ESR, or anybody else from the FSF or OSI camps showing up at BSDCon.
Besides, none of us really care about windows. Really. Honestly. We're just cranking out good code for our own platform that works nicely and does what we need it to do, and we don't care what your grandmother runs on her PC.
Which isn't to say we're anti-grandmother, we're just not trying to convince everybody else in the world that we have the best operating system ever. We're just happy to let them find it out for themselves, in their own good time.
Not so excellent. If you read between the lines, the technology companies are hoping that they throw out watermarks and go with Digital Rights Management. DRM is a codeword for "end to end controlled encryption." It's like Kerberos for music, and it means that you have to use their software, special hardware, etc etc.
And the microsoft IPv6 stack has been out for over two years in an unsupported research capacity.
Anything that uses printf-like statements can be vunlerable to attack. Specifically, anything that uses printf-like statements improperly. Always printf("%s", string) instead of printf(string). Note that this has cropped up in lots of places, including openbsd's ftpd (if you turn on anonymous ftp, which is off by default).
anybody else tired of the internet.com family of websites posting inaccurate, inflammatory, and otherwise trashy "reporting"? I've been really unimpressed with any article I've seen on BSDToday, LinuxToday, and etc. Incorrect facts, bad advocacy... It makes everybody look bad.
When you use that type of software, you agree to the EULA (End User License Agreement). It's very clear that an OEM license is different from retail. What Microsoft is doing is legitimate. I would even go further as to tell Microsoft : Go baby go!
This is what Microsoft would like you to believe. A large body of federal law says otherwise, though some other federal law says maybe that's true. So far, it's not been tested in court. I'd really like to see an EULA tested in court -- I personally believe EULAs and the laws that support them undermine constitutional guarantees, and I'd like to see them struck down once and for all.
They're subpeonaing records to get the names of the people who are leaking data, and then I wager the suits will be dropped. It's been done before (remember the yahoo lawsuits a couple of years ago when employees of various companies were suing john doe defendants who were posting defamatory content about their own company to yahoo message boards?).
how is TCSH GNU software?
I would honestly surmise that they are pissed off because a bunch of 19 year old grabasses are trying to make a business out of ripping them off with no consideration whatsoever.
The IBM LVM for AIX allows for things like resizing filesystems without unmounting the partition, something no other LVM does (including Linux's). Without that, I consider LVM to be littler more than a toy (in serious environments, growing something like /var requires taking the machine down to single user mode, at which point dumping and restoring to a new bigger partition isn't a much bigger inconvenience).