Slashdot Mirror


User: fprog

fprog's activity in the archive.

Stories
0
Comments
87
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 87

  1. PHP, Perl, mod_perl, C mod_apache, Javascript on Choice of Language for Large-Scale Web Apps? · · Score: 1

    "As many as possible" => Not really.

    Use the best tool for the best job, it really comes down to what is the language that easily support the feature you may need.

    If you use perl, then force everyone to
    "use strict; use vars qw{GLOBAL_VARS}; sub main { ... } main; exit; 1;" and document code with POD, divide things into modules and document any non-trivial regexp, like you would do in a sensible language. Then when the project is done do a code review, if people say:
    "I don't wanna do or care about a code review", they probably wrote some crappy code. You may want to use mod_perl for speed, just wrap your thing into modules and call the "main" loop.
    Don't forget to free up any resource.
    You may also want to use the Perl Template Toolkit, see the books by O'reilly.

    "Use PHP for the front end",

    PHP or Perl both are good and simple to maintain, *if* written properly. Any source code is hard to maintain especially if temp() and V was supposed to be called getInventoryStock() and StockEntryVector, respectively, but were not because the 'incompetent programmer' decided to use these since that part never worked and once it worked *by magic*, he didn't clean up the code...by fear that it will break again. [True story]

    For one project we used both, since it was easier to create 3D pie chart on-the-fly in PHP then it was in Perl. So, Perl called PHP with a generated DB array... [Another true story]
    There is a sample 3D pie chart tutorial here:
    http://www.peters1.dk/webtools/php/lagkage.php?spr og=en

    "Perl for input parsing," => Yes.

    "Euphoria for the graphics," => Probably better off with Flash... or with Perl/GD, PHP/GD... depending how simple/complicated it is.
    Next bet would be SVG, but it's not widespread enough yet.

    "JavaScript on the client-side," => Yes, that was straight-forward, unless you think about IE-specific VBScript... which is a big no-no unless you work for Microsoft.

    "Moo for the database" => PHP/PEAR or Perl/DBI or or Perl/Class-DBI or similar please. [Did you really ever use that?! or you simply search google for a weird technology to look cool?!]

    "and Python for the glue to hold things together."
    Perl is the mother of all glue language... for more than a decade, check CPAN.
    [Personally, I find Perl more readable then Python, even cryptic Perl]

    As for if you want true speed and write a GUI front-end for a locked-down kiosk machine, you may need to interact with device drivers
    and therefore C mod_apache modules may come to the rescue... [Another true story, was better than X11, since they planned to move it to Windows CE in the future!]

    mod_apache modules are also much more faster then
    mod_perl, but unless you're dealing with millions of queries per day, it should not be needed.

    I never saw a 'huge' commercial project done in Python, Ruby, Moo or Euphoria, in the last 10 years...

    Also, there is JSP and J2EE, they seems also to be good technology, even though I never used them
    personally. But maybe for secure e-commerce website, I heard some good comments about it...

    In general, I have seen tons of website done in:
    Perl, PHP, ColdFusion, Flash, legacy C/C++, JSP,
    and more recently tons of .NET, ASP, ASP.NET, C# and similar IIS crapt... thanks to MSCE and MSDN Universal licenses...

    As a side note, the 5 companies which were using .NET were "over budget, over 12 months late on their release date. At least one of them changed often their 'incompetent' MSCE employees... while the other seems to have perpetual MSCE job offers.

    The word 'incompetent' came from the mouth of a .NET manager, who fired the 5 out of 6 "Junior MSCE" and who was still looking for some "Senior MSCE"... [Another true story]

    What is funny is that 2 weeks later, the "average MSCE" decided to quit for a better

  2. Unrealistic... on New Batch of XP SP2 Holes · · Score: 1

    Blocking every port from 1024-65555 is unrealistic...

    In fact, if you use passive FTP to download anything from the internet,
    if you use MSN Messenger to transfer files or view webcams, if you transfer files by DCC via an IRC client...
    or use any other application which is not port range specific.

    It's a "design problem" that such application are not port range locked. It would be easier to lock the other ports.

    This means that anytime you need to do such thing you have to manually open wide 1024-65535 ports and go back to normal mode after.

    It would be easier if EVERY apps where somehow port range specific, just not few frequent application.

  3. Re:Not cheap and NOT swappable on Trolltech Releases Qt 4.0 · · Score: 1

    You didn't read the license correctly.

    You MAY NOT SWAP license in and out.

    You buy an individual license PER DEVELOPPER.

    "It is a per-developer license.
    The license is assigned to an individual. It may be transferred,
    but only every six months and within the same organization.
    To transfer a license, or if you need a more flexible licensing agreement, please contact sales@trolltech.com. "

    http://www.trolltech.com/products/qt/licensing.htm l

    Not a bunch floating licenses for the entire company.

    It's not like you are getting:
    5 windows floating license
    5 linux floating license
    5 mac floating license
    1 cross platform floating license

    "My gut reaction is this would be suicide if they did that, so I find it very unlikely they did."

    That's what they do and that's why I'm complaining.

    They are saying that floating licenses
    do not make sense for a library.

    So, unless your organization builds software on a single platform, then you need 6600$ multiplatform license.

  4. Not cheap on Trolltech Releases Qt 4.0 · · Score: 1

    The problem with Qt is that you cannot buy floating license.
    Rational Rose for instead you can buy 1 or 2 floating license for 50 software engineers.

    One of the problem in the current market is called:
    "Free" MSDN Universal DVD license

    Hire a developper or a MSCE, is the same thing,
    except you get free licenses per MCSE.

    Maybe we need a QTCE group license?!

    Ask your boss to buy more Rational Rose license... please use Visio XP.
    Ask your boss to buy some Qt license... please use Microsoft Visual Studio.NET

    Why?
    Boss: "Stop wasting public funds will ya!"

    Seriously 6600$ is lots of money,
    just multiply this by 50-100 employees
    and you get a whopping 330,000-660,000$ US!

    That's like asking your boss, please buy half M$ of Qt license.
    There's no "cheap company wide" licensing.

    A volume price of 660$ per seat would be more reasonable.

    As far as the RAD part of Qt, anyone who used VCL/C++ Builder or Visual Basic will tell you
    how much it sucks.

    RAD Programming in Qt is as hard and tedious as Java, if not more.

    One problem with Qt is that automatic code generation is insufficient.
    Want to design right-click menu... please write C++ code.
    Want to design a KApp... please write a .rc with C++ code.
    Want a standard menu... the default one is incompatible with KDE and no default KAction.

    Qt and KDE needs to work closer together, because currently the integration just sucks.

    The other problem with Qt is that you buy a library without a built-in IDE and multi-platform debugger.
    At least, if it provided a Visual Studio debugger equivalent. Don't get me started on extremely painful gdb or ddd.

    Qt Designer is NOT an IDE.
    KDevelop sucks -> not user-friendly and no debugger.

    It might be less painful than GTK or WxWindows, but it still far from useable than VCL.

  5. Making it stable... on Kernel 2.6.12 Released · · Score: 2, Insightful

    They should really try to froze features,
    at least subsystem by subsystem,
    for a couple of months and perform
    a deep code review (ala OpenBSD)
    for bug hunting and security analysis.

    I can understand that some part of the kernel
    still needs heavy development
    (ReiserFS, VM, some specific broken drivers),
    but other parts should be revised
    and certified gold bug free.

    At least that would give us a roadmap,
    on what is to be fixed before
    they jump to 2.7.x series.

    I mean what's the point to break stuff
    at every .x release in a stable series,
    that doesn't make any sense to me.

    How are 3rd party drivers people, applications
    are supposed to "trust" a 2.6 kernel,
    if it break stuff continuously.

    "You're Nvidia or ATI card works in 2.6.x but not in 2.6.x+2,
    and VMware doesn't work in 2.6.y but only in 2.6.y+1"

    As long as they keep breaking stuff,
    I'm keeping my "stable" linux servers
    on the 2.4.x series.

  6. Never watched "Pimp my ride" TV show ? on No IE7 For 2k, Now In Extended Service · · Score: 2, Insightful

    "Newer versions of cars add satellite radio, GPS, and MP3 capability, but I don't see any car companies provided these features on older models."

    There's some Car shop who will put inside your old 60's 70's 80's 90's car, all this stuff and what not.

    Oh, but the fact is with cars you can mess with the metal, oil, motor, breaks and blue prints...

    The problem with software is that "old software"
    that are EOL (End of lifecycle/not supported)
    are not released into public domain or sold to
    3rd party company WHO WILL SUPPORT YOU.

    That's the current problem with software.

    Customer: "The breaks on my Ford 98, doesn't work... can you fix it!"
    Ford: "Nope, we don't repair Ford 98 anymore... it's a too old model. But you can buy our new Ford 2000!"
    Customer: "But with Ford 2000, the car has more probability of falling apart into pieces if I run it on the freeway."
    Ford: "Well, buy yourself some Car Insurance!"
    Ford: "Don't worry this will be fixed with the new Ford 2003 model!"
    Customer: "But you're 2003 model still have the problem."
    Ford: "But... it comes with a DVD player and a brand new PS2!!!"
    Customer: "Can you just build a car that works!"
    Ford: "Well, that's what we do! We put a lot of money and effort on security features!"
    Customer: "Why don't you give me the blueprints for my Ford 98, so I can repair the breaks myself."
    Ford: "If you ever try to fix it, we will sue you and put you in jail for 3 years for attempting to reverse engineer under the DMCA."

    If car industry would be like that...
    lots of congressman would do something about it.

    Guess what software industry is like that
    and nobody does anything about it.

    Does the fact that I try to retrofit GM brakes
    on my Ford 98, because that's what I want...
    should be breaking any DMCA, patriot act, software patents or whatever idiocies?!

    No! So, why software should be different!?

    Think about it!

  7. Re:Not going to quit mine on OSS Projects Offer Bounties For Features · · Score: 0

    It mostly depends where you work.

    In most big cities in Canada, 150$ CAN pays roughly:
    - 15 hours for an HTML beginner (10$/h - 20K$),
    - 10 hours for a junior programmer (15$/h - 30K$),
    - 7.5 hours for an average programmer (20$/h - 40K$),
    - 6.0 hours for an expert programmer (25$/h - 50K$),
    - 3.0 hours for a Photoshop expert (50$/h - 100K$) and
    - 1.5 hour for an Oracle consultant (100$/h - 200K$).

    Multiply by 2000h/year for 40h/week shift,
    for a salary, knowing you have to deduce the income tax rate of roughly 50%,
    while the cost of life is much lower than San Francisco or Silicon Valley.

    If you don't believe me, try Monster or Jobboom.

    If you go to other countries, like middle east,
    eastern europe, india or china, it might be even more.

    Moreover, it also depends on the exchange rate.
    150$ US might not be a lot for you, but it is
    185$ CAN (1.23x).
    Likewise 150 euro is 239$ CAN (1.59x).

    In the end, everything is relative.

    So, while it may not be appealing for you, it is for some of us and you shouldn't deny that.

  8. GCC4 + Qt4 + KDE libs4 + KDE4 + Linux 2.4 +... on GCC 4.0.0 Released · · Score: 0

    For sometime I was wondering what all this fuss was all for...

    On the 4th week of April, which is the 4th month after 2004, Qt4, KDE4, GCC4 were announced
    one after the other.

    Soon, after I was able to download GCC4, in less than 4 hours at a nice speed of 4 KB/s connected at 44.4 kbps!

    Which only took another 4 hours to compile it using my Pentium 4 running at 2.4 GHz, using only 44.4% of my CPU.

    That's really nice, since in 4 months I will be able to get the final version of Qt 4.
    Unfortunately, like the beta2 of Qt 4, that will also take another 4 hours to compile using my Pentium 4.

    Nevertheless, 4 months after the release of Qt 4, we should see the beginning beta of KDE libs 4,
    which will essentially lead 4 months after that to a shinny new KDE 4,
    around April 4th that will be able to run on the new stable Linux 2.4.34,
    which will replace my current Linux 2.4.24 that has an uptime of nearly 4 months.

    Isn't that great ?

    Now, can someone tell me what this comment was all for ?

    The only clue, I can give is all those 'not in the club' buddy,
    which are using Gnome 2.6 on Linux 2.6.6 using gcc 2.96 right here in 2006,
    waiting for the next beta release of Perl 6.
    Thinking that there all cool and sexy!

  9. Re:My eyes! The goggles do nothing! on Firefox-Based Netscape 8 Beta Goes Live · · Score: 0

    If someone could explain me why they had to redesign the beautiful UI interface of
    Netscape4 or Firefox into something ugly like Netscape6, Netscape7 and now Netscape8!

    Please, if you want to add features that's fine,
    but please use the default OS-centric GUI widgets.

  10. Linux is already forked that's how BitKeeper works on Cox on Torvalds and Linux Kernel Development · · Score: 0

    "Each must know they compliment the other and make the whole of the Linux kernel better
    - even if they have the odd disagreement -
    or the kernel would have been truly forked (no pun intended) a long time ago. "

    If you care to read the BitKeeper homepage and technical documentation.
    BitKeeper and similar tools such as Arch, makes it possible to work on diferent forked tree
    while allowing those forks to synchronize/merge more easily via change sets.

    Therefore, the linux kernel is already forked.
    However, BitKeeper makes it easy to merge/share any of the forked tree.

    For instance, at the current moment few Linux forked tree exists in parallel:

    -mm
    -ac
    -bk
    -ck
    -pre
    etc.

    The reasons why they are really forked is that
    they uses different change sets, while some of these change sets are truly incompatible.

    It also explains why some patches "mature" in some non-Linus tree and if found "mature enough",
    Linus can merge them back into his tree.

    The fact is when you say you use Linux 2.6,
    you actually have to specify which tree branch? Vanilla or one of the -mm -ac -pre ... patches ?
    Samething when you submit a bug report.

    The only real difference between Linux and *BSD,
    is that people try to make the number of incompatible change sets as low as possible,
    since the SCM technology used allows this to be done easily.

    So maybe it's not as forked as *BSD, still *BSD still share device drivers and similar.
    But they are still many different trees that exist in parallel.

    The major problem are RedHat, SuSe and similar,
    who apply various patches to their kernel, but doesn't make it back to the Vanilla tree.
    They are lost in the nature... unless people
    try to track them, validate them and apply them.

    So, yes, they could fork dramatically;
    however, if they reconciliate 6 months later,
    it would still be possible to merge them...

    Have a nice day!

  11. You mean 6 right? 3! = 3x2 = 6 on Experts Suggest Replacing Definition of Kilogram · · Score: -1, Offtopic

    So, you mean 6 right?

    since

    3! = 3 x 2 x 1 = 6

    Well, you should be careful about Math,
    since exclamation mark is factorial operator. =)

  12. It's a GNU/Interview with GNU/Richard GNU/Stallman on Interview With Richard Stallman · · Score: 0

    Please, get it completely right,
    it's a GNU/Interview with GNU/Richard GNU/Stallman,
    nothing else nothing more.

  13. Noway, it's Duke Nukem Forever! on Top Ten Advances in 2004 · · Score: 0

    Man, you are so wrong, the most biggest advance of 2004 was the release of Duke Nukem Forever!

    What else could be as much expecting as this great game!

    What? It didn't came out yet!? .... hmmm... sorry! maybe next year! =^P

  14. stupid slashdot lame filter on FairUCE - the Smart Email Proxy · · Score: 0

    Well, I had a more obscure version,
    but just for that script it took everything to get it pass the Slashdot lame filter,
    saying it had "too many junk characters"!!!

    Well, everyone knows that Perl5 has lots of punctuation,
    not mentioning Perl6 "nightmare" Unicode punctuation!!!

    Enjoy! =)

  15. Thanks for the idea! Here's your perl script! on FairUCE - the Smart Email Proxy · · Score: 1, Funny

    %choice = (
    'type' => [ 'technical', 'legislative', 'market-based', 'vigilante' ],

    'reason' => [
    'Spammers can easily use it to harvest email addresses',
    'Mailing lists and other legitimate email uses would be affected',
    'No one will be able to find the guy or collect the money',
    'It is defenseless against brute force attacks',
    'It will stop spam for two weeks and then we\'ll be stuck with it',
    'Users of email will not put up with it',
    'Microsoft will not put up with it',
    'The police will not put up with it',
    'Requires too much cooperation from spammers',
    'Requires immediate total cooperation from everybody at once',
    'Many email users cannot afford to lose business or alienate potential employers',
    'Spammers don\'t care about invalid addresses in their lists',
    'Anyone could anonymously destroy anyone else\'s career or business', ],

    'fail' => [
    'Laws expressly prohibiting it',
    'Lack of centrally controlling authority for email',
    'Open relays in foreign countries',
    'Ease of searching tiny alphanumeric address space of all email addresses',
    'Asshats',
    'Jurisdictional problems',
    'Unpopularity of weird new taxes',
    'Public reluctance to accept weird new forms of money',
    'Huge existing software investment in SMTP',
    'Susceptibility of protocols other than SMTP to attack',
    'Willingness of users to install OS patches received by email',
    'Armies of worm riddled broadband-connected Windows boxes',
    'Eternal arms race involved in all filtering approaches',
    'Extreme profitability of spam',
    'Joe jobs and/or identity theft',
    'Technically illiterate politicians',
    'Extreme stupidity on the part of people who do business with spammers',
    'Dishonesty on the part of spammers themselves',
    'Bandwidth costs that are unaffected by client filtering', 'Outlook', ],

    'objections' => [
    'Ideas similar to yours are easy to come up with, yet none have ever been shown practical',
    'Any scheme based on opt-out is unacceptable',
    'SMTP headers should not be the subject of legislation',
    'Blacklists suck', 'Whitelists suck',
    'We should be able to talk about Viagra without being censored',
    'Countermeasures should not involve wire fraud or credit card fraud',
    'Countermeasures should not involve sabotage of public networks',
    'Countermeasures must work if phased in gradually',
    'Sending email should be free',
    'Why should we have to trust you and your servers?',
    'Incompatiblity with open source or open source licenses',
    'Feel-good measures do nothing to solve the problem',
    'Temporary/one-time email addresses are cumbersome',
    'I don\'t want the government reading my email',
    'Killing them that way is not slow and painful enough', ],

    'about' => [
    'Sorry dude, but I don\'t think it would work.',
    'This is a stupid idea, and you\'re a stupid person for suggesting it.',
    'Nice try, assh0le! I\'m going to find out where you live and burn your house down!' ]);

    srand(time);
    sub getIndex { return rand( shift() - 1 ); }

    $post = "Your post advocates a"
    .$choice{'type' }[ getIndex($#{$choice{'type'}}) ]
    ." approach to fighting spam.\nYour idea will not work. Here is why it won't work.\n"
    .$choice{'reason' }[ getIndex($#{$choice{'reason'}}) ] ."\n\n"
    ."Specifically, your plan fails to account for "
    .lcfirst $choice{'fail' }[ getIndex($#{$choice{'fail'}}) ]
    ."\nand moreover I have the following philosophical objection, \nmainly "
    .lcfirst $choice{'objections' }[ getIndex($#{$choice{'objections' }}) ] ."\n\n"
    .$choice{'about' }[ getIndex($#{$choice{'about'}}) ]
    ."\n\nSincerely yours,\nSlashdot anonymous random perl bot\n\n";

    $post =~ s/ *\. */.\n/g;
    print $post;

  16. Software engineering on How Important is a Well-Known CS Degree? · · Score: 0

    You might learn by yourself, dozen of languages.
    But that do not mean that you are proficient
    at writing "good code" or "good design"
    or "proprer and COMPLETE documentation".

    One thing you might want to look at are some books on software engineering,
    requirement and specifications, formal specification and design.

    You might want to look at RUP:
    Rational Unified Process

    Gamma Design Pattern book
    Anti-Pattern book
    Z, Object-Z, Larch, PVS specification language.

    http://www.afm.sbu.ac.uk/z/
    http://spivey.oriel .ox.ac.uk/~mike/zrm/
    ftp://ftp.comlab.ox.ac.uk/pu b/Zforum/zglossary.ps. Z
    http://research.compaq.com/SRC/larch/
    http://p vs.csl.sri.com/
    http://techreports.larc.nasa.gov/ ltrs/dublincore/2 003/cr/NASA-2003-cr212418.html

    Anyone can learn how to program, and code lots of stuff, [I learned myself most of the things],
    but that doesn't mean that the code doesn't
    sux somehow... ;-)

    Also, are you proficient in data structure?
    You might also want to get few books on
    how to design proper database table.

    3-tier design layers, MVC design and similar.

    Unit testing, component testing, integration testing?

    Another thing is that a degree will give you,
    some proper background in math and other stuff.

    Younger, I was very proficient in programming
    and I "taught" I could programming anything.

    The fact is you learn a thing or two at university. I got a bit stronger in Data structure
    and proper architectural design, component design
    and class design and testing.

    Of course, you might say that you are already better than most people, but that doesn't mean
    that you are done "learning", in fact, no one is never done learning ever,
    the field is just way too large to be covered entirely. =P

    But it might give you a better clue on how to solve more complicated problems that you might encounter in the field.

    To conclude, let say worst case,
    you gonna get very good grades at university and it's just gonna be an easy thing for you compared to others.
    Also, you might also get few grants,
    once you get good grades, so it shouldn't be that much of an issue.

  17. Was about time! on Intel's BTX Form Factor Launched Today · · Score: 0

    Was about time they came up with such specs!

  18. You don't have it at all: GMap.com on Google Acquires Keyhole Corp. · · Score: 0

    GMap.com there you go.
    Gmail.com
    Google.com
    Gnome.com [oops]

  19. Re:Well... mod_apache API is in pure C on Why is Java Considered Un-Cool? · · Score: 0

    If you want ultimate performance mod_apache is the way to go. mod_apache is 2x faster than mod_perl which is 10x faster than perl/CGI, etc.

  20. 1% of billions of server is still a lot on Linus Torvalds' Benevolent Dictatorship · · Score: 0

    Let's assume there is 1 billion computer worldwide,
    1% of 1,000,000,000 = 10,000,000 computers.

    Of course, it's not anything near Windows.

    But don't forget that Google only register
    computers that access Google...

    Have you seen a web server or database server lately accessing Google just because
    it had spare computer cycles to waste? =P

  21. The real list... on IBM Donates Java Database App. to Apache Foundation · · Score: 0
    1. Write any code
    2. Get bought by IBM
    3. Profit
    4. IBM kills a small competitor to increase DB2 revenue stream
    5. More Profit
    6. IBM saves money by not maintaining it and let it die
    7. Huge savings
    8. IBM makes a donation to Apache
    9. Huge Tax deduction
    10. IBM looks good to the community, free *IBM looks good* publicity press release and the community buy even more Linux IBM hardware
    11. Even more Profit
    12. The community develop a better version of the database, IBM relicense it under closed source and sells it to "open source scared" companies
    13. Even more Profit
    14. Linux folks dancing around blessing IBM strategies... priceless!
    15. IBM executive smiling by looking at their profit... priceless!
    16. ME... realising all this accounting gimmick... priceless!
  22. It is already integrated in MSDN universal on VirtualPC 2004 Versus VMWare 4.5? · · Score: 0

    Well, partially it is.

    It's in the MSDN Universal all-you-can eat buffet DVD license.

    My boss which has 2 MSCE; therefore, we had 10 free licenses of Virtual PC,
    but since running VM Ware was like much faster
    and we could hook up USB devices, serial/parallel ports, CDROM ISO files, floppy, any hardware,
    any partition, into the VMware layer, we bought VMware licenses.

    Thanks to few hand twistings and VMWare excellent product.

  23. You did a small typo dude! on Windows Accelerators - Do They Really Work? · · Score: 0

    You made a typo it's 95.98% of Windows crashes on Windows 95 or 98.

  24. It should really be... KolourPaint on Linux Journal Editors Choice Awards · · Score: 1, Informative

    The greatest Graphics Software this year, is not "The GIMP", it's KolourPaint! Alias Microsoft Paint KDE clone.

  25. Re:This is nothing... possible fix on Mozilla UI Spoofing Vulnerability · · Score: 0

    Make XUL/XBL web pages ask for
    "security prompt alert",
    when visiting such pages.

    Such that at least people could know.
    Now if someone click "ignore all",
    that's another problem.