Slashdot Mirror


Troll Technology (QT) Releases Scripting Language

OopChugALug writes "Troll Tech last night released a beta of QSA, which stands for QT Scripting Language for Applications. Download here. As a business apps developer for a major financial institution's trading floor, I know the traders will love this. Hopefully, with QSA, I can get rid of Excel, and give the traders Spreadsheet widgets, with the flexibility of a 'VBA-like' scriptability to boot!"

64 comments

  1. When hell freezes over, pigs fly, et cetera. by cyberkreiger · · Score: 4, Funny

    Hopefully, with QSA, I can get rid of Excel, and give the traders Spreadsheet widgets, with the flexibility of a 'VBA-like' scriptability to boot!"


    Yes, yes, very likely!
    --
    Stumbling in the dark
    I hear slavering of jaws
    Eaten by a grue.
    1. Re:When hell freezes over, pigs fly, et cetera. by e8johan · · Score: 3, Insightful

      QSA shows the great hidden abilites of the Qt toolkit. Hopefully the code will show how easy this is so that a free VBA compatible version will appear rendering all (non-viral) Windows scripts runnable in a free environment. This is one of the major things M$ Office has today, the scriptability. It is not great, not even good according to some (me) but it is there and works.

  2. just what we need by josephgrossberg · · Score: 2, Interesting

    Not only is it yet another scripting language, there is no documentation on their site!

    Joe
    http://josephgrossberg.blogspot.com

    1. Re:just what we need by eddy+the+lip · · Score: 5, Insightful

      It's based on ECMAscript, so it's not really learning a whole other language. This was smart on TrollTech's part - no one's interested in learning a whole other language just to interface with pretty widgets. This'll make it very accessible to a lot of developers.

      Should open up some interesting possibilities for KDE, too.

      --

      This is the voice of World Control. I bring you Peace.

    2. Re:just what we need by Choron · · Score: 1

      Hum, did you read the post ? It says it's a beta so you don't have to expect the documentation on their site.

      You obviously didn't download it either, the docs are there. Stop whining and download it if you're really interested.

      --
      "Naughty, naughty, naughty, you filthy old soomka !"
    3. Re:just what we need by josephgrossberg · · Score: 1

      I'll download it, and *then* see what comes with the download. Um ... sure.

      I'm not whining. I'm just saying that if you are releasing a new language, you need to attract developers. If you want to attract developers, you need to make the things they need (e.g. documentation), readily available.

    4. Re:just what we need by yugami · · Score: 1

      they only need documentation if they're using the language, they can't use the language w/out the download, the download contains the documentation.

    5. Re:just what we need by josephgrossberg · · Score: 2

      I think you have the logic backwards, and you're missing my point.

      They should make the documentation readily available and easily accessible. That way, it will encourage people to download it.

      Before I download something, I want to make sure it's useful and worth my time. I don't just go around downloading programs, and *then* seeing what they are.

      For applications, this means a feature list and screenshots. For languages, this means documentation I can (easily find and) browse online.

  3. Released, really? by PhysicsGenius · · Score: 0, Troll

    That's great news! Just today I was tasked with writing a cross-platform UI app for minimal cost. MFC works great on Windows but clearly isn't very portable. Java is the ultimate in portability, but this app needs some serious speed (it's a data-entry thing). I thought of GTK but I find that ugly (sorry, but I do). Eventually all I had left on the table was QT, but I'd hate to use a non-Free toolkit, so this is great news to me.

    1. Re:Released, really? by PD · · Score: 0, Troll

      Qt is free. And it's better than the alternatives such as WxWindows.

      Anyway, this isn't a UI library, it's a language.

    2. Re:Released, really? by Nicolay77 · · Score: 3, Informative

      QT is not free if you want to do commercial applications. wxWindows is.
      And I'm not really convinced that it's better, unless you think only in KDE.

      Anyway, wxWindows already has several scripting language bindings. (I forgot wxPerl too)

      --
      We are Turing O-Machines. The Oracle is out there.
    3. Re:Released, really? by PD · · Score: 1

      The line about it better was just a throwaway troll. I looked at wxWindows and it actually seemed decent. I like Qt better because it's written exactly how I think. If I were to design a window library it'd be just like Qt. Your mileage may vary...

    4. Re:Released, really? by zemoo · · Score: 1

      Both QT and wxWindows show their age in their API's. Maybe not in the scripting languages, but in C++ they've decided to reinvent the wheel (own string class, etc...)

      The only modern cross-platform API I've come accross is gtkmm. Know of any others?

    5. Re:Released, really? by Anonymous Coward · · Score: 0

      You stupid troll, you don't code ANYTHING. You're just looking for a karma handout.

    6. Re:Released, really? by PurpleFloyd · · Score: 2

      The reason QT has its own string class is for cross-platform compatability. Standard strings on different platforms may behave oddly, while a QT-standard string object helps to achive the whole "write once, compile anywhere" goal.

      Speaking of reinventing the wheel, how about GTK implementing its own OO environment on top of C? Last time I checked, there was a very good one called "C++".
      </FANBOY>

      --

      That's it. I'm no longer part of Team Sanity.
    7. Re:Released, really? by Choron · · Score: 1

      That's right, and if you want full Unicode support you have only that choice remaining.

      --
      "Naughty, naughty, naughty, you filthy old soomka !"
    8. Re:Released, really? by Anonymous Coward · · Score: 0

      If they are "standard strings," then they can't behave oddly without violating the C++ standard. I just upgraded from a patched MSVC5 (notorious for sketchy STL and stdlib, but the patches do fix a lot of stuff) to .NET, and all of my std::strings worked perfectly. They've been in the standard for years, and QT should really have deprecated their own string classes by now.

    9. Re:Released, really? by Anonymous Coward · · Score: 0

      Considering that even yourself, the great anonymous advocate of standards, was using a 7 year old compiler until recently, maybe you can understand TT's POV.

    10. Re:Released, really? by Anonymous Coward · · Score: 0

      if you want x-p, i suggest openstep... Official Apple (NeXT) releases are available for OS-X, NT/2k, Solaris, HP/UX and NeXT. GNUstep is available for *BSD, Linux,a dn windows NT/2k, and with a little tweaking most any unix.

    11. Re:Released, really? by Anonymous Coward · · Score: 0

      yes i do. OpenStep.

    12. Re:Released, really? by Anonymous Coward · · Score: 0

      Er. C++ is usually regarded as an awful OO language. ObjC is much cleaner if you want an OO C derivative.

      If you don't want a C-like OO language, Common Lisp CLOS rules the OO language roost at the moment (remember popularity is not a measure of how OO a language is...)

    13. Re:Released, really? by Anonymous Coward · · Score: 0

      Try std::wstring instead. "string" is not Unicode-capable.

    14. Re:Released, really? by Anonymous Coward · · Score: 0
      C++ is usually regarded as an awful OO language.


      Only by pretentious Slashdot geeks who like to show off their technical prowess by promoting obscure useless languages.

      ObjC is much cleaner if you want an OO C derivative.


      Cleaner because it doesn't support templates or function overloading.

      remember popularity is not a measure of how OO a language is...


      But the number of 16 year olds on Slashdot who prefer a given language does matter?

  4. Re:First by Anonymous Coward · · Score: 0

    Err, I ment 'Troll Technology'. Sorry bout that. Can I have some mod points now?

  5. Hopefully by Strange+Ranger · · Score: 4, Insightful

    'Lug, you aren't going to roll something out to your Trading Desk with "no support and no warranty"?

    Are you?

    --

    Operator, give me the number for 911!
    1. Re:Hopefully by b_pretender · · Score: 3, Insightful
      Trading support software is developed in-house at *all* of the investment banks (i.e. Supported in house, no warranty).

      What's unusual is that this guy (story's original author) thinks that he's going to get the said traders to move away from Excel. Yeah, that will happen when Enron regains its credibility as a market maker. I got news for him. The traders drive the trader-support tools. He should think to stop using excel *after* the traders start asking him to stop using excel.

      All traders everywhere use Excel. All Risk depts everwhere use Excel. A majority of quant modeling is done with excel.

      Please post any exceptions below, because I'm interested in knowing who doesn't use excel.

      A final point is that VBA for Excel is highly polished and the best currently available. It's very easy to code and compile C++ DLLs that directly link into Excel through VBA. A lot of people are doing this, there's a lot of information available, .net promises to make this even easier to do, and there's little reason to switch to something different.

    2. Re:Hopefully by JabberWokky · · Score: 4, Funny
      I worked for a revenue stream purchaser (the kind of people who buy lottery streams, etc). The guy who calculated everything had an Excel spreadsheet he used for it all - billions of dollars of streams. He knew about Excels quirks and bugs and he did the major calculations twice using different formula and methods to arrive at the answers. I once asked him what he did when they didn't match - and they often didn't. "Choose the one that benefits us the most" was his reply.

      No wonder why they use Excel. :)

      --
      Evan "Thinks Word 97 is the best WP to date, but not a fan of Excel"

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
    3. Re:Hopefully by Anonymous Coward · · Score: 0

      Excel is pretty crappy. It's OK for fancy displays (like ceiling-mounted plasma trading displays), but for quant jockeying, where you actually manipulate data, it's far too 2D. Also, people discover excel has only 65535 rows and decide it sucks.

      Plus excel runs neither on commercial unix nor IBM motherfuckin' mainframes, so lots of banks won't use it for anything mission critical. Traders tend to be tech-savvy, and here (City) insist on APL on Unix on their desktops -
      Most of the quants I know use an APL2 family language like Saxon APL or an asciified derivative thereof like K.

    4. Re:Hopefully by Strange+Ranger · · Score: 4, Informative

      Trading support software is developed in-house at *all* of the investment banks (i.e. Supported in house, no warranty).

      Um..I work with a trading desk every day. Some of it is in-house, much of it isn't. There's a huge list of vendors that supply trading desk applications. Many of them sell software with Excel plugin capability. Bloomberg and Bridge come to mind. And you're right, why in the world would you switch away from Excel.

      Regardless of all that, if one of our developers downloaded an obscure scripting language with no support and started rolling out custom applications I'm pretty sure we'd escort him to the door on the spot. Things like compliance, due diligence, split second transaction accountability, Business Recovery, transparency, etc all mean you can't just toss out whatever widgets you like. Can you imagine rolling out trade balancing tools to a trading desk writting in unsupported language 'Foo', and then putting in your 2 week notice?

      --

      Operator, give me the number for 911!
    5. Re:Hopefully by OOPChugALug · · Score: 2, Interesting

      I've worked with traders on an interest rate derivatives desk for the past 7 years, basically using Excel, VBA, and C/C++ DLLs coupled to Tibco, Infinity as well as other custom software packages.

      I submitted the article, and believe me, it will be a hard task to ween traders off of Excel - if even possible. I plan on rolling out parallel versions of the software I am producing - and we'll see which "version" the traders like better. I believe I will be able to flex and bend to the trader's whims more adeptly with QT/QSA, but we'll see. Excel will not be abandoned by any means, but if it is used to a lesser extent, than this will be making some headway.

      Often, we just can't do things in Excel that we would like, with the control and protection we desire. Likewise, we find that traders often find "hard-coded" GUIs, without any scripting language or ability to customize the appearance to be lacking in flexibility as well.

      I've written Excel DLL's for a long time, and believe me, I'm no fan of Microsoft's underlying API for exporting VBA variables / types back and forth to C / C++ DLL land.

      Do you think APIs such as SafeArrayAccessData(...) or structures such as SAFEARRAYS and VARIANTs are elegant? Ever try passing nested structs that contain arrays of nested structs of unsigned numbers or BSTRings back and forth between C and VBA? I think the Microsoft APIs for doing this and the Microsoft documentation is crap. IMHO, the QT documentation looks clearer.

      Additionally, I've been extremely impressed with QT as a GUI toolkit -unlike MFC/Win32 (or the complexity of COM). As far as support, we are planning on buying quite a few developer licenses / support from Troll tech. The price is not an issue and we like the license terms.

      As far as "Things like compliance, due diligence, split second transaction accountability,...etc", you would be surprised how much traders mix in their own models/ calculations with programmer-built tools - With Excel, it's a real problem keeping software under control. I can't see how it could be worse with QT. Should be interesting....

      Cheers,
      Dave Linenberg (OopChugALug)

    6. Re:Hopefully by larry+bagina · · Score: 1

      Excel runs on Mac OS X.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    7. Re:Hopefully by grammar+nazi · · Score: 2
      ...but for quant jockeying, where you actually manipulate data, it's far too 2D. Also, people discover excel has only 65535 rows and decide it sucks.


      Plus excel runs neither on commercial unix nor IBM motherfuckin' mainframes, so lots of banks won't use it for anything mission critical. Traders tend to be tech-savvy, and here (City) insist on APL on Unix on their desktops -
      Most of the quants I know use an APL2 family language like Saxon APL or an asciified derivative thereof like K.

      2D is all that you need for traders' on-screen analysis. It is simple, quick, down-and-dirty, and gets the job done. If you are doing anything with even close to 65535 rows, or if you need a 3+ Dimensional data structure then you need to reevaluate your model and your decision to use Excel. There are many tools (Matlab, SAS, C++, Perl) that better suited for large data sets. Pricing Options, Derivitaves and Bonds doesn't require these models.

      With regard to banks using Excel. I was refering specifically to supporting traders in investment banks. I'm not sure what is run serverside, but I hope it is mission critical. I know that *all* of the quants and risk analysts that I know use excel. Some of them have Sun compute servers with SAS and Matlab, but Excel is the dominant tool and the tools that they develop for traders *have* to work in excel.

      You say that you work at city. Do you mean Citi? (Citigroup). If this is the case, your misspelling makes me doubt that you really work in the finance industry.

      --

      Keeping /. free of grammatical errors for ~5 years.
    8. Re:Hopefully by Anonymous Coward · · Score: 0

      I would guess "The City of London", usually called "The City" - it's like a little tiny independent state run by bankers near the centre of london city i.e. he's British - my guess would be Excel is far less prevalent in Europe for banking, since Europeans mistrust Microsoft much more (gee... can't think why cough..NSAKEY..cough.). What he says sounds plausible.

    9. Re:Hopefully by virve · · Score: 1

      (snip)

      You say that you work at city. Do you mean Citi? (Citigroup). If this is the case, your misspelling makes me doubt that you really work in the finance industry.

      He means exactly what he wrote. He works in "The City" which means London City, The Square Mile...

      --

    10. Re:Hopefully by grammar+nazi · · Score: 2
      I stand corrected. I'm sorry for my american-centric view. I work on "the street" so I should have realized. Actually, I will be looking for work in London/Frankfurt as soon as I finish up my Quant-finance MS.

      You're right. Excel may be far less prevalent elsewhere in the world, although I can't imagine what might take its place. I would be interested in knowing.

      --

      Keeping /. free of grammatical errors for ~5 years.
    11. Re:Hopefully by Anonymous Coward · · Score: 0

      I can tell that you're obviously not a developer on Wall Street. You think these financial applications are elegant by any stretch of the imagination? They are not - they are merely functional - running on fast hardware because the code sucks so bad. Also, most Wall Street firms do all of their support in-house as well. As for two week rollouts - I wish! Try 2 day rollouts. You'd be surprised how little testing goes into these applications.
      Just because there's a lot of money involved don't assume that there's a lot of quality engineering. I've seen better engineering in 5 man software shops. Indeed, TrollTech started out that way - and look at their code quality - it's second to no one.

    12. Re:Hopefully by b_pretender · · Score: 2
      As for two week rollouts - I wish! Try 2 day rollouts. You'd be surprised how little testing goes into these applications.

      Exactly! Suppose ibank A is pricing a complicated instrument. If their software took two weeks to quality check and verify, then ibank B would do the software in two days and purchase/sell the instrument before ibank A could ever get to it. What if ibank B makes a mistake in their software that ibank A doesn't make? Well, ibank B will more than cover their losses during the next two weeks when they roll out 7 new packages for pricing 7 new instruments and ibank A is still working on the first instrument.

    13. Re:Hopefully by yogi · · Score: 1
      Okay, I'm now in my fourth trading support environment, as a consultant, and three of them used perl. One also used python.


      The only one that didn't have perl or python insisted on everything in C++. They didn't have *any* C++ programmers, so that the C++ code was effectively unsupported!


      In reality, the biggest problem is that Traders are well versed in Excel, and I have met many of them that don't understand what other applications a PC could possibly want. They can be spotted writing letters to their clients in Cell A1.


      These traders are wrong, since in reality, behind them is a large mass of (semi) automated order processing, settlement and confirmation systems, most of which are mainframe/minicomputer based, or n-tier client server. You *can't* do that with Excel.


      Margins are low in investment banking now, and firms are being pushed to cut costs, especially in IT. Traders are no longer able to swing their big swinging dicks and get what they want. They will get what they are given, and that will start to be the cheapest option -- the spreadsheet widget is a possible flyer.


      Admittedly, the quants do design their pricing models in spreadsheets, but this is a prototype, since to trade whatever it is has been designed, the same model must be implemented in the big iron trading systems. The rest of the universe uses excel for looking at data.

  6. wxWindows by DrSkwid · · Score: 2

    free, portable, many bindings

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  7. wxWindows: wxPython, wxBasic, wxLua by Nicolay77 · · Score: 3, Informative

    wxWindows has native look and feel over all the supported platforms, not emulated, and has several scripting languages.

    Nothing beats wxPython for what you want to do.
    There is even wxLua (a very fast light scripting language) and wxBasic for the fanatics of that language.

    --
    We are Turing O-Machines. The Oracle is out there.
    1. Re:wxWindows: wxPython, wxBasic, wxLua by fuzzbrain · · Score: 2, Informative
      I don't know much about wxWindows but from what I've heard about it, there are two advantages Qt has over WxWindows:
      • Qt implements an observer pattern using signals & slots which are very powerful; wxWindows uses callbacks with event handlers like MFC
      • Because Qt doesn't wrap around other widget sets, it's faster

      There are also python & ruby bindings to qt just like with wxWindows.
  8. ANOTHER scripting language? by metalhed77 · · Score: 3, Interesting

    why not just make libs available to do what this language does for perl, python, etc.

    --
    Photos.
    1. Re:ANOTHER scripting language? by vbweenie · · Score: 1

      Well, there kind of already are - there are python bindings (PyQT) for, oh, everything really, and doubtless perl and ruby bindings too. You need an interpreter for whichever of these languages you want to run, and you need the relevant packages, plus ideally some documentation and you're ready to go.

      Having said that, I think ECMA-script is a good base for scripting functionality - I've thought for a while that it's just too good to spend its whole life servicing pop-ups and roll-overs, and it's good to see that SVG, for instance, will eventually be scriptable via ECMA-script and the DOM. I've used JScript, MS's ECMA-script implementation, with the Windows Scripting Control before now to script the behaviour of COM components, and found it greatly preferable to VBScript - much more dynamic, much better error handling (try...catch...finally, with objects throwable as exceptions), much better array-handling and so on. I haven't tried using it for a larger-scale project, and would probably resort to Python if I wanted to build a full-blown application, but for quick and dirty scripting it's a real gem.

      --
      Experience is a hard school, but fools will learn no other.
  9. Troll Technology by Hubert_Shrump · · Score: 5, Funny

    Troll(/.) {
    case FP:
    ? FP[Rnd]
    case Soviet:
    reverse(HeadLine)
    ? "in soviet russia, $1 $2es you!"
    case Ascii:
    for (!filtered)
    ? Rand_Art
    case ReadArticle:
    restate(wrongly+inflammatoryDeclaration)
    case !ReadArticle:
    restate(wrongly+inflammatoryDeclaration)
    case Beo:
    ? "imagine a beowulf cluster of $1"
    case AYB:
    ? "All your $1 are belong to $2"

    --
    Keep your packets off my GNU/Girlfriend!
    1. Re:Troll Technology by tg_schlacht · · Score: 2, Funny

      Interesting? Try FUNNY.

    2. Re:Troll Technology by StandardDeviant · · Score: 3, Funny

      case (location == SovietRussia):
      ? "case switches YOU!"

  10. The progress of software development by ironfroggy · · Score: 1

    This just reaffirms my growing theory that software development is moving away from a science and becoming more of an art, as it becomes easier and the skills less brain-dependant.

    1. Re:The progress of software development by Anonymous Coward · · Score: 0

      I dont think real Software Development gets easier per se. Ease of use simply allows us to create increasingly complex programs, which end up being just as "hard" to write (but do a lot more).

      In the good old days you could write a simple text editor and everyone was like "wow". Now writing a text editor is trivial with all widgets pre-made etc. But Software didn't stop there.

      Yes, writing yesterday's software today is easy. But some of us are busy writing tommorows software and it is hard work!

      Let the kiddies play with their scripts ;o)

  11. Yes! YASL by Anonymous Coward · · Score: 0

    Yet Another Scripting Language!
    Definitely what the *NIX world need...

    1. Re:Yes! YASL by alek202 · · Score: 1

      Read above - it is not another scripting language, it is based on ECMAscript, on which the next JavaScript-Implementation (I think it was V5) is also based.

      --
      Every problem has a solution, but every solution creates new problems.
  12. There _is_ documentation by Anonymous Coward · · Score: 0

    http://www.trolltech.com/products/qsa/index.html

    See the links to a data sheet and preliminary documentation

  13. The K Language by Jayson · · Score: 3, Informative
    For those of you who don't know about K here are two resources.

    My quick intro: http://www.kuro5hin.org/story/2002/11/14/22741/791

    A wiki entry written by David Ness: http://www.c2.com/cgi/wiki?KayLanguage

  14. Commercial free software by yerricde · · Score: 1

    QT is not free if you want to do commercial applications.

    Trolltech's Qt is free for use in commercial free software such as Red Hat's distribution of KDE, or any other boxed distribution of a GPL'd application.

    --
    Will I retire or break 10K?
  15. How wonderful by drinkypoo · · Score: 2
    Yet ANOTHER scripting language. I seriously lost count long, long ago how many new scripting languages have been introduced since I started paying attention. Do we really need ANOTHER one? I mean I personally really didn't think we needed php. (The best solution would have been to mimic ASP, whether you supported visual basic or not; Mimicking ASP with perl and jscript would have been good. This would have bought "us" way more portability in web code...

    But back to the PHP thing, PHP looks like perl and smells like perl but it ain't perl and if you try to pretend it is it doesn't work out way too much of the time. What does this scripting language look like, and why did we need another one? Why couldn't they have just plugged something good which already existed in to that place? Troll is determined to reinvent every wheel possible where gnome is trying to do things in the best of established ways, as far as I can tell. I don't use either any more (Devotee of XP on the desktop) so I'm not keeping up with every detail but that's my broad impression.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:How wonderful by Caractacus+Potts · · Score: 2

      Yes, we need more scripting languages. Yes, we need to reinvent wheels whenever possible. It's amazing how clear this is to some people and how incomprehensible it is to others. Portability and establishing standards are among the most practical goals to have, but you still need people plugging away in R&D-type activities to birth new ideas and techniques. If you're on a budget and a schedule, sure, grab the best thing available and go with it. But, if you can glimpse a better way to do something, give that a try too.

    2. Re:How wonderful by Anonymous Coward · · Score: 0

      Damn you're a whining sniveling bitch.

  16. Good thing - the KDE javascript library too slow by Anonymous Coward · · Score: 0

    I did some benchmarks of KDE's javascript against Mozilla's implementation - KDE's javascript is ten times slower than Mozilla. Qt's javascript implementation can only be better.

    On another topic, I wonder how TrollTech will handle C++ object destruction in Javascript. Qt relies on it heavily. Perhaps the QSA programmer will have to dispose of C++ wrapped objects explicitly?

  17. Rexx anyone? by Anonymous Coward · · Score: 0

    I would rather have read of qt using rexx.

  18. Nothing to see here: K is just fucked up Forth by Anonymous Coward · · Score: 0

    Push push call... snore.

  19. Erm... by rakslice · · Score: 2

    Did you notice that QSA is ECMAScript (Javascript)?

    1. Re:Erm... by drinkypoo · · Score: 2
      Nope. I stand corrected in that case.

      Egg on face for this reason, not the sibling to your comment :P

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  20. gcj+swt by Anonymous Coward · · Score: 0

    GCJ+SWT is Free, cross platform (incl. Windows) gives a native look-and-feel GUI, is natively compiled (fast), but also allows for interpreted code. You can also extend your app with any number of scripting solutions (JavaScript (via rhino), Jython, scheme).

    It's a nice solution. http://gcc.gnu.org/java and http://sources.redhat.com/rhug