Domain: c2.com
Stories and comments across the archive that link to c2.com.
Comments · 1,108
-
Re:Mistake Number 1
parent.element("person").element("addresses").element("work").element("line3").Value
That's not too hard to work around. Suppose that instead of returning an absolute NULL, each of those functions instead returns an "null" object? If they all work by returning a flyweight, then really you're just looping through the same empty-object over and over again.
I've done this in C++, PHP, and Python. I imagine it extends equally into other languages. The C or C++ approach would be to have a global static hidden somewhere in the source file, and just use that constant as your null object.
-
Re:Who watches the watchmen?
Wiki derives from Wiki Wiki which in Hawaii means 'quick': http://c2.com/doc/etymology.html
The first Wiki was called the WikiWikiWeb (amongst other names).
-
All of them.
Check out, for example CeeLanguage. When googling around for infomration on languages, c2.com comes up all the time. There's a lot of interesting "jumping-off points" on that site.
Learn Forth and Lisp. Learn one C-like language. You don't have to write huge swaths of code in them, just understand the issues. You'll start to think about the hidden Forth in C, and why you find yourself doing something like closures (Lisp) in C if you program it long enough. See the commonalities in languages. Then, you'll understand that the language is just a hazy window through which we see programming.
Alas, none of these windows is perfectly clear. Forget about the windows (no pun intended). Think about what's on the other side of the glass.
-
Re:A bit big for their britches?
I remember a discussion a year or two ago here on Slashdot how X was badly in need of replacing. Sounds to me like Canonical have the right idea, and the impetus to make it happen.
People have been saying X was in need of replacing shortly after it was created (and yes, that was before I was born). Does X have issues? Sure. Are they dealbreakers? Obviously not, otherwise X would have been dropped instead of being forked those many years ago.
I've not had a look at Wayland, but it sounds to me like the same-old, same-old whining by "end users" and "gamers", specifically "waaah! my 3D isn't fast enough!". As for the speed, 90% of users don't care how fast it is (which I might add, X is not that slow; *by far* faster than VNC and RDP over the network, and none to shabby with accelerated drivers on the local machine). As for the complexity, 90% of programmers are using a toolkit that eliminates the difficulties in programming for X. And X has it's benefits (such as network transparency, which *will* become more important in the future; this whole "network isn't important, we should optimize it out" thing is a fad).
The thing that bothers me about Wayland is that it seems to want to enforce policy and have it's own windowing system built in. I *like* the fact that there is no One True Desktop for Linux (or X); I can pick a different desktop any time I please, and still run graphical applications from my headless servers. And no, VNC and RDP don't come close; I don't want to have to dedicate a desktop just to run a single GUI app from my servers, and wait for the horribly slow refresh. I also like the fact that X is lightweight enough to run on my netbook and my smartphone. Which also means I can run graphical apps to or from either of those, and from my aforementioned headless server.
As for those saying that Wayland will probably have support for X11 "much as Windows and Mac do", I say to them, the way Windows and Mac "support" X is one of the reasons I don't run Windows or Mac.
-
...but isn't, any more.
For reasons that are more social than technical:
-
The fourth console
Ok, and then they are no longer a user.
It appears we're running straight into Layne's Law of Debate over the definitions of "user" and "developer".
I don't see how your sentence there refutes my point at all.
The advantage of Android is that you don't need to become a developer just to install another developer's self-published software.
And I can choose between a Nintendo Wii, Sony PS3, and Microsoft Xbox 360 for my video gaming needs, but they're still all locked-down.
There is a fourth console: connect your PC to your TV. You'll need a few cables, some USB gamepads, maybe a hub, and some TV-friendly games.
-
Re:IBM+1 (irony)
Brilliant example of irony... Wish I had mod points.
See also my comments here on other irony in decision making:
http://www.pdfernhout.net/recognizing-irony-is-a-key-to-transcending-militarism.htmlBTW, but here is another thing to consider, Hal, how do you know that in 20 billion years humanity might not find some way to create new universes? See also: http://www.c2.com/cgi/wiki?PrematureOptimization
Now can you open the pod bay doors? It is getting cold out here.
:-) -
White Space
And here I was thinking we were going to have a Python vs. C-family of languages and One True Brace Style flamefest
-
No true Scotsman
The iphone has no buttons. Not a true gaming console.
The assertion that button presence defines a console sounds silly to me. A PC has even more buttons than an Xbox 360 with four controllers plugged into it. So is the PC "a true gaming console" to you? What about mobile phones running Android OS, many of which have a texting keyboard? I'd like to clear up no true Scotsman fallacies and get Layne's Law of Debate out of the way so that we can know what each other is talking about.
-
Re:Question:
Ringworld is unstable! Ringworld is unstable!
-
Re:Well as it happens
There's one big problem with having well-qualified judges decide such questions. Over many years of service, they're much easier to bribe or extort than a jury, who are selected at random and serve for only a short time.
Judges do decide on whether each piece of evidence is admissible, and whether court rules are followed. Their qualifications are necessary for that.
That's assuming you can find a well-qualified judge in the first place. The jurors are pulled from the public, and there's more likely to be someone who knows the situation well. In this case, that's the CCIE juror. He can be expected to understand the circumstances better than the judge.
Childs could have implemented a system to allow access to passwords without his involvement. Would a judge, trained only in court proceedings, understand this? Could a defense attorney confuse the judge by delving into the mathematics? Would the judge understand the technical limitations and security implications of such a system?
Next week the same judge has to preside over a case on medical malpractice, which may require several years of medical school to understand. After that there's a motor vehicle collision, which means a few years of engineering.
The jury decides whether the accused is "proven guilty" by the criteria I've already mentioned. The judge's job is to make sure that the established legal process is followed.
-
Re:QTEs, microgames, what is difference?Layne's Law: point of definition please.
Milking a cow with the stylus or swatting flies or swirving around cars isn't a QTE.
If the event in a microgame isn't a QTE, then how do you define a QTE?
-
Jak and Daxter
...apart from the need to learn LISP.
Yeah, that'll be a useful skill for game programmers later on in life.
I can't tell if that was sarcasm or not. Jak and Daxter was written in Lisp.
-
Re:His equivalent of TV is publishing papers
Perhaps a mix of laziness, impatience, and hubris.
-
Re:seems reasonable
You constantly say things that are incorrect and unrelated to the topic at hand.
I'm not sure how someone who fails to read more than one sentence in a post could possibly make that claim. I highly doubt you are even aware of what we are discussing.
Then, when called on it, defend it as relevant and correct.
That's probably because it is relevant and correct. This must be another one of your "claims", like "percentages were invented to lie".
I was talking economics, and you talk about your personal way you beat the system when buying a car (then say something to the effect that you've never used it, and apparently no one else on the planet has either, but it's proven and it works and because it's perfect, then we have a free market).
Everything highlighted is something you added yourself, and that I never said or implied. Let's take those bold bits out of the sentence. Then, we get a much more accurate assessment of my argument:
I was talking economics, and you talk about your personal way you beat the system when buying a car (then say something to the effect that you've never used it, and it works and then we have a free market).
Aside from the bad grammar, yes, that's pretty much the gist of my argument. By using my system (which I never claimed to use), you can fulfil for yourself the free information requirements. Isn't that what you've been bitching about for the last 4 posts? Isn't that exactly what you've decided the topic of this thread is?
Go take econ 101 and tell me what the definition of a Free Market is.
OK, you happy now? I really don't see what this is supposed to prove. I already have enough evidence that you're a douche.
I covered it in economics in elementary school.
Apparently I underestimated you!
But then, it seems you've worked harder on perfecting your "flamebait" skills.
Hmm. More basic logic failure. "I have a name containing the string of characters 'Flamebait'" implies "everything I say is a flamebait". I deduce that you go around shooting up schools, because you said the word "school" in your post, and you have the string "AK" in your name, as in AK-47. Airtight.
Look, if you really can't counter my arguments any other way than to call me names, why don't you just run back to that grade school you love so much? Leave arguing to those who didn't drop out right after their grade school introduction to economics, and to those who can wield elementary logic.
-
Re:Transcoding is common
So do you think it's only the occasional cinematographer or pirate who uses software based on FFmpeg and X.264
AMD and Slashdot are located in the United States. In the United States, the encoding process that x264 uses is subject to royalty-bearing patents, and royalty-bearing patent licenses are incompatible with the copyright licenses for FFmpeg and x264. So anyone using FFmpeg and x264 is a pirate, except possibly in one or two corner cases that someone is likely to chime in to clarify.
to transcode vids for HTPC or iPod?
Before this discussion succumbs to Layne's Law, let us clarify something: Are we referring to major-label video or homemade video?
-
Re:cost of acquisition is everything, huh?
It's also just likely that you simply don't realize what's a cost unless you take an opposing view to your own. I don't see anyone arguing that Linux is free of all costs, or even the best choice in all cases.
All business decisions (even for home users) should be based on a comprehensive evaluation of all the costs involved. Putting forth a complete comparison with references to reputable external sources is useful. In fact, it's remarkably similar to what usually gets published in "leading journals". Making a one-sided claim that Linux has extra costs (and implying that Windows does not share these costs) is flamebait, just as is any one-sided slander against Windows.
In academic terms, you must realize that negative and indecisive results are still valid research. Exploratory research, evaluating all aspects of a given theory, is also valid research. Finding negative results and conveniently omitting them from the report is dishonest at best and fraud at worst.
-
Re:None, I have given up bash scripting
I'm stunned that people are defending what is basically incompetence. In Larry Wall's terminology, we're talking about False Laziness--it saves you effort up front, but in the end may cost you more than you've saved.
Mozilla's build script has this flaw, incidentally:
Mozilla may not build if some tools are installed at a path that contains spaces or other breaking characters such as pluses, quotation marks, or meta characters. The Visual C++ tools may be installed in a directory which contains spaces (the default install location is preferred).
-
Re:Need a New UI Tool
and most are proprietary. I tried to like XUL, but it seemed how it interacts with server-side and client-side programming/scripting, and it's update approach, were poorly thought out.
Here you can read about draft concepts that I personally think would work well:
-
Unit tests don't find everything either
But fuzzing tools are different than unit tests. Fuzzing can never cover every nook and cranny.
-
Re:Crappy frameworks, tools and web standards
The biggest problem with applets is that you have to use Java. Python and PHP fans are slighted, for example. Related to this is that they don't allow easy splitting between server side and client side.
I'd like to see a GUI/CRUD-friendly markup language to handle most of the GUI setup and common/typical events. The rest would be server side in your favorite app language with a smittering of JavaScript for the few things that the markup language and server-side don't handle effectively.
Thus, the majority of the GUI design would be in the planned markup language, most of the business logic on the server side using your fav app language, and maybe say 5% of the coding using client-side scripting for those areas that need extra responsiveness.
I've kicked around a rough draft of such a markup language at:
-
Argument over semantics
Music is not property. Video is not property. Words are not property.
Wikipedia states: "Property is any physical or intangible entity that is owned by a person or jointly by a group of persons." A limited exclusive right to reproduce a work is an intangible entity, and it is owned by a person. Therefore, copyrights are property. Your argument boils down to one of semantics: saying a work of authorship is owned is a recognized whole-for-part shorthand for saying that the copyright in that work is owned.
This is where the madness of modern "intellectual property" pundits has lead us.
As I see it, the problem with "intellectual property" isn't as much as the confusion among copyrights, patents, and trademarks. Just because copyrights, patents, and trademarks can cover the authorship, invention, and identification of the same work, and the exclusive rights associated with a work are licensed as a bundle, doesn't mean they're the same thing. Advocates of "intellectual property" downplay the fact that the various exclusive rights under the umbrella have different purposes and different scopes. For example, only copyright cares about provenance (the difference between copying and independent creation), and only patents expire.
-
Re:it's an interesting case
``It's hard to place the language in any camp, because it does furnish functional programming and object-oriented features without really committing to the dogma of either one. It gives you a ton of interesting features that seem to work really well in concert''
There actually is a camp for languages like that. They're called multi-paradigm languages, and I believe a language that can elegantly express many paradigms is a Good Thing. Languages commonly considered to be multi-paradigm include Ruby, Lua, Common Lisp, and OCaml.
-
Re:Yes, but
Sorry, can only can offer a cartoon about it.
Starts here User Friendly. Ooh, and more here HollywoodOS
-
Re:Can I mail it in or what?
And I don't see any secular value to having two days of rest, or any "time off". Plenty of people work seven days a week and show no harm in it.
Plenty of people see value in it, and have significant benefits and enjoyment out of 2 non-work days each week. Some people who practice religion utilize personal time during the two days for religious purposes, but the vast majority do not normally use any time during the two days for religious purposes (even if they are Catholic).
I want mail delivered 7 days a week, and I want to be able to go to DMV on Sunday.
It sounds like you want a pony, anyways.
Your desires are unreasonable, and impose undue cost on the government, and other taxpayers, who don't want to pay the higher salaries required to have 56 hours per week per worker instead of 40.
Secularly there is no reason to have those two be not like the other five, and by assigning them to the Religious sabbath of Christians and Jews is just a holdover from those belief systems.
Yes, there is a secular reason, it is cultural in nature.
The standard business work week in the US is Monday through Friday. This is the standard custom, and commonly very well established practice
This is true of most businesses, even ones that don't have catholics or christians on staff, work 5 day weeks.
If in fact it were a religious practice being respected, we should see a pattern of religious organizations taking those 2 days off for their employees, and secular organizations utilizing 7-day work weeks.
Offering some time off during the week is an obvious choice.
If the government were to adopt a 7-day work week, it would be highly irregular, and completely contrary to common customs and business practices.
Which are purely secular considerations.
-
Re:I can answer a few of the objections.
``(2) It's slow.
Yep. What do you expect? It's an interpreted, dynamic language. Nobody has yet succeeded in making a true compiler for those.''
Common Lisp. There are several compilers for it that actually make it efficient. I've even seen Lisp programs beat C, C++, and Java.
Current Ruby implementations are dog slow even by dynamic language standards, but let's not forget that it's easy to interface to C from Ruby. You can alternate hard and soft layers and get _both_ rapid development and fast software.
``(3) It's not suitable for large projects.''
I tend to agree with that, but I also think most projects aren't large or at least _shouldn't_ be large. You can usually break things up in parts that are a couple hundred lines (in Ruby) at _most_, and then you don't need any "large project features" in your language. But that doesn't necessarily mean Ruby is a good choice for large projects.
-
We could just fix our OS problem instead
Instead of spending yet another astronomical amount of resources to try to patch up our "defenses", why not fund a few open source projects to get a some implementations of the Capability Security Model out into circulation?
A few well placed millions (or heck, even thousands) could fix the internet for good, and then we could all get on with general purpose computing, without the need for virus scanners, etc.
-
Re:Figures off by a factor of 10 to 100
Regarding the glue code, do you honestly think the tiny amount of code required to dump the string into the XML parser is going to make a noticeable difference when compared to the amount of processing required to parse an XML document?
You write custom XML parsers every time you parse a different doc schema? Wow.
If I know exactly what the format is, and what data I'm looking for, it's WAY quicker to treat it like a stream of tokens, parsing out tokens, and when you find the beginning of one that interests you, save a pointer to 1 byte past the end, continue tokenizing until you find the close, and grab the data between the saved pointer and the beginning of the end token.
You can recurse this if you have enclosed tags.
Why would I want to waste my time doing more? (aside from the fact that xml really sucks badly.
-
Re:Ruby at a sight
``You have heard of the concept of functional programming, have you? If functions are first-class citizens in data-type world, there is no separation between functions and data (or algorithms and data structures) anymore. So there is no point in a word like "metaprogramming". What those languages support, is metaprogramming.''
Not quite. Metaprogramming is programs operating on programs. In that sense, there isn't actually a real need for a language to specifically support metaprogramming, because you can always have one program generate the source code for another program.
The thing that metaprogramming lets you do is basically to build your own programming language. This is nothing new; in fact, the first compiler is an example of that.
Now, languages differ in their support for metaprogramming in a single program. Some, like old versions of COBOL, don't allow any of it at all: everything you want your program to do has to be spelled out in the primitives the language provides. Most languages offer at least the ability to define ones own functions as an abstraction mechanism. It's debatable whether that counts as creating a new language, though, and most people I know would agree that it's not.
Beyond functions, there are various mechanisms that allow more powerful abstractions. Function pointers (like C has) are one. Functions as first-class values (which you mention) are even more powerful. Indeed, using first-class functions, you can basically pass around pieces of behavior, which allows very powerful composition and abstraction. It _almost_ allows you to create your own control structures, and in many cases, the results are good enough that people don't feel the need to go any further.
Another abstraction mechanism, and one that allows you to do metaprogramming, is macros such as those found in Common Lisp. These allow one to, basically, run a transformer function for certain patterns in the source code. The transformer function takes program code as input and produces program code as output, which is then used instead of the original code. The power of this lies mostly in the fact that you can define a macro for patterns that would occur often in your program, and let the macro write your code for you. Programs writing programs. Build your own language _inside_ the language you already have.
Yet another construct is letting a running program change its own structure. This is something you can do in Ruby, where you can add and remove methods and variables at run time.
Finally, there are some languages where the actual language implementation is available to and can be modified by your program. Taken to the extreme, this would allow your program to modify everything from how it is read to how it is translated to code to be executed.
Long story short: metaprogramming goes far beyond what functions as first-class values gives you. Does that mean that the things you can do with first-class functions aren't metaprogramming? That's a matter of definition, but I would say that "What those languages support, is metaprogramming" and "there is no point in a word like "metaprogramming"" is a bit of a mischaracterization.
-
Re:Dynamic Relational: change it, DON'T toss it
You described an entity attribute value model, which winds up reinventing half the DBMS, poorly.
May I ask for a scenario demonstrating "poorly"? It can still do joins, aggregation, and indexing just like any other RDBMS. It's not clear to me what you think is missing.
A "rigid" schema is preventing a ton of totally redundant code being written on the app side.
Depends on the project. Sometimes nimbleness is a strategic advantage, such as prototyping or ad-hoc analysis.
I'm starting from scratch [query language]. (Currently I'm slowly retyping about 40 pages into Latex...)
I couldn't open any of those for some reason. But I too have also formed a draft query language influenced from IBM's BS2. See http://c2.com/cgi/wiki?TqlRoadmap
Here's a sample that returns the top 6 earners in each company department:
srt = orderBy(Employees, [dept, salary], order)
top = group(srt, [(dept) dept2, max(order) order])
join(srt, top, a.dept=b.dept2 and b.order - a.order < 6)("a" and "b" represent the left and right side of the join parameters.) But SQL is too entrenched and could probably be stretched a bit further with some enhancements.
-
Re:Dynamic Relational: change it, DON'T toss it
-
Technical Debt
This issued has been explored before as Technical Debt but most managers and a large number of programmers like to think they are the experts of technical wizardry.
-
Browser share, test coverage, and overages
I believe you can render HTML to a Canvas element
Once browsers supporting rendering HTML to a <canvas> become more widely installed, this will become the case. But until then, installing Chrome or Firefox or another "advanced" browser on a PC running Internet Explorer brings the same potential security holes as just installing a native game into a new user account.
You really don't see how it could possibly be easier to code a test that matches a spec, versus an actual product that matches a spec? I mean, we agree that tests and formal specs both define what, not how?
In many cases that I've worked with, "what" is nearly as complex as the "how", unless by "what" you mean a specific input and the corresponding output. In my experience, testing a set of (input, output) pairs lacks coverage: good for finding regressions but not for finding bugs you don't already know about. True, automated tests are a good thing, but putting too much trust in them makes bugs fall into the "where I didn't test something" cracks. See "Bugs In The Tests" on Ward's Wiki.
Point is that even a tenth of [100 Mbps] is easily sufficient.
Suppose that a 4G mobile connection can actually reach a tenth of 100 Mbps. Sustaining that rate for even an hour on a mobile connection is enough to use up almost the entire 5 GB monthly cap and put the user into a cost-prohibitive overage.
It's also strange that you'd have this, yet not have similar things happening in the environment
I didn't rule that out. Walk around a corner, see a black area (because environment textures haven't loaded), an invisible creature (because its texture hasn't loaded) attacks you, and you die.
-
Layne's Law
Piracy is downloading and playing a game that is sold in stores without purchasing the game or any other software in question.
Webster disagrees: "3 a : the unauthorized use of another's production, invention, or conception especially in infringement of a copyright". But at this point, the discussion has fulfilled Layne's Law, and we can agree to disagree.
-
Re:Not that amazing
I found a better description of how it essentially does just-in-time compilation, treating even the pointer to the file, buffer etc. as constants, thus resulting in different compiled code for each file opened.
(argh, link was borked in the previous post)
-
Re:Not that amazing
-
Re:Why not just do duck typing?
Only since Python and particularly Ruby fans started using it as a way to market a feature in their pet language (dynamic typing coupled with dynamic dispatch) that's been available in existing languages for *many* years. It's a marketing term, nothing more. It adds nothing to the actual discussion, other than to sound all neat and cutsey.
Standardized terminology adds quite a lot to any discussion.
And I would define it as dynamic typing and binding. Nothing more. The language determines, at run time, how to bind a method call to an object. It's just that simple.
What do you call what Ocaml does?
Templates, on the other hand, are realized at compile time.
C++ templates are a turing-complete functional programming language, and are executed by the compiler. What you think of as "compile time" is the same as "runtime" for the templates.
What I should've said is that duck typing == dynamic dispatch + dynamic typing. Either way, it's hardly a new idea. And it's an idea that does *not* fit in a language that's meant to be strongly, statically typed (eg, C++).
The principle of duck typing says that you shouldn't care what type of object you have - just whether or not you can do the required action with your object.
CeePlusPlus: Templates can create compile-time polymorphism via DuckTyping (as used in AndreiAlexandrescu's ModernCeePlusPlusDesign as well as Microsoft's ActiveTemplateLibrary).
In computer programming, duck typing is a style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface. [...]"when I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck."Duck typing does not require dynamic dispatch, and does not (strictly) require dynamic typing. All it requires is that what matters is "I have a multiply() method" rather than "I am a number".
-
Re:Ooh, pick me, pick me!
"It comes down to definitions (like most greek paradoxes, I'm looking at you Zeno). By 'same' do you mean identical? Identical in what way?"
Yay! Three-place identity theory! http://boundary.org/bi/articles/Three-place_Identity.pdf
For a mind-bending discussion of just why this affects computer programming (and why IMO the foundations of object-oriented programming and type theory are on very shaky ground - Bertrand Russell, I'm looking at YOU): http://c2.com/cgi/wiki?LiskovSubstitutionPrinciple
'Identical' is one of those problematic terms which, in the real world (and possibly even in theory) turns out to be most usefully defined as 'X is identical with Y IN THE SENSE Z'.
This solves a whole lot of metaphysical problems like the Ship of Theseus. It is and it isn't identical depending on, precisely, what definition of 'identical' you choose to use.
Like Lisp's 'eq' vs 'eqv', but generalised. It turns out (according to the Boundary folks) that 3PI is sufficient for building general mathematics on.
This strikes me as interesting. It also seems to be roughly the same thing that Alfred Korzybski ( http://en.wikipedia.org/wiki/General_semantics ) was talking about, though not many people have listened yet.
-
Unit testing
It would be pointless to test prior to integration of all submitted components.
Integration and functional testing are necessary, but unit tests are not pointless, either.
-
OKAD
Use OKAD, it's commercial quality and will fit on a floppy disk.
Seriously: http://www.colorforth.com/vlsi.html
Don't let the old-school lack of whizz-bang on the website fool you, this real stuff
http://www.ultratechnology.com/color4th.html
You're probably not smart enough for it.
http://www.c2.com/cgi/wiki?ColorForth
I'm not. I can't even find a download link or a sales page.
http://modest-proposals.com/colorForth.htm
Sam
-
Re:Tilting at windmills [Sub-Queries]
who hasn't had a business need for multiple levels of aggregates
I created a draft query language called SMEQL (Structured, Meta-Enabled Query Language, pronounced "smeegol"), which is roughly based on IBM's early BS-12 language. It partitions relational operations at a finer level than SQL clauses and allows one to use named references such that one does not have to massively nest sub-queries. It borrows heavily from FP concepts. It also has a simpler syntax than SQL, making it easier to create DBA-defined extensions. I just wish some bored sucker locked in jail or something would program a production version of it for me. Hans Reiser?
:-) -
Re:"Automated"
He isn't out-of-date. I have to suffer Java 1.6 at my college. The VM is still slow to start, and the GUI libraries still suck.
Nah, not perfect though, but let's don't hyperbolize it either: it does not sucks really anymore. Personally I write a lot of Swing stuff and I would not say it that sucks as before Java 1.4 times. At least now 1.6 I'd say much better than even GTK or QT. Why?
Because:
- performance is same as QT or GTK. No, sorry. Performance sometimes better e.g. when you have a really huge amount of records and put it into table -- in that case I wish GTK performed better and GTK-based wxWindows did not crash.
- In Java Swing you can create any possible widget you want per a very reasonable time, having it relatively easy. Example: http://download.java.net/javadesktop/scenario/demos/repaint-NestedTest.jnlp
- While Swing looks like a cockpit of 747, yet it is over-flexible and thus very powerful. Yes, it is scary to new comers, but once you figured out, you have to say it is really cool, extendable and portable.
- To write these kind of GUIs, including Quake-2 port in QT or GTK would take much more time for you. Not saying it is impossible. I am saying about time/cost/quality/competence/final-result-asap things.
- I love JNLP concept and it works rock stable on controlled or semi-controlled networks, once done properly. JNLP (Java Web Start) is way better for internal software and enterprises than Ajax thing or equivalent GTK/QT stuff, since I've done all of this and can compare what was the best to achieve with average-skilled programmers, cheapest and fastest to develop-and-deploy. And you must know that either.
:-)
Additionally, you can use your own look-and-feel (including GTK's) etc. Of course, it has its side effects: you have to emulate specific platform etc. SWT does it natively, but it suffers from portability a lot, plus some parts are written in plain Java. Since API of various platforms changes and sometimes very drastically (like Apple is gonna drop Carbon one day), SWT renders to be a fool trap that always trying to catch up current status, but actually performs great only on Windows.
Add to the story really great try of NetBeans team to bring you GUI visual editor and you have to agree that at least you can create GUI stuff literally in front of your boss's eyes. I agree, Swing not the best yet, but also not that horrible as before anymore either. That's why we can commit our patches to Java 7!
:-) -
Re:outsourcing and unemployment
Well thx to Google, A God class is usually known as a God object. a God object is an object controlling way too many objects... http://c2.com/cgi/wiki?GodClass Never heard of it either. At first I thought he meant the main class or something.
-
Re:I love Schneier
* Dilbert: I discovered a hole in our Internet security. * PointyHairedBoss: What?!! Good grief, man! How could you put a hole in our Internet? * Dilbert: I didn't _put_ it there. I _found_ it... And it's not... * PointyHairedBoss: It's your job to fix that hole. I want you to work 24-7! * Dilbert: Actually, that's _not_ my job. But I'll inform our network management group. * PointyHairedBoss: PASSING THE BUCK! YOU'RE A BUCK PASSER! * Dilbert: Forget it! There's no hole! It got better. * PointyHairedBoss: That's more like it. * PointyHairedBoss (thinking to himself): I fixed the Internet. Taken from http://c2.com/cgi/wiki?PointyHairedBoss
-
Re:Wikia
Yet the Wikipedia didn't bat an eyelash when Jimbo started Wikia using 'wiki' in the name. Double standard.
In case you didn't know, "wiki" is a word that wikipedia borrowed from elsewhere, i.e. "WikiWikiWeb", aka "WardsWiki", which is available at http://c2.com/cgi-bin/wiki.pl . So no, this isn't a double standard.
Besides, there are no rules against the same organisation using the same trademark in two different ways, so even if the word "wiki" was a Wikimedia invention, it wouldn't be a problem that they operated two different sites that had it in their names.
-
Re:Define "working well"
I've seen programmers who grew up with Pascal carefully turning multiplies into sequences of adds and shifts. Great, except that something like the Athlon can do two multiplies in parallel, but only one shift at a time (because most code contains a lot more multiplies than shifts), stalling the pipeline.
This is silly. With the optimizing compilers nowadays, there is no more need to do such silly antics.
And even back then, it was already silly because " premature optimization is the root of all evil ".
-
Re:COBOL Jokes
COBOL script:
http://c2.com/cgi/wiki?CobolScript
OO-COBOL
http://www.wiley.com/legacy/compbooks/catalog/12974-7.htm
and of course the joke that Java is nothing more than OO-COBOL.
-
Re:Developers should use *slow* machines
I can't believe something so short sighted is modded insightful.
If a developer's machine takes too long for some non-interactive activity, they'll stop paying attention (probably to read the onion or something #9). Or *cough* post on Slashdot, then lose track of time and not get back to work for hours.
So what if a for loop isn't as optimal as it could be? These days the difference between optimal code and good code is usually too small to be measured in anything but milliseconds; and thus, not very important (link quotes Martin Fowler's PDF).
Contrast this with losing hours of usefulness from extremely expensive equipment (read: good developers).
-
Re:Meanwhile Linux Continues To Be A Trainwreck
Alignment problems in almost every single text field or label
Ah, but many of Ubuntu's userspace utilities are written in Python.
Hence the developers are so used to 'spacing fascism' that, for them, a misaligned UI looks normal. :) -
Re:I don't understand
Look closely enough, take things out of context and maybe squint a little, and you'll find scriptural evidence for any old idea. There's even a wiki page of scriptural evidence for eXtreme Programming.