Secondly and most importantly, I don't think people realize just how big the SSSCA is. If it passes, all of these wonderful OSS initiatives will die off.
OK, pardon my ignorance here, but it needs to be asked. Why? Why does SSSCA pose a thread to open source development? What exactly is the problem under this law if I want to run Linux instead of Windows XP? I hear a lot of people saying that this will kill Open Source, but I'm not convinced. Could someone explain this to me?
Any CS diploma/degree that focuses only on a programming language and not general CS theory [e.g. language theory, algorithms and optimizations, number theory, etc...] is not worth anything.
Amen, Amen, and Yay Verily Amen. I mean...yes, it's sometimes easier to get work if one has that Microsoft certification as a VB developer. But it's also much easier to go from a computer science degree to a VB certification, than the other way around. The difference is that the degree gives one (or is supposed to give one) a broad, but not necessarily very deep, background in the field of computer science; while the certification gives one a deep, but not very broad, understanding of a particular technology.
The flip side of this, of course, is that a CS degree doesn't necessarily make one a very skilled programmer. That takes writing programs, reading other people's programs, and mentoring from other, more skilled/seasoned programmers. I know I'm a hell of a lot wiser for just the last two years of real world experience, than I would have been even with a Masters' degree in CS.
Corolary: When you focus on one technology, you leave your students not only under-trained, but over-confident. That's a very bad combination, especially since a bachelors' in CS isn't the guarantee of a hot career that it used to be.
Dominance on the Desktop is largely a function of what people are used to in a user interface.
A strange thing happened in the last three years of running Linux on my desktop. I have become so used to it, that it becomes a real pain in the ass for me to use non-X desktops. This is because Windows, the most common desktop out there, doesn't use the middle button for pasting text highlighted in one window into another window.
I didn't realize how much of a convenience this is until I started using Windows for about ten minutes (printing up resumes in a Kinko's. If you must know, my printer is kaput, hardware problem.:() All the sudden it wasn't N steps, it was N+4 steps to copy and paste text, and I found that my productivity was slower than it could have been.
On the other hand, my two former roommates (when and if they borrow my computer) always start surfing the web by opening a Netscape session. This is true even when I have a Galeon session open and displaying a web page in that very same part of the desktop. (see footnote 1). This never fails. It's as predictable as a pendulum in a grandfather clock.
This suggests a strategy for taking over the Desktop market. Fortunately, it's one that Ximian and KDE seem to already have in mind: emulate the functionality of Windows and/or Mac as much as possible, to make new users happy. Or sorta happy.
Granted, GNOME and KDE aren't as lightweight and geeky as, say, WindowMaker, but they're free and close enough to Windows and Mac so that Windows and Mac users (in many cases) can make the switch to Linux and not feel totally useless.
(Footnote 1: I know what you're thinking: "Dude, you left yourself logged on. *Smack*." Yep, I leave myself logged on to my own Linux box for days on end. In any other setting besides the privacy of my own home, this would be a problem.)
Yes FoxNews and Rush are Conservatives, but I wouldn't call them mainstream as NBC, ABC, or CBS beats them out in ratings.
Still, it belies the fabrication that the media has an automatic liberal bias. And you can't deny that Rush Limbaugh and his ilk have a lock on the talk radio market.
"slightly differently oppressive taxation"?
Sure, the top 1% will be slightly less oppressed than before.
"And remember, one side wants access to abortion facilities, the other side wants access to firearms." How in the hell can you compare these 2 issues?
I didn't. But notice: you assumed that I did.
The media, on both the left and the right, have basically drilled it into the majority of the American population that you have only two acceptible sets of political views: the Twinkie Left, or the Limbaugh Right. Not surprisingly, the Twinkie Left represents the Democratic platform, the Limbaugh Right represents the Republican platform. In reality, neither of these sets of political views are internally consistent, very visionary, or even necessarily being acted on by either party. They are essentially two different flavors of stagnation, and the media has us arguing over them as if there's a substantial difference between the two.
With the exception, of course, of FOX and Rush Limbaugh, which push a right-leaning, technophobic police state with slightly differently oppressive taxation to pay for government handouts to major corporations and tobacco farmers.
And remember, one side wants access to abortion facilities, the other side wants access to firearms.
I like politics, but man, I start to see the hypocritical crap both "sides" are throwing around, and it gets me grumpy.
even then, because the female programmer will have more social time than the male programmer. To follow that, the male programmer with facial hair will probably be even further into their box than the female programmer. Meaning the person with least amount of time spent with others is probably the person with better coding skills.
That's nuts. First of all, some people, including good coders, need a social life in order to maintain a groove, even if the social life is with other programmers. Secondly, you have no justification for your claim that a female programmer will have more social time than a male programmer. Thirdly, you have no justification for your claim that strong coding skills require one to spend less time with others.
It sounds to me like you're creating a just-so-story based on insufficient evidence. And possibly alienating potential co-workers at the same time. This is not a good combination.
A small correction: The company that could convince the most consumers that they were offering the best services for the best price would be successful. (Much like the drug companies today - look at how much they actually spend on R&D vs. what they spend on advertising, promotions and the lawyers to fight for longer patent durations)
This is spot on. One thing that annoys me about apologists for both capitalism and communism is that they miss this critical point: it's not the quality of the product, it's the marketing of the product. Quality is only a part of marketing, and brother, it ain't that much a part. The corolary to this is that it's not who controls the means of production, but who controls the demand, that determines how the economy is run.
These laser weapons are nothing but a white elephant for defense contractors, who have seen the end of the cold war erode their profits.
I respectfully submit that you're mistaken here. This laser is the tip of the iceberg. What the Bush Administration is doing is creating a brand new war, the War on Terrorism, to replace the Cold War. Like the Cold War, we will be lucky to see it end in our lifetimes. This is exactly what the defense contractors need: something that will put them on the gravy train for 50, possibly 100 years.
What comes after the laser? Autonomous, unmanned combat vehicles. Better body armor. Improved infantry weapons that can blow up a grendade just on the other side of hard cover. Mechanized infantry companies and light armor companies that can deploy and be in combat position with 48 hours notice. Low-grade nerve gas that knocks out an entire village or a few city blocks for just long enough for troops to sweep in and arrest people. And that's just in the next 10-15 years. All of this represents trillions (that's 10^12) of dollars in revenue for defense contractors, and to defense contractors' investors.
I used to think that Aerospace would be the next big growth sector after Biotech. At this point, I think they're going to boom simultaneously.
Why must the US keep spending money on bigger guns?
Because a big gun can sometimes save you from a fight, when negotiation fails. Five guys with baseball bats and a problem with a pissant are going to be reluctant to start a fight once that pissant produces a pistol.
99.9% of avoiding war is diplomacy, negotiation, and just knowing how to step lightly and not be a jerk. Those won't save you from irrational people, and that's when you need to use physical intimidation.
I support this laser project 100%. My concern isn't with our military development, it's with our short-sighted attitude about foreign policy, which arguably has been a major contributing cause of the last four wars (Afghan, Gulf, Panama and Vietnam), and has lent support to human rights abuses worldwide. The fact that our President decided to mix it up with North Korea and Iran in the State of the Union Address doesn't exactly help things either. If your concern is about peace, you should focus on that rather than on weapons R&D. We've got nukes and we haven't blown ourselves up yet, but we just might unless we clean up our act, pronto.
Not that it matters much, but I really want to thank Guido for everything he's done for the Python world, including working things out with the FSF regarding GPL compatibility. It's a real pleasure developing in this language, and I know it's cut development for some projects I've worked on by about half.
So, congrats on a job well done and an award well deserved.
There are several comments on the Microsoft settlement to the effect that there's been undisclosed ex-parte communications going on between MS and DOJ, in violation of the Tunney act. So maybe your paranoia isn't so outlandish, after all.
Most of the comments either state that the settlement won't promote competition (click here or here, or are based on the allegation that some sort of deal was cut (illegally) between MS and the DOJ. The following is a list of for PRO-settlement comments:
just ask *explicitly* for a buildable source tree.
then build it, it would pre pretty simple to figure it out.
There's buildable and there's legible. I can see MS complying with the letter of such an order by running the source code through obfuscate.pl and delivering *that*. Sure, the code is FUNCTIONALLY the same, but you waste State money trying to decypher the source code.
Your solution meets the criteria nicely, but I wouldn't recommend that to my boss. Here's why.
Java GUI toolkits are notoriously bloated and slow. In fact I'd go so far as to say that it's probably the last language I'd use to develop a GUI.
The reason is because most Java GUI tools relegate GUI management to the Java2d kit, which runs on the JVM. The result is that your client c
ode, even for clients of only moderate complexity, can take up as much as 100MB of RAM.
Linking Java together with C++ is a royal pain in the ass. If you're using XML, this isn't a problem; the Java components will communicate with the C++ components through XML streams. Otherwise, you're talking about something similar to linking Java and C++ code, and that's not exactly trivial.
Let's suppose you want to run a C or C++ module in Java. You can write modules in C or C++ and have Python or Perl use those modules; that's relatively easy, thanks to SWIG. In the case of Java, you have to deal with Java Native Interface (JNI), which is basically like writing extensions to the JVM. Running Java within C or C++ code isn't as bad, but it's still tricky compared to running Perl or Python within C or C++. I would recommend studying JNI further before pursuing this path. It's doable, but it's not pretty.
Frankly, I would say that the intrepid programmer is better off writing his or her GUI in Python-Qt, wxPython, or Python-Glade, than messing with Java. My experience is that development time is faster with Python than with Java; and for GUIs, the code is actually much faster and less bloated.
My question would be, why do you want to stick with just one language?
I've worked on several projects that were coded in multiple languages... whether it was a client coded in Python and a server coded in Java, or a series of programs coded in C++ and Perl all tied together in one big Perl script, or whatever.
Given the criteria that you laid down, I'm not sure that ANY language will meet your criteria. However, you might want to explore using a combination of Python and C++, where you use Python to do the majority of development (including GUI development) and C++ to write the 20% of your code that runs 80% of the time. GUI development in Python is a snap, and it gets even easier if you use GLADE. The one major disadvantage to this technique is that you don't have a single, simple IDE; you may end up with two IDEs, such as Visual Python and Codewarrior C++.
Basically, IMHO, a CS degree will qualify you for just about any TECHNICAL direction you decide to move in. Its definitely what I would suggest.
You'd think so, but I have a CS degree and I've had a bitch of a time making the move to embedded systems. Eventually I just gave up on it; the main barrier to entry is experience, which in my case means either going back to school or getting a bunch of equipement and playing with it. Neither is an option right now. (C'est la vie.)
Down the road it might be, but I'd still suggest computer engineering for maxiumum flexibility. Get to know your hardware!
If you've ever seen Miguel at a Linux conference, you know that he has more energy than your average hacker. For that matter, he has more energy than your average Slayer concert. It doesn't surprise me that he can be so heavily involved with so many projects. Most of us mere mortals would be lucky to have enough energy to make useful contributions to just *one* such project.
Every once in a while, I hear from folks who want to become a software engineer. Good for you, I say, and why is that? The following is a list of good and bad reasons that I've heard.
I want to be an insanely rich billionaire like Bill Gates. And who wouldn't? The thing is, Bill Gates did not become wealthy through software engineering. Neither did Steve Ballmer, or Larry Ellison, or Scott McNeil. They became billionaires by being brutal, ruthless businesspeople; it just so happens that the business, in their cases, happens to be software.
I want to re-define and revolutionize the way people do X. That motivates a lot of the best people, for sure. Getting yourself in a position to do this is bloody unlikely. There are hundreds of great operating systems, programming languages, databases, etc, out there. Only a few of them really change the way people do things.
And while it is still possible to make a buck in this world off a good idea, there's still a lot of luck and business smarts involved (see above) in taking an idea and turning it into a fortune. I've worked for more than one company based on a good idea that, lacking either luck or leadership, turned sour. Many fortunes are lost on such ventures.
I want to be a Revolutionary like RMS and stick it to Microsoft. Hey, great. I now pronounce you a Revolutionary. Now: how are you going to stick it to Microsoft? Any schmuck can write free softwarwe. Not every schmuck can write something world-shaking.
I want to be able to make big bucks. My advice: get a Microsoft certification and milk it. Or better yet, consider another profession, such as auto mechanic. The computer field is subject to many ups and downs; what looked like a steady income yesterday is a quick trip to the unemployment line today, and vice versa. Sure, you can earn the big bucks, but there's no guarantee that it will be a steady income, or that your skills will be in demand three years from now.
I want to solve interesting problems / I love to code / I find computers endlessly fascinating. Well then, you've probably chosen the right profession. There is nothing better than doing what you love.
I want to wear whatever I want and have nobody tell me otherwise. Despite stereotypes, this isn't always going to be possible. Remember, as a coder you're a part of a team, usually trying to conduct business. That means that sometimes, you're going to have to dress up, go to meetings, make presenations, and otherwise do some really boring and unpleasant things. Guess what? That's life! And, especially now that there's a glut of qualified coders, employers are going to expect you to dress and act more like a regular professional.
KOffice and Gnome Office will agree on a standard XML-based file format for documents, spreadsheets
Mono and dotGNU will start to make serious and obvious progress towards a fully-functioning system.
Python gets serious mainstream attention as a Java-killer. PHP practically replaces Javascript. Nothing ever replaces HTML.
IBM buys a large chunk of VA; staff cuts hit Slashdot, Newsforge.
By the end of 2002, Linux either reaches or is building up anticipation towards a 3.0 release
The Glade and Glimmer projects will merge
Ximian either starts or takes leadership of a project to build an Access-like and/or FoxPro-like front end for any relational database that has an ODBC API
Amazon and Yahoo! report strong 4Q and 1Q earnings. Venture capital returns for dot-com business ventures.
Unemployment rates for computer professionals drop back down to 4% by mid-2002, from a high of 8% in late 2001.
FBI scores major busts of warez and terrorist rings based on IRC, MUDs, and on-line game networks.
Ashcroft starts major cryptography crackdown; privacy activists are bitterly disappointed.
Hm. "Send spam, get shot in the back of the neck." I like the sound of this.
OK, pardon my ignorance here, but it needs to be asked. Why? Why does SSSCA pose a thread to open source development? What exactly is the problem under this law if I want to run Linux instead of Windows XP? I hear a lot of people saying that this will kill Open Source, but I'm not convinced. Could someone explain this to me?
Amen, Amen, and Yay Verily Amen. I mean...yes, it's sometimes easier to get work if one has that Microsoft certification as a VB developer. But it's also much easier to go from a computer science degree to a VB certification, than the other way around. The difference is that the degree gives one (or is supposed to give one) a broad, but not necessarily very deep, background in the field of computer science; while the certification gives one a deep, but not very broad, understanding of a particular technology.
The flip side of this, of course, is that a CS degree doesn't necessarily make one a very skilled programmer. That takes writing programs, reading other people's programs, and mentoring from other, more skilled/seasoned programmers. I know I'm a hell of a lot wiser for just the last two years of real world experience, than I would have been even with a Masters' degree in CS.
Corolary: When you focus on one technology, you leave your students not only under-trained, but over-confident. That's a very bad combination, especially since a bachelors' in CS isn't the guarantee of a hot career that it used to be.
What? That's it? Not even a heuristic function thrown in for good measure? What a rip!
Dominance on the Desktop is largely a function of what people are used to in a user interface.
A strange thing happened in the last three years of running Linux on my desktop. I have become so used to it, that it becomes a real pain in the ass for me to use non-X desktops. This is because Windows, the most common desktop out there, doesn't use the middle button for pasting text highlighted in one window into another window.
I didn't realize how much of a convenience this is until I started using Windows for about ten minutes (printing up resumes in a Kinko's. If you must know, my printer is kaput, hardware problem. :() All the sudden it wasn't N steps, it was N+4 steps to copy and paste text, and I found that my productivity was slower than it could have been.
On the other hand, my two former roommates (when and if they borrow my computer) always start surfing the web by opening a Netscape session. This is true even when I have a Galeon session open and displaying a web page in that very same part of the desktop. (see footnote 1). This never fails. It's as predictable as a pendulum in a grandfather clock.
This suggests a strategy for taking over the Desktop market. Fortunately, it's one that Ximian and KDE seem to already have in mind: emulate the functionality of Windows and/or Mac as much as possible, to make new users happy. Or sorta happy. Granted, GNOME and KDE aren't as lightweight and geeky as, say, WindowMaker, but they're free and close enough to Windows and Mac so that Windows and Mac users (in many cases) can make the switch to Linux and not feel totally useless.
(Footnote 1: I know what you're thinking: "Dude, you left yourself logged on. *Smack*." Yep, I leave myself logged on to my own Linux box for days on end. In any other setting besides the privacy of my own home, this would be a problem.)
Still, it belies the fabrication that the media has an automatic liberal bias. And you can't deny that Rush Limbaugh and his ilk have a lock on the talk radio market.
"slightly differently oppressive taxation"?
Sure, the top 1% will be slightly less oppressed than before.
"And remember, one side wants access to abortion facilities, the other side wants access to firearms." How in the hell can you compare these 2 issues?
I didn't. But notice: you assumed that I did.
The media, on both the left and the right, have basically drilled it into the majority of the American population that you have only two acceptible sets of political views: the Twinkie Left, or the Limbaugh Right. Not surprisingly, the Twinkie Left represents the Democratic platform, the Limbaugh Right represents the Republican platform. In reality, neither of these sets of political views are internally consistent, very visionary, or even necessarily being acted on by either party. They are essentially two different flavors of stagnation, and the media has us arguing over them as if there's a substantial difference between the two.
And remember, one side wants access to abortion facilities, the other side wants access to firearms.
I like politics, but man, I start to see the hypocritical crap both "sides" are throwing around, and it gets me grumpy.
That's nuts. First of all, some people, including good coders, need a social life in order to maintain a groove, even if the social life is with other programmers. Secondly, you have no justification for your claim that a female programmer will have more social time than a male programmer. Thirdly, you have no justification for your claim that strong coding skills require one to spend less time with others.
It sounds to me like you're creating a just-so-story based on insufficient evidence. And possibly alienating potential co-workers at the same time. This is not a good combination.
Even if she writes fully-featured compilers in her spare time?
This is spot on. One thing that annoys me about apologists for both capitalism and communism is that they miss this critical point: it's not the quality of the product, it's the marketing of the product. Quality is only a part of marketing, and brother, it ain't that much a part. The corolary to this is that it's not who controls the means of production, but who controls the demand, that determines how the economy is run.
I respectfully submit that you're mistaken here. This laser is the tip of the iceberg. What the Bush Administration is doing is creating a brand new war, the War on Terrorism, to replace the Cold War. Like the Cold War, we will be lucky to see it end in our lifetimes. This is exactly what the defense contractors need: something that will put them on the gravy train for 50, possibly 100 years.
What comes after the laser? Autonomous, unmanned combat vehicles. Better body armor. Improved infantry weapons that can blow up a grendade just on the other side of hard cover. Mechanized infantry companies and light armor companies that can deploy and be in combat position with 48 hours notice. Low-grade nerve gas that knocks out an entire village or a few city blocks for just long enough for troops to sweep in and arrest people. And that's just in the next 10-15 years. All of this represents trillions (that's 10^12) of dollars in revenue for defense contractors, and to defense contractors' investors.
I used to think that Aerospace would be the next big growth sector after Biotech. At this point, I think they're going to boom simultaneously.
Because a big gun can sometimes save you from a fight, when negotiation fails. Five guys with baseball bats and a problem with a pissant are going to be reluctant to start a fight once that pissant produces a pistol.
99.9% of avoiding war is diplomacy, negotiation, and just knowing how to step lightly and not be a jerk. Those won't save you from irrational people, and that's when you need to use physical intimidation.
I support this laser project 100%. My concern isn't with our military development, it's with our short-sighted attitude about foreign policy, which arguably has been a major contributing cause of the last four wars (Afghan, Gulf, Panama and Vietnam), and has lent support to human rights abuses worldwide. The fact that our President decided to mix it up with North Korea and Iran in the State of the Union Address doesn't exactly help things either. If your concern is about peace, you should focus on that rather than on weapons R&D. We've got nukes and we haven't blown ourselves up yet, but we just might unless we clean up our act, pronto.
So, congrats on a job well done and an award well deserved.
There are several comments on the Microsoft settlement to the effect that there's been undisclosed ex-parte communications going on between MS and DOJ, in violation of the Tunney act. So maybe your paranoia isn't so outlandish, after all.
There is also one comment against the settlement, rejects the settlement as a violation of Microsoft's property rights.
Are there any more that I'm missing?
There's buildable and there's legible. I can see MS complying with the letter of such an order by running the source code through obfuscate.pl and delivering *that*. Sure, the code is FUNCTIONALLY the same, but you waste State money trying to decypher the source code.
Let's suppose you want to run a C or C++ module in Java. You can write modules in C or C++ and have Python or Perl use those modules; that's relatively easy, thanks to SWIG. In the case of Java, you have to deal with Java Native Interface (JNI), which is basically like writing extensions to the JVM. Running Java within C or C++ code isn't as bad, but it's still tricky compared to running Perl or Python within C or C++. I would recommend studying JNI further before pursuing this path. It's doable, but it's not pretty.
Frankly, I would say that the intrepid programmer is better off writing his or her GUI in Python-Qt, wxPython, or Python-Glade, than messing with Java. My experience is that development time is faster with Python than with Java; and for GUIs, the code is actually much faster and less bloated.
I've worked on several projects that were coded in multiple languages ... whether it was a client coded in Python and a server coded in Java, or a series of programs coded in C++ and Perl all tied together in one big Perl script, or whatever.
Given the criteria that you laid down, I'm not sure that ANY language will meet your criteria. However, you might want to explore using a combination of Python and C++, where you use Python to do the majority of development (including GUI development) and C++ to write the 20% of your code that runs 80% of the time. GUI development in Python is a snap, and it gets even easier if you use GLADE. The one major disadvantage to this technique is that you don't have a single, simple IDE; you may end up with two IDEs, such as Visual Python and Codewarrior C++.
Just my two cents, probably worth less than that.
You'd think so, but I have a CS degree and I've had a bitch of a time making the move to embedded systems. Eventually I just gave up on it; the main barrier to entry is experience, which in my case means either going back to school or getting a bunch of equipement and playing with it. Neither is an option right now. (C'est la vie.)
Down the road it might be, but I'd still suggest computer engineering for maxiumum flexibility. Get to know your hardware!
"Lord of the what? Who's Peter Jackson?"
If you've ever seen Miguel at a Linux conference, you know that he has more energy than your average hacker. For that matter, he has more energy than your average Slayer concert. It doesn't surprise me that he can be so heavily involved with so many projects. Most of us mere mortals would be lucky to have enough energy to make useful contributions to just *one* such project.
Every once in a while, I hear from folks who want to become a software engineer. Good for you, I say, and why is that? The following is a list of good and bad reasons that I've heard.
I want to be an insanely rich billionaire like Bill Gates. And who wouldn't? The thing is, Bill Gates did not become wealthy through software engineering. Neither did Steve Ballmer, or Larry Ellison, or Scott McNeil. They became billionaires by being brutal, ruthless businesspeople; it just so happens that the business, in their cases, happens to be software.
I want to re-define and revolutionize the way people do X. That motivates a lot of the best people, for sure. Getting yourself in a position to do this is bloody unlikely. There are hundreds of great operating systems, programming languages, databases, etc, out there. Only a few of them really change the way people do things. And while it is still possible to make a buck in this world off a good idea, there's still a lot of luck and business smarts involved (see above) in taking an idea and turning it into a fortune. I've worked for more than one company based on a good idea that, lacking either luck or leadership, turned sour. Many fortunes are lost on such ventures.
I want to be a Revolutionary like RMS and stick it to Microsoft. Hey, great. I now pronounce you a Revolutionary. Now: how are you going to stick it to Microsoft? Any schmuck can write free softwarwe. Not every schmuck can write something world-shaking.
I want to be able to make big bucks. My advice: get a Microsoft certification and milk it. Or better yet, consider another profession, such as auto mechanic. The computer field is subject to many ups and downs; what looked like a steady income yesterday is a quick trip to the unemployment line today, and vice versa. Sure, you can earn the big bucks, but there's no guarantee that it will be a steady income, or that your skills will be in demand three years from now.
I want to solve interesting problems / I love to code / I find computers endlessly fascinating. Well then, you've probably chosen the right profession. There is nothing better than doing what you love.
I want to wear whatever I want and have nobody tell me otherwise. Despite stereotypes, this isn't always going to be possible. Remember, as a coder you're a part of a team, usually trying to conduct business. That means that sometimes, you're going to have to dress up, go to meetings, make presenations, and otherwise do some really boring and unpleasant things. Guess what? That's life! And, especially now that there's a glut of qualified coders, employers are going to expect you to dress and act more like a regular professional.
Did I miss any?
Mib == Men in Black?
Gib?
Gib == Girls in Black?
Hm. Sketchy.
True enough. It just depends on arbitrary assumptions.