Slashdot Mirror


Developer Hacks Together Object-Oriented HTML (github.com)

An anonymous reader writes: Ever since I started coding, I have always loved object-oriented design patterns. I built an HTML preprocessor that adds inheritance, polymorphism, and public methods to this venerable language. It offers more freedom than a templating engine and has a wider variety of use cases. Pull requests appreciated!

184 comments

  1. Spare us. by HornWumpus · · Score: 4, Insightful

    Another genius, building his own framework, just what the world needs.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    1. Re:Spare us. by jellomizer · · Score: 2, Insightful

      Object oriented is very overblown methodology. It has its advantages but overall it just gets in the way, because it takes the effort away from logic and workflow and more towards design. So you often end up with a well designed product that doesn't do what it needs to do.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Spare us. by Anonymous Coward · · Score: 2, Insightful

      Your response is about as short-sighted as possible. I'm sure you would prefer to have been spared all of the other many geniuses that have tinkered and built across the many generations. Sure, many of those creations have been left on the scrapheap of time, but the remaining ones facilitate and amplify our abilities.

      Go move into a cave in the deep wilderness where you can spare yourself.

    3. Re:Spare us. by Dutch+Gun · · Score: 4, Insightful

      You know, I disagree vehemently with those who proclaim OO an abject failure. But I'm always a bit bemused with people who feel the need to build OO into everything, whether it needs it or not. The trick, of course, is to use it as it makes sense.

      One of the problems with OO is that poorly designed programs can be much worse to grok the logic and flow of than poorly designed procedural programs, mostly because of how scattered the logic can be throughout an object hierarchy.

      A much more modern* trend is to avoid deep class hierarchies whenever practical, preferring instead to try to use smaller, more reusable objects that are only responsible for a single task, and use composition of objects. This allows you to more easily test each individual component and assure correctness of behavior, and then build on that behavior. These days, a lot of my classes are very shallow, either a single class, or perhaps derived from an interface class to hide implementation details when necessary.

      Class hierarchies still have their place on occasion. There are still cases when you must manage a number of types of related-but-different objects with a lot of common properties. But if you keep this paradigm to a minimum, you'll be a lot happier with OOP, and keep your code more manageable.

      * If you consider the last 15 years or so "modern"

      --
      Irony: Agile development has too much intertia to be abandoned now.
    4. Re: Spare us. by Anonymous Coward · · Score: 0

      And that would be my response to you.

    5. Re:Spare us. by Billly+Gates · · Score: 2

      You are soo right. He should have written it in JavaScript instead

    6. Re:Spare us. by Pseudonym · · Score: 1

      It was overblown, but I think it's settling down now. There is a trend towards non-Simula object models (e.g. prototypes), pure (or as pure as possible) functional programming, the actor model, generative programming (e.g. "Modern C++") and so on.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    7. Re:Spare us. by Chris+Mattern · · Score: 1

      I particularly like how he is apparently under the impression that HTML is a programming language, since that's the only way object orientation could be desirable or even make sense.

    8. Re:Spare us. by Anonymous Coward · · Score: 0

      There is a trend towards non-Simula object models (e.g. prototypes)

      Yes, but also no.

      Look at JavaScript. ECMAScript 2015 finally added something kind of resembling real classes. Why is that? Because prototypes may be nice theoretically, but in practice they're pretty much useless. Most of the time JavaScript programmers used prototypes to try to do a really half arsed imitation of real Simulate/C++/Java-style class OO. But like most things JavaScript they ended up doing it in several different and incompatible ways!

      I know there are newer languages like Go and Rust that don't do real OO, either, but that's rarely looked upon as a benefit of them. In fact, it's one of the biggest complaints about Go, along with its lack of generics. Go is what happens when folks who are more familiar with 1970s procedural C and Pascal try to bolt on something resembling OO. They screw up the type system, and they screw up the OO, too.

      Then there's Rust, which went with traits just because traits are trendy and Haskell-like, despite being much more awkward to work with than real classes. But that should not surprise us at all. Rust is all about following trends at the expense of usability, and poorly imitating functional programming languages.

      So while we are seeing some languages move toward prototypes or other half arsed alternatives to real OO, it hasn't been beneficial so far, and will likely be just a temporary phase. We've already seen JavaScript be fixed up to address its lack of real class OO. I wouldn't be surprised if we see the same for Go and Rust at some point, assuming they're even around in a few years.

    9. Re:Spare us. by ls671 · · Score: 3, Interesting

      Nice post! Most of my utility classes are stateless and contain only static methods. A lot of common logic is in there instead of being in the instantiated class. Inheritance here and there were it makes sense.

      Yet, I still see OO heads around who think; the more it inherits, the more it is OO. The ultimate case is those projects where all classes inherit from an often called "RootObject" that contains all utility methods for the project hence effectively making all utility methods global methods.

      --
      Everything I write is lies, read between the lines.
    10. Re:Spare us. by Anonymous Coward · · Score: 0

      What you're not understanding is that we're talking about web technologies here. Unlike pretty much every other kind of technology, web technologies do not get better with time, and they do not get better with subsequent attempts. Typically they just keep getting worse and worse and worse. It's extraordinarily rare that we see a truly beneficial creation within web technologies.

      Take XHTML for example. It was the first good development in a long time. But thanks to shitty web devs being unable to show even the slightest amount of care we ended up with HTML5 instead, which goes out of its way to support shitty, sloppy markup.

      Another example is Ruby on Rails. Somehow they managed to find a language slower than Perl, and they created a framework worse than those we had with Perl, while creating web apps that are far more bloated than those we created using Perl. So much about Ruby on Rails is a big step backward!

      Web technologies aren't like airplanes, or vehicles, or even computer hardware, where we see a natural and forward-moving progression over time. Web technologies generally start out utterly idiotic, and then get worse over time.

      The fewer new web technologies that people try to create, the better off we are. Any attempt to improve what's already there just makes the entire situation worse. The best thing to do is to not even try at all!

    11. Re:Spare us. by Pseudonym · · Score: 3, Interesting

      Yes, but also no.

      Look at JavaScript. ECMAScript 2015 finally added something kind of resembling real classes. Why is that?

      Because the first job of JS has always been to manipulate DOM which was designed in the "90s class hierarchy bloat" aesthetic. The need, but not the ability, was there from the beginning.

      If Eich had managed to get Scheme in, we wouldn't be having this conversation now.

      Tha half-arsed Smalltalk/Erlang style OO that node.js developers seem to be embracing is more "real" than this. I do not think that OO is a failure. I think that Alan Kay has beaten Grady Booch but the world hasn't realised it yet.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    12. Re:Spare us. by ls671 · · Score: 1

      Just to be fair, here is the first sentence on the GitHub page (README.md):

      HTML isn't a programming language as such, it's actually a markup language...

      --
      Everything I write is lies, read between the lines.
    13. Re:Spare us. by Lisandro · · Score: 1

      I know there are newer languages like Go and Rust that don't do real OO, either, but that's rarely looked upon as a benefit of them. In fact, it's one of the biggest complaints about Go, along with its lack of generics. Go is what happens when folks who are more familiar with 1970s procedural C and Pascal try to bolt on something resembling OO. They screw up the type system, and they screw up the OO, too.

      Complaints by who? There's a lot to like about Go and one the standout items is how it is not overly obsessed with OO.

      Lack of generics, on the other hand...

    14. Re: Spare us. by Anonymous Coward · · Score: 0

      Maybe we should just dismantle the internet.

    15. Re: Spare us. by Zero__Kelvin · · Score: 1

      By definition a well designed product does what it needs to do. The problem isn't OOP or any other methodology. It is the fact that the industry has been flooded by morons like you that can actually make that statement without realizing how phenomenally stupid it is to say.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    16. Re: Spare us. by jellomizer · · Score: 1

      You don't want to hire people who are willing analyze the strengths and weaknesses of the tools? I've seen to many programs written in OO languages. But are just coded procedural inside a class wrapper. A lot of coding in today's world doesn't require full life cycle product development. Often throwaway code that does something simple and does it well offers the best bang for the buck. However if I were interviewing for a software development shop making some big clunky product I can just as easilly state all the greats OO has to offer.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    17. Re:Spare us. by jellomizer · · Score: 1

      OO isn't a failure. But it isn't often the best tool for the job.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    18. Re:Spare us. by Anonymous Coward · · Score: 0

      Your response is about as short-sighted as possible. I'm sure you would prefer to have been spared all of the other many geniuses that have tinkered and built across the many generations. Sure, many of those creations have been left on the scrapheap of time, but the remaining ones facilitate and amplify our abilities.

      When I was a kid used to half heartedly scour Gopher and Usenet for the latest on perpetual motion machines and alt.alien.visitors... eventually grew up enough to be severely disappointed with the lack of verifiable supporting evidence and today I tend to dismiss peddlers of these things as misguided or mentally deficient without even bothering to look into them. For all anyone knows Alien visitors really do exist and some clever combination of magnets and motor-generators involving zero point fairy dust can really solve the worlds energy problems...

      Feel free to call me short sighted all you want I chose based on my own experience to dismiss these dime-a-dozen template systems thousands feel compelled to constantly poorly reinvent. It saves me time that can measurably be put to more productive uses. I could be wrong but so could a secret Nazi anti-gravity bell device make pigs fly.

      The bottom line is blanket philosophical arguments have no cash value in the real world. We're all much better served sticking with merits or not saying shit. Your response was shit, parents response was shit and my alien bullshit is total utter shit.

    19. Re: Spare us. by Anonymous Coward · · Score: 0

      OO is not an overblown methodology. OO designs are so popular because they reduce complexity (when implemented properly) by representing logic in the form of re-usable, extensible objects. Opposition to OO design typically comes from junior programmers who haven't yet struggled to maintain or update existing, non-OO systems.

    20. Re:Spare us. by Anonymous Coward · · Score: 0

      , preferring instead to try to use smaller, more reusable objects that are only responsible for a single task, and use composition of objects.

      That's not a modern (or even 15 year old) thing. That is, and always has been the ENTIRE POINT of OO. Just because some corporate C++ and Java programmers didn't understand that, doesn't mean it's not true.

    21. Re:Spare us. by Anonymous Coward · · Score: 0

      Thank you for this. I'm currently taking intro to computer science II at Oregon State to learn object oriented programming, as everything I do at work is procedural.

      I have really begun to appreciate the way that object oriented design can hide complexity from the users of objects, and I can totally see how deep class hierarchies can become burdensome to understand and maintain.

    22. Re: Spare us. by Anonymous Coward · · Score: 0

      We did. It just rebuilt itself again.

    23. Re: Spare us. by Pseudonym · · Score: 1

      But are just coded procedural inside a class wrapper.

      That's an extremely reasonable approach. If the problem is procedural, but you're working in an OO language without a real module system, many programmers use the object system as a de facto module system. Modularity is important.

      However if I were interviewing for a software development shop making some big clunky product I can just as easilly state all the greats OO has to offer.

      Sure, but if you don't want your product to be unnecessarily big and clunky, you could consider hiring programmers with some self-restraint. And possibly better taste.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    24. Re:Spare us. by Pseudonym · · Score: 1

      Yet, I still see OO heads around who think; the more it inherits, the more it is OO.

      You can thank Grady Booch for this. (The other early 90s "gurus" can share some of the blame, but Booch is the worst offender.)

      Compare Alan Kay, who coined the term "object-oriented":

      OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.

      with Grady Booch, who has some very expensive CASE tools to sell you:

      Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships.

      There are three important parts to this definition: object-oriented programming (1) uses objects, not algorithms, as its fundamental logical building blocks (the “part of” hierarchy [...]); (2) each object is an instance of some class; and (3) classes are related to one another via inheritance relationships (the "is a" hierarchy [...]). A program may appear to be object-oriented, but if any of these elements is missing, it is not an object-oriented program. Specifically, programming without inheritance is distinctly not object-oriented; we call it programming with abstract data types.

      Now to be fair to Booch, he was working at a time when it was believed that analysis was the really hard part of software development. You have to remember that this was a boom era when old paper-based businesses were computerising their processes. There was a tension between keeping continuity between the old business and the new one (it had to be close enough that you weren't essentially rebuilding the business from the ground up) while also taking the opportunity to do things better. Understanding precisely what the new system should do was a very hard problem.

      Things have changed.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    25. Re: Spare us. by Pseudonym · · Score: 1

      OO is not an overblown methodology. OO designs are so popular because they reduce complexity (when implemented properly) by representing logic in the form of re-usable, extensible objects. Opposition to OO design typically comes from junior programmers who haven't yet struggled to maintain or update existing, non-OO systems.

      That was the case in the mid-90s, but it's simply not true today. Today, junior programmers are trained on object-oriented languages, and most of the opposition comes from senior programmers who have struggled to maintain existing non-reusable, non-extensible, and (especially) non-scalable OO systems which have bloated over time.

      It took the existence of legacy OO systems to truly understand this.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    26. Re:Spare us. by Anonymous Coward · · Score: 0

      If Eich had managed to get Scheme in, we wouldn't be having this conversation now.

      Obviously. Nobody would have even bothered to use it, and it would've probably been stripped out of Netscape Navigator not long after having been put in. No s-exp language has ever caught on because the syntax is so goddamn unfriendly to humans.

    27. Re:Spare us. by Anonymous Coward · · Score: 0

      Using words like "grok" is as bad as writing code without documentation.

    28. Re:Spare us. by ls671 · · Score: 1

      Nice, thanks!

      --
      Everything I write is lies, read between the lines.
    29. Re:Spare us. by ls671 · · Score: 1

      Also, an easy way to know what you are getting into when you come to help on a project is plug the source code into something like Enterprise Architect and see a graphical representation of the classes, along with the relations.

      I don't use such tools extensively but the graphical snapshot is amazing if only for that.

      --
      Everything I write is lies, read between the lines.
    30. Re:Spare us. by Anonymous Coward · · Score: 0

      True. OOP should have been shown the door along with MVC.

      Here's the real thing that needs to happen. Return back to what made C efficient. Add those pieces from C++ and other languages that truely help (eg operator overloading, reference counting) and abandon all this templating language upon language bullshit.

      This is why the best software is written with C, and then an interpreter (eg LUA, Squirrel ) is used for the parts (at least in high performance games) to restrict the amount of underlying features/bugs you want the software able to touch. This is why software like Unity is great as a starter/learning platform, but it's ultimately a poor choice for an AAA title since it will never be optimized to do one thing well.

    31. Re: Spare us. by Anonymous Coward · · Score: 0

      Oh bullshit. OOP increases complexity to the point of no two C++ files produced by two different developers to solve the same simple problem,never even results in the same logic, let alone the same inputs giving the same outputs.

      Opposition to OO design comes from not wanting to bloat the program. OO makes threading a nightmare. OO makes memory management a headache, and thus nearly every memory leak in a program comes from failing to release/delete objects.

      There are good things and bad things to OO, and the reality is that OO makes the most amount of sense in data analysis and AI, while procedural programming is exactly what is called for with the web browser client, server-sided scripting, games, and A/V codecs.

      Yet, I've seen time and time again horribly bloated OOP factories upon factories upon classes, upon classes where to do something as simple as "hello world" involves going through a dozen different source files to do repeated security checks.

      Here's an analogy.

      C, nobody is guarding the door, you just have one key, and it fits just this lock, or you don't have the key, or it doesn't fit the lock. Opening the door returns just one value. Simple
      C++, you're not allowed through the door, instead you have to communicate with the person behind the door, and again, only if you have the key, but there will really be one person behind the door that accepts different versions of the key. That person goes off and does whatever it's tasked with and comes back to return the data.

      It should be immediately obvious how much additional latency is added by the C++ model. This is why things need to be as shallow as possible when doing classes.

    32. Re:Spare us. by JustAnotherOldGuy · · Score: 1

      You know, I disagree vehemently with those who proclaim OO an abject failure.

      I don't think OO is an abject failure, I think it's more like driving your aircraft carrier down to the mini-market for a candy bar.

      98% of the OO projects I've seen use OO only because someone told someone told someone that they should use OO...and usually for a variety of nebulous reasons that either never made sense in the first place or or because they were just enamored with OO and wanted to strut their OO shit for all to see.

      Nearly all of those projects would have been better off using traditional linear or procedural programming techniques.

      --
      Just cruising through this digital world at 33 1/3 rpm...
    33. Re:Spare us. by JustAnotherOldGuy · · Score: 1

      OO isn't a failure. But it isn't often the best tool for the job.

      I'd say "rarely", but that's just me.

      --
      Just cruising through this digital world at 33 1/3 rpm...
    34. Re:Spare us. by Wuhao · · Score: 1

      The true test of any language is whether it can be self-descriptive, so obviously it should have been written in itself. Also, it doesn't make use of any of the modern breakthroughs in semantic design theory, like functional re-isms, kwanzaa clauses or multilevel reflexisms. You know what? I'll just implement my own and show everyone how it ought to work.

    35. Re:Spare us. by Tablizer · · Score: 1

      OOP and functional programming, and probably other paradigms/methodologies have something in common: there's a right place and way to use them and wrong places and ways. They are helpful in the right place, but can make Yuuuge messes in the wrong place.

      The "art" of programming is often using the right tool for the job: hammers are not "bad", but don't use them to drive in screws. Always remember not to make things hard on future maintainers who may not know about or share your grand code design philosophies.

    36. Re:Spare us. by TheFakeTimCook · · Score: 1

      Object oriented is very overblown methodology. It has its advantages but overall it just gets in the way, because it takes the effort away from logic and workflow and more towards design. So you often end up with a well designed product that doesn't do what it needs to do.

      Exactly.

      Form over Function writ large.

    37. Re: Spare us. by NicknameUnavailable · · Score: 1

      Spoken like someone truly incompetent.

    38. Re: Spare us. by Anonymous Coward · · Score: 0

      Lack of generics is a good thing!

      Generics warp the type system, lock out evolving the design, and break abstractions.

    39. Re: Spare us. by Anonymous Coward · · Score: 0

      No, OO is a powerful tool when wielded properly. People just need to know when to stop inheriting. Limiting the levels of inheritance is the first rule in effective OO implementation.

    40. Re:Spare us. by K.+S.+Kyosuke · · Score: 1

      Object oriented is very overblown methodology.

      Unless you use CLOS, which very few people do.

      --
      Ezekiel 23:20
    41. Re:Spare us. by Half-pint+HAL · · Score: 1

      The problem OO has is that we have forgotten the mindset of the designers.

      Much of the early work in computer languages was born out of the study of human language with formal grammars. I never fully appreciated OO until I started trying to do simple language generation, and OO actually seemed like the perfect model for dealing with verb conjugation groups and irregular verbs. All the examples for beginners about "mammals have four legs", "dogs are mammals", "Fido is a dog" are a bit trivial and aren't actually embodiments of the core logic.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    42. Re:Spare us. by Anonymous Coward · · Score: 0

      Another genius, building his own framework, just what the world needs.

      Worse! It is a damn Java Archive (jar) file.

    43. Re:Spare us. by Anonymous Coward · · Score: 0

      Object oriented is very overblown methodology. It has its advantages but overall it just gets in the way, because it takes the effort away from logic and workflow and more towards design. So you often end up with a well designed product that doesn't do what it needs to do.

      A proper object-oriented programming language makes developing language parsers, interpreters, and compilers much easier; especially parsers and interpreters for a language. At university I implemented the foundation classes for programming language implementation and had a fully compliant PROLOG interpreter implemented in a single weekend. The development time for the foundation classes upon which my interpreter ran took about 2 weeks including extensive testing.

    44. Re: Spare us. by Half-pint+HAL · · Score: 1
      OO reduces complexity when it reduces coupling and encourages encapsulation. The idea of conceptualising code as a series of communicating "machines" with mutually communicating interfaces achieves this. However, inheritance may improve code reuse, but it results in high coupling. "Objects all the way down" is a design philosophy that risks reintroducing complexity into the system; and having a single class tree completely kills the idea of low coupling, as absolutely everything ends up coupled.

      OO can reduce complexity, but it doesn't guarantee it -- programming needs to be taught, and we're not getting much better at teaching it, as far as I can see.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    45. Re: Spare us. by Anonymous Coward · · Score: 0

      Sorry, still can't tell which of you has the biggest penis, you both need to try harder.

      Muhh, "harder".

    46. Re:Spare us. by pr0fessor · · Score: 1

      Just out of curiosity what kind of development do you do and what languages do you use.

      I prefer c++ over c but most of the stuff built on java is probably the worst example of object oriented programing.

         

    47. Re:Spare us. by gfxguy · · Score: 1

      I disagree. If there's one area that OO blows other types of programming out of the water it's user interfaces. After cursory reading, I don't know that this is a great implementation and, honestly, mostly you're using some server side script to generate the HTML (and that script, IMO, is better suited to OO as I believe most interfaces and XML like structures are better suited to OO). I'd rather be using python on the back-end anyway. However, if you were writing complicated static pages (I don't know why you would do that), an object oriented approach to markup certainly seems like it could be useful.

      --
      Stupid sexy Flanders.
    48. Re:Spare us. by Anonymous Coward · · Score: 0

      Another frustrated nihilistic idea-attacker on Slashdot. nothing new here.

      so what awesome code have you written? is it on github? are you a contributor to the Linux kernel? have you optimized any compilers lately? i didn't think so.

      you know how i knew? because awesome creative genius coders are too busy inventing new things and thinking outside the box to sit around shitting all over other people's ideas.

      perhaps you'd be happier and more successful if you opened your mind to something new. i'm not saying this guys code is gold or that his idea even has legs. i'm just saying quit being such a douchebag and go invent something great that the world needs.

    49. Re: Spare us. by Anonymous Coward · · Score: 0

      There are 14 competing standards....

    50. Re:Spare us. by Kethinov · · Score: 1
      --
      You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
    51. Re:Spare us. by Anonymous Coward · · Score: 0

      1. Your blind, deaf, and dumb. 2. Your a troll. or 3. You haven't spent the time to learn Object Orientation to evaluate it properly. Take it from someone who has programmed in a couple of assemblers and several procedural languages (and even one claiming to be 4GL), OO is a very logical way to organize a program. It's not that I'm some grand programmer with loads of experience, but I've experienced having to make that transition. The problem with OO (for me at least) was that until you "get it", you don't get it. If you've been programming purely procedural all your career, it's going to take a mindset change that's sometimes difficult to do. It's easier for the programmers that have only ever known OO and don't have to make that mindset change. A couple of small programs in Python in place of some bash scripts finally changed my understanding of it's value and the right way to use it. Now, Python isn't my only OO. Don't worry about using the wiz-bang features of OO out of the gate. Learn how to organize a program using OO concepts and why that's valuable from a logic/organization standpoint. Use the wiz-bang features later when it makes sense, if it makes sense. No matter what language you are writing in, if it doesn't do what it needs to do, you've designed the program incorrectly. That means that you aren't using OO properly. Don't blame that on OO. A couple of pointers on making the mindset change... You still need the same logic. Workflow is still there, but you get to see it in summary instead of detail (think C instead of assembler). I liked Python to learn with... free in many cases... easy to pick up. The most important thing for me... work on something that makes sense to work with as an object. Those car and animal type examples don't do OO any justice. Working with different file types helped me.

    52. Re:Spare us. by Anonymous Coward · · Score: 0

      It's really quite simple, OO has succeeded as the dominant paradigm for development, not because it's necessarily the preferred paradigm by computer scientists, but because it's simply been the most successful in mapping real world problems to an end product - a program that solves it.

      Where OO falls down somewhat is that it turns out that it gets incredibly more complex when you start factoring concurrency into the project in large part because most OO languages weren't designed from the outset to cope well with that scenario. In contrast, other paradigms such as functional do a much better job in these scenarios. As such there have been two paths towards resolving this; 1) by integrating FP concepts into OO languages, i.e. by implementing support for lambdas into languages like Java, C#, and C++, and 2) by inventing new ways of supporting concurrency in OO languages, C#'s async-await pattern is an example of this.

      At the end of the day, node.js is still a relative irrelevance compared to things like C#/.NET, and the Java and C++ ecosystems, the fact it has some support isn't evidence of a step change in the industry. It's a tool like any other, but node.js problem is precisely that faced by competitors to OO in the first place - it's much harder to map real world problems into successful outcomes with it. Thus, whilst OO languages like C++, Java, and C# remain general purpose, node.js is still only really suitable for niche scenarios. As soon as you start trying to model incredibly complex problem domains, and as soon as your codebase reaches a substantial size, then node just doesn't scale sufficiently from a development (not performance) perspective to be an optimal choice.

      This is why class based OO will remain dominant until a whole new paradigm comes along that's better at mapping the real world to the software world, because it allows for better scaling of concepts. Software development is about more than just the technical, and that's what opponents of languages like C#, Java, C++ and the concepts surrounding them fail to get, and that's why their preferred technologies and paradigms never gain sufficient traction to take over whatever they may claim.

      Case in point, look at the creation and rise in popularity of things like TypeScript that exist precisely because the limitations of JavaScript's prototype based approach to OO mean that it just isn't sufficient to build larger applications efficiently. As web applications have become more complex the deficiencies of the prototype based OO present in JavaScript have become ever more obvious, and as such a class based OO approach is being developed to replace that. Somewhat ironically, this shows that if anything, contrary to your comments, for a technology like node to grow in popularity, it in fact has to become much more like a class based OO toolset such as C++. That is, it's not that JavaScript style OO is becoming more popular as highlighted by node, it's that node is becoming more like a class based OO language allowing it to become more popular via TypeScript.

  2. its classless to post stories about your own stuff by Anonymous Coward · · Score: 4, Funny

    It's really, really CLASSLESS to post stories about your own projects. That said, it's a preprocessor, that's all. Not seeing how this is different from say, PHP?

  3. Stale project, new news? by Anonymous Coward · · Score: 5, Insightful

    This repo hasn't had a commit in 2 years, why is this interesting now?

    1. Re: Stale project, new news? by Anonymous Coward · · Score: 4, Insightful

      That's just how late Slashdot is. When he submitted it, it was brand new.

    2. Re:Stale project, new news? by ls671 · · Score: 1

      No, there is a big commit on Apr 30, 2017 :
      Tag != attribute

      README.md

      -Use the `expose` tag to mark a public block of HTML.
      +Use the `expose` attribute to mark a public block of HTML.

      --
      Everything I write is lies, read between the lines.
    3. Re: Stale project, new news? by NicknameUnavailable · · Score: 2

      This has gotten ridiculous lately. Even science.slashdot.org tends to be 1-2 days behind drudge report.

    4. Re: Stale project, new news? by Anonymous Coward · · Score: 0

      Of course. They are focused on clickbait articles about Trump at The New York Slimes and Twuntingon Post.

  4. No thanks... by __aaclcg7560 · · Score: 2

    I use the Pelican static website generator for my static websites. I got Python to massage the data and Jinja2 for the template engine. I see no need to us OOP on the backend. If I did, Python can do OOP.

    1. Re:No thanks... by Anonymous Coward · · Score: 0

      Reading this byteboi/codefag language-laxr crap makes we want to vomit. A REX / BASIC syntaxed HTML mongrel is what casual website builders need. Where-the-fuck is that naturally trivial language? Oh ... the fuckin-A byteboi language-lizards have buried it under a pile of their OO bullshit. Rot-in-hell code-faggs!

  5. Not news by Anonymous Coward · · Score: 2

    It says:

    Latest commit d79333a on Jul 22, 2015 @Michaelkielstra Michaelkielstra Commented.

    That's 2 years ago, so I wouldn't call this news. Also, it's just a template engine, so it isn't new either.

  6. Re:its classless to post stories about your own st by __aaclcg7560 · · Score: 2

    I hope not. I'm still polishing my Python script for scraping Slashdot comment history. When I publish it on GitHub, I'll be submitting it to Slashdot. Anonymously, of course.

  7. html is a markup language by johanw · · Score: 3

    that describes the structure of a document. It is not a graphical design language, as most webdesigners think, or a programming language as most webdevelopers think. It is as much of either as LaTeX.

    1. Re:html is a markup language by Anonymous Coward · · Score: 0

      Nobody tries to program in HTML, although I have seen the DOM abused as an OO-ish data storage system in Javascript... if that is what TFA is talking about, then someone should politely ask them to stop.

    2. Re:html is a markup language by Anonymous Coward · · Score: 0

      LaTeX comes much closer to a programming language though, with its macros (and variables) and everything.

  8. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    But but I thought we were working to build a classless society! For Great SocJus!

  9. venerable language by phantomfive · · Score: 3, Interesting

    I'm suspicious of anyone who calls HTML 'venerable.' They should call it, "notorious" or "infamous," maybe, "expectorant." Marc Andreesen points out there are just problems with it, and I can't see OOP fixing things.

    So, I looked at this guy's project, and it's better than I expected. The major problem it solves is: "how do you avoid repeating yourself, while still keeping things flexible?" The common approach right now is to either throw it into a CSS library (like Bootstrap) or write Javascript to produce the HTML. The latter idea there sounds like a joke but it's not.

    In comparison, this lets you break things into components (like React does), but without any cost to the front end. Overall a good approach, but likely to get lost in the noise of a thousand other web frameworks.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:venerable language by Anonymous Coward · · Score: 0

      In comparison, this lets you break things into components (like React does), but without any cost to the front end. Overall a good approach, but likely to get lost in the noise of a thousand other web frameworks.

      Somehow we need fewer frameworks not more. For instance I've worked with WPF for awhile, and now I'm on JavaFX, though admittedly it is early. Those look remarkably similar. In a rational world we could get both sides to agree and just make them one framework, and while they are at it, just work on general usability. Separating much of the UI into reusable xml components is fine, but sometimes, at least with xaml you end up wanting to customize things just a bit more, and that is when things can get complicated. Quite a bit of thought and work must go into those components we all use, so that the person who uses the components doesn't have to deeply think about things. For instance one extreme annoyance of C#/wpf is always having to do everything through the dispatcher if you aren't already in a UI thread. It gets old, fast. Why not just make the code generally thread safe and then have options to turn off thread safety if you must have the additional performance? I haven't had to deal with that issue in javafx at all yet...

      Just viewing the source of a web page is usually an unpleasant experience. Sure given time you can trace through it, but it probably only becomes somewhat readable when you have the project that creates it all, and even then it is a bunch of interrelated technologies, and it is not one set, the total number seems almost countless. The TextScript / Angular / etc approach I've used recently works, but for how long? Also, a very common OSS problem I've seen is you end up finding "the solution" to a problem on google, only to find that the solution only applied to a previous version of the libraries. Perhaps people need to include more complex examples that they update. I don't know.

      Either way, OO is not a bad idea for html, but if it just becomes one of countless others, it is not a help. We really need to try to reduce the number of variations out there, while preserving what is good. If nothing else, we need it to be able to manage the attack surface from a security perspective.

    2. Re:venerable language by Cederic · · Score: 1

      I'm suspicious of anyone who calls HTML 'venerable.' They should call it, "notorious" or "infamous," maybe, "expectorant." Marc Andreesen points out there are just problems with it, and I can't see OOP fixing things.

      Hate it all you like, you have to admit that it's been a success by pretty much any measure. Tim got the basics pretty sound.

    3. Re:venerable language by ProzacPatient · · Score: 1

      I took a look at it and to me it appears to be a similar idea to the functionality of XSLT. Also a mandatory XKCD reference.

    4. Re:venerable language by phantomfive · · Score: 1

      you have to admit that it's been a success by pretty much any measure

      It wins in exactly one measure: popularity. It's a huge pain to get things on the page where you want them.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:venerable language by Dog-Cow · · Score: 1

      It's a huge pain to get things on the page where you want them.

      You're literally using it wrong.

    6. Re:venerable language by TheFakeTimCook · · Score: 1

      I'm suspicious of anyone who calls HTML 'venerable.' They should call it, "notorious" or "infamous," maybe, "expectorant." Marc Andreesen points out there are just problems with it, and I can't see OOP fixing things.

      So, I looked at this guy's project, and it's better than I expected. The major problem it solves is: "how do you avoid repeating yourself, while still keeping things flexible?" The common approach right now is to either throw it into a CSS library (like Bootstrap) or write Javascript to produce the HTML. The latter idea there sounds like a joke but it's not.

      In comparison, this lets you break things into components (like React does), but without any cost to the front end. Overall a good approach, but likely to get lost in the noise of a thousand other web frameworks.

      I'm suspicious of anyone who calls HTML a "LANGUAGE", let alone "venerable".

      Despite the "L" in the acronym, HTML is NOT a computer Language. It lacks several of the criteria. Must I list them for a Slashdot audience?

    7. Re:venerable language by Anonymous Coward · · Score: 0

      It's a markup language, not a programming language, dolt.

      Must I list the differences?

    8. Re:venerable language by BronsCon · · Score: 1

      Must I list them for a Slashdot audience? If you've been here long enough to remember a time when the answer to that question would have been "no", you've been here long enough to know the answer is "yes".

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    9. Re:venerable language by BronsCon · · Score: 1

      Ugh... HTML quote fail... Whatever, you know which part of that you wrote and which part was written by me...

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    10. Re:venerable language by TheFakeTimCook · · Score: 1

      Ugh... HTML quote fail... Whatever, you know which part of that you wrote and which part was written by me...

      I fingered it out, LOL!

      And actually, I was busy when I posted that, so decided to use the snarky comment to hide the fact that I was too lazy to find a reference to "What is necessary for something to be called a computer language?"

      Hey, "Snarky" without citation works for all the damn ACs; so why can't I use it once in awhile? ;-)

    11. Re:venerable language by TheFakeTimCook · · Score: 1

      Besides, Stack Overflow agrees with me that HTML, despite the "L", is NOT a Programming Language (pretty much for the reasons I was thinking).

      http://stackoverflow.com/quest...

    12. Re:venerable language by BronsCon · · Score: 1

      I'm not sure I'd use "Stack Overflow agrees with me" as a supporting argument. I mean, in this case you're not wrong, but... Just be careful with it :)

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    13. Re:venerable language by Anonymous Coward · · Score: 0

      write Javascript to produce the HTML. The latter idea there sounds like a joke but it's not.

      Can confirm. Was doing that very thing 15+ years ago.

    14. Re:venerable language by TheFakeTimCook · · Score: 1

      I'm not sure I'd use "Stack Overflow agrees with me" as a supporting argument. I mean, in this case you're not wrong, but... Just be careful with it :)

      They seem to be fairly level-headed for an internet forum. Sure, every forum has flamewars and trolls; but in my experience, they don't seem to be that bad...

      Maybe I've just been lucky, eh?

      Oh, and another reason I continue to use capitalization instead of HTML "font tags" for stuff, especially italicizing, is that, when I am home on my iPad, iOS insists on changing the "i" to "I" in that tag, and I can never remember if that tag is case-sensitive or not. My HTML knowledge is very weak; so don't flame me if I should know better than to keep correcting the damn italic-tags.

      Yes, I know I could turn off auto-correct (and I should); but it occasionally does me a solid; so I let it play its game... ;-)

      Now if someone would fix WebKit for iOS 9 (which is as far as my iPad 2 goes), so it stops getting clobbered by who-knows-what tags and forcing a re-render of the page. Browsing MacRumors.com, for example, is an exercise in utter frustration. And its not the only site. I'm about ready to use Opera or some other "remote-rendering" browser to avoid that most-annoying habit.

      Since you're a web guy, ya got any thoughts on that?

    15. Re:venerable language by BronsCon · · Score: 1

      For starters... ugh... HTML editing on iOS... not without a hardware keyboard!!! As for WebKit on iOS 9, it's up to the developers of a given site to decide what they want to support and make it work; I do find it ironic that MacRumors has issues on that particular platform, though.

      One commonly missed detail about web development is that web developers must write a single codebase that works everywhere. We don't get to fork our code for Windows, Mac, Linux, iOS, Android, and BlackBerry. We don't get to provide a different binary for each platform, complete with fixes and workarounds specific to that platform.

      Sure, we can throw a mish-mash of fixes and workarounds in the middle of our code, stuffed in some conditional statements, and that can work wonders if the user has Javascript enabled. If they don't, and the issues being worked around or fixed are in HTML or CSS (where the only other way to fix them is via UA sniffing), they just don't get the fix. If we opt to fix those issues via UA sniffing, and the user happens to use an add-on that masks or changes their user agent string (many proxies use their own UA string as well, so it might not always be the user doing it), they aren't gonna get the fix.

      In many ways I (a web developer and thus, in the eyes of many, not a real developer) miss desktop development. It's much simpler to get everything right on a given platform, then port to the next platform you wish to support, or develop multiple platforms in parallel with conditional fixes (which are applied by the compiler once it knows which platform it's targeting during the build process) or forks (wherein you apply platform-specific fixes only to the relevant fork). Did I mention I'm also a desktop guy (e.g. a real developer in the eyes of zealots who don't understand that web development is actually more difficult)?

      Desktop is simply not where my money comes from anymore, because I do web development right and clients are willing to pay a premium for that over how most web developers operate. The main difference is, with desktop and mobile development, you get to choose which platforms (and versions) you will support. With web development, the users decide and you either support them or look bad.

      In this case, sadly, MacRumors has chosen "look bad" as their option. I can't really blame them; they may not have the means to test on that platform and it's better to make it clear you've abandoned a given platform than to look like you simply lack the competence to make it work.

      Now, that's not to say everything I put out there is perfect. I have one client for whom I am working on an inherited codebase that is just a nightmare of intertwined dependencies and references piled on top of legacy code relying on versions of libraries that no longer support current versions of IE, so much of the javascript on their site is currently broken on IE9 and newer as a result. I know of the issue (clearly), as do they, and they have decided other matters are more pressing until I can hire someone to keep progress going while I refactor the mess and update the older code to no longer use methods which have been removed from current versions of the aforementioned libraries (and are deprecated in the versions currently in use).

      I display my brand slightly less prominently than that of the original developer in the footer of their site. After the refactoring, which will more resemble a full rewrite, my logo will take up the space currently shared by both and the original vendor's logo will be removed. I intend to keep so little of the original code that it will bear no resemblance to the product it is based on; there will be nothing left to give them credit for.

      Of course, if this were a desktop application, I could simply not provide a binary for that secondary platform and there would be nothing to fix. How easy the desktop guys have it, and they don't even realize!

      As for why I'm able to "get away with" ignori

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    16. Re:venerable language by phantomfive · · Score: 1

      That's true. As long as nesting things in HTML has a visual meaning, people will use HTML 'wrong'

      --
      "First they came for the slanderers and i said nothing."
  10. oh god no by Anonymous Coward · · Score: 0

    No, just no.

    We need this as much as we need Flash, Silverlight, Quicktime, RealPlayer, WinZIP, and systemd.

    Please make it stop!

    No, do not want!

  11. 2 years old by Anonymous Coward · · Score: 0

    pretty old news, latest commit is 2 years old

    1. Re:2 years old by macraig · · Score: 1

      Indeed.

  12. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    Scraping Slashdot is both child's play and not worth it. You're one of the only people here that actually posts under a name that is traceable to a real person. All the accounts here are just AC with Karma.

  13. html sucks by Anonymous Coward · · Score: 0

    Html sucks and I don't think this is the answer. What's really needed is something which completely hides the mess of html+css like a compiler hides binary which you never actually look at. Then make your website in python or something (and I don't mean with templates like django).

    1. Re:html sucks by __aaclcg7560 · · Score: 1

      What's really needed is something which completely hides the mess of html+css like a compiler hides binary which you never actually look at.

      Adobe Dreamweaver and Microsoft FrontPage I remembered quite well. As a software testing intern (circa 1997), I had to clean up the HTML/CSS whenever a graphic designer couldn't get her sliced image to line up neatly in the table rows.

    2. Re: html sucks by Anonymous Coward · · Score: 0

      Did you export the data into to CSV format and then import into Microsoft Excel?

    3. Re: html sucks by __aaclcg7560 · · Score: 1

      Did you export the data into to CSV format and then import into Microsoft Excel?

      Post to the wrong thread, friend?

    4. Re: html sucks by Anonymous Coward · · Score: 0

      HTML is fine. CSS is fine. Cut out the contrarian crap

    5. Re: html sucks by Anonymous Coward · · Score: 0

      No he is taking the piss because CSV is probably one of the worst ways to store verbose text data, as all escaping sequences are likely to turn up in the text, plus newline characters complicate record delimiting. Out of interest, how are you handling this?

    6. Re:html sucks by RightwingNutjob · · Score: 1

      Abstraction sucks. If I want my webpage to display text and a picture, I can type the text into a p tag and the picture link into a img tag. Simple, easy, does what's expected, loads in a snap. Piling idiot framework on top of idiot framework to get the same thing done slower and stupider is not forward progress in technology.

    7. Re: html sucks by __aaclcg7560 · · Score: 1

      No he is taking the piss because CSV is probably one of the worst ways to store verbose text data, as all escaping sequences are likely to turn up in the text, plus newline characters complicate record delimiting.

      Wrong thread then. I used a text editor to fix HTML back in 1997.

      Out of interest, how are you handling this?

      Python and Beuatiful Soup 4 to parse the HTML tree. Once I have the comment text, I use string manipulation to remove the newlines, extraneous tags and white space. The end result is straight HTML.

      This is what the previous comment looks like in the CSV file:

      <div class="quote"><p>Did you export the data into to CSV format and then import into Microsoft Excel?</p></div><p>Post to the wrong thread, friend?</p>

    8. Re: html sucks by Anonymous Coward · · Score: 0

      If so good why do we never use it to creat native program interfaces and rather use something like qt?

    9. Re: html sucks by Anonymous Coward · · Score: 0

      how are these on any way like python or some other programming language?

    10. Re: html sucks by __aaclcg7560 · · Score: 1

      how are these on any way like python or some other programming language?

      Spaghetti code.

    11. Re: html sucks by Anonymous Coward · · Score: 0

      How do you escape the comma?

    12. Re: html sucks by Anonymous Coward · · Score: 0

      *crickets*

      LOL

    13. Re: html sucks by __aaclcg7560 · · Score: 1

      How do you escape the comma?

      I don't. The csv module handles the details.

      The csv module implements classes to read and write tabular data in CSV format. It allows programmers to say, "write this data in the format preferred by Excel," or "read data from this file which was generated by Excel," without knowing the precise details of the CSV format used by Excel. Programmers can also describe the CSV formats understood by other applications or define their own special-purpose CSV formats.

    14. Re: html sucks by Anonymous Coward · · Score: 0

      So the module must conform to these requirements then?

      http://stackoverflow.com/questions/12473480/how-should-i-escape-commas-and-speech-marks-in-csv-files-so-they-work-in-excel

      Seems a little half-assed creimer. I don't think mixing HTML with Excel's arbitrary CSV rules makes for a very portable or useful file format. If you're going to go all-out with HTML then you should simply encode your commas as HTML entities, though it leaves the dangling problem of how to handle the quotation marks, plus I doubt Excel plays nice with them. Since the quotation marks are optional for CSV files, it is certainly possible to omit them.

      Anyway, this thread has gone on long enough over such a trifling thing, good luck keeping control over your file.

    15. Re: html sucks by __aaclcg7560 · · Score: 1

      So the module must conform to these requirements then?

      Yes, by default.

      I don't think mixing HTML with Excel's arbitrary CSV rules makes for a very portable or useful file format.

      I've yet to have a problem saving my 8,000+ comment history to CSV. Don't worry. HTML, JSON, Markdown and XML are coming soon.

      Anyway, this thread has gone on long enough over such a trifling thing, good luck keeping control over your file.

      A thread doesn't end until it has 256 comments. The system won't let you comment after that.

  14. Re:its classless to post stories about your own st by __aaclcg7560 · · Score: 1

    Scraping Slashdot is both child's play and not worth it.

    I found it quite useful. For example, someone said I wrote "dead wood" in a past comment. With my 8,000+ comment history in a CSV file, I ran a search for "dead wood" in Excel and a few seconds later found nothing.

    You're one of the only people here that actually posts under a name that is traceable to a real person.

    One of the advantages of having a named account.

    All the accounts here are just AC with Karma.

    I've never been able to tell one asshat from another asshat.

  15. OO by Anonymous Coward · · Score: 0

    Noooo... please, no.

  16. HAHAHAHAHAHA! by Anonymous Coward · · Score: 0

    (facepalm)

  17. I don't see any OO by Half-pint+HAL · · Score: 3, Interesting

    The Github page doesn't give any examples that look like OO to me, which is A) not surprising, because what the hell would an OO markup language look like and B) very surprising, given that the whole DOM is OO from the ground up in modern rendering engines.

    Anyway, on a tangent...

    I see no real call for OO in web rendering, but the one thing I think is missing from HTML is the ability to parameterise things like column widths etc. Why cant I call column 1's width "x" and ask the renderer to make column 2's width "3x"? Or use these parameters across tables, so that the columns in table 1, table 2 and table 3 are all the same size?

    I know this can be done with CSS, but in order to do that, I need to choose a particular size -- I can say "I don't care about the actual size, but these 3 things should all be as big as each other."

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    1. Re: I don't see any OO by dishpig · · Score: 1

      The reason HTML doesn't do that is that it's not about prentation. It's a semantic language, describing types and the semantic relationship of things to other things. CSS is a presentational language, concerned with layout (like width /height), colour, size, and other visual relationships. Properties like height don't mean anything to a screenreader.

    2. Re:I don't see any OO by darkain · · Score: 2

      column sizing with X, and then X*3 or whatever for the next is actually possible now with flex-box. Instead of setting actual sizes, you can just set ratios (example, width:10px on first, width:30px on the next), and set the columns to flex-grow:1. This will grow them out proportionally to fill up their parent container width, instead of staying the fixed input value. Essentially it works like old HTML table formatting, but with quite a bit more granularity, and each row can optionally be different proportions (unaligned columns)

    3. Re: I don't see any OO by Anonymous Coward · · Score: 0

      you can make columns/rows of things fill spaces evenly in css with flexbox; which works in all modern browsers.

    4. Re:I don't see any OO by Anonymous Coward · · Score: 0

      Because the browser is supposed to render the page however it feels is best for the end user. As a web developer, you're not supposed to be manually doing that.

      That's why the web is so fucked up. Very few people actually use it the way it was designed to be used. Instead now we have shit pilled on crap to do things that were supposed to be taken care of for us. I don't fully understand my industry. Apparently if it isn't hard to do then it isn't worth doing. We have to artificially make everything harder than it needs to be.

    5. Re:I don't see any OO by Anonymous Coward · · Score: 0

      I know this can be done with CSS, but in order to do that, I need to choose a particular size -- I can say "I don't care about the actual size, but these 3 things should all be as big as each other."

      Umm, yeah, about that.

      table {
        display: flex;
      }
      #col1 {
        flex: 1;
      }
      #col2 {
        flex: 1;
      }
      #col3 {
        flex: 1;
      }

    6. Re:I don't see any OO by Waccoon · · Score: 0

      Why cant I call column 1's width "x" and ask the renderer to make column 2's width "3x"? Or use these parameters across tables, so that the columns in table 1, table 2 and table 3 are all the same size?

      Reworking the rendering engine to do that takes time and money. If web browser developers are going to spend any effort doing something, it'll be to remove features we've been using happily for 15 years, enhancing the user experience with more telemetry, "brand awareness", or fishing for excuse why nobody needs vertical tabs.

    7. Re:I don't see any OO by Anonymous Coward · · Score: 0

      Aside from flex-box, which is pretty new, you could also use percentages. Column 1 can be 10%, column 2 can be 30% -- you can also specify the width of the table as a percentage of the parent container. Oh, and with CSS classes, you can share those parameters across tables.

      I know this can be done with CSS, but in order to do that, I need to choose a particular size

      You already want to set a particular size, expressed in relative terms. Just use a relative unit, like percentages. I don't know how you've managed to miss this.

      I can't say "I don't care about the actual size, but these 3 things should all be as big as each other."

      Yes can. You've been able to do that for ~20 years. You just didn't know how. Now you do.

    8. Re: I don't see any OO by Half-pint+HAL · · Score: 1

      The reason HTML doesn't do that is that it's not about prentation. It's a semantic language, describing types and the semantic relationship of things to other things. CSS is a presentational language, concerned with layout (like width /height), colour, size, and other visual relationships. Properties like height don't mean anything to a screenreader.

      I completely, completely get the point of semantic markup. However, I see "these two things are the same" as being part of semantics. Say I want to take a table published by someone else, and split it into multiple segments and comment on them after the rows. Suddenly, I now have ten tables instead of one single table. Each time I start a "new" table, the HTML renderer will render it independently of the previous ones. If I could set the column widths to table_col_width1, table_col_width2, ... , table_col_widthN; the renderer would know that the columns in all the tables are the same, and to me that's entirely in line with the concept of semantic markup.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    9. Re:I don't see any OO by Half-pint+HAL · · Score: 1

      Because the browser is supposed to render the page however it feels is best for the end user. As a web developer, you're not supposed to be manually doing that.

      That's why the web is so fucked up. Very few people actually use it the way it was designed to be used. Instead now we have shit pilled on crap to do things that were supposed to be taken care of for us. I don't fully understand my industry. Apparently if it isn't hard to do then it isn't worth doing. We have to artificially make everything harder than it needs to be.

      My mistake was mentioning proportionality. The most basic use case for parametrisation of column widths would be a semantic one, and not a design one. If I have two tables that are supposed to be the same -- that are supposed to mean the same thing -- and I leave them to render as the engine sees fit, then visually they become different and semantics of the content are lost to the human reader. Maybe verb tables on a language learning site; maybe a single table that I want to break into sets of rows with annotations between them. If /. allowed tables in HTML posts I'd show you an example.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    10. Re:I don't see any OO by Half-pint+HAL · · Score: 1

      Aside from flex-box, which is pretty new, you could also use percentages. Column 1 can be 10%, column 2 can be 30% -- you can also specify the width of the table as a percentage of the parent container. Oh, and with CSS classes, you can share those parameters across tables.

      I know this can be done with CSS, but in order to do that, I need to choose a particular size

      You already want to set a particular size, expressed in relative terms. Just use a relative unit, like percentages. I don't know how you've managed to miss this.

      I can't say "I don't care about the actual size, but these 3 things should all be as big as each other."

      Yes can. You've been able to do that for ~20 years. You just didn't know how. Now you do.

      I know about percentages, but percentages are useless. If I have a small table (say 3 columns of 1-10 characters each), it may well be 100% of a mobile phone screen, but I wouldn't want to fill out 100% of desktop monitor with it. As soon as we start using percentages (which I learned ~20 years ago, incidentally) we are talking about size. I don't want to talk specifics, I just want to state a semantic relation between two items.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    11. Re: I don't see any OO by Anonymous Coward · · Score: 0

      I completely, completely get the point of semantic markup. However, I see "these two things are the same" as being part of semantics.

      Use the class attribute to indicate sameness amongst HTML elements, and CSS to control their appearance.

      Say I want to take a table published by someone else, and split it into multiple segments and comment on them after the rows. Suddenly, I now have ten tables instead of one single table. Each time I start a "new" table, the HTML renderer will render it independently of the previous ones. If I could set the column widths to table_col_width1, table_col_width2, ... , table_col_widthN; the renderer would know that the columns in all the tables are the same, and to me that's entirely in line with the concept of semantic markup.

      Pretty sure this can be accomplished by putting class attributes on <col> elements and using CSS rules to set the widths.

      It might be better to keep it as one table and insert your comments in new rows that span all of the columns.

    12. Re:I don't see any OO by omnichad · · Score: 1

      Those are percentages of their container. Just make sure the container flows the way you want and it will fill 100% of that container.

    13. Re:I don't see any OO by Anonymous Coward · · Score: 0

      in other words, you want cell1 to be 25% of the total width, and cell2 to be 75%.

      if only there were a way to do that...

      yeah, yeah, box models and borders and margins, etc al, it just takes discipline and some entry level knowledge of the markup and rendering engine quirks

    14. Re: I don't see any OO by Half-pint+HAL · · Score: 1

      The point is that I don't want to set the widths -- I want the rendering engine to pick whatever width suits the screen. I want to be able to same than element X should be the same size as element Y, without saying what that size actually is.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    15. Re:I don't see any OO by Anonymous Coward · · Score: 0

      There's a PHP framework called SPIP http://www.spip.net/ that presents the opportunity to do much of what OO could bring to HTML.
      And the community at http://www.spip-contrib.net/ have frameworks built ON TOP of that which are form-filling exercises to provide variables as you so describe for your formatting, e.g. sarka-spip.
      SPIP 3 allows you to create and manipulate your own custom-defined objects - I've done it myself.
      It's just another CMS, sure, but it's basically mandated for all French government public bodies, so it's not going away in a hurry.

      Oh, and it's free.
      And international.
      And it EVEN recognises UTF-8 ;)

  18. And the point is? by Anonymous Coward · · Score: 0

    Frontend developers spend about 1/1000th of their time writing html (or they are doing it wrong). Why bother with this?

  19. Don't give the C++ standardization team any ideas by Anonymous Coward · · Score: 1

    We already have enough features.

  20. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    How or why do you put entire text comments into a *CSV* file? Are you a retard?

  21. Java? KILL IT! by Anonymous Coward · · Score: 1, Insightful

    Made in Java? Born dead, hahahaha!

  22. Another jQuery? by guruevi · · Score: 1

    Spare us, there are various JS packages that allow you to attach objects and methods to HTML tags.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  23. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    He's scraping Slashdot to help him debate people on his post history...so at the very least, clinically insane.

  24. Re: its classless to post stories about your own s by Brockmire · · Score: 1

    Comment separated values, of course. Now who is the retard?

  25. Re:its classless to post stories about your own st by __aaclcg7560 · · Score: 1

    How or why do you put entire text comments into a *CSV* file?

    I can import the CSV file into Excel for data analysis. I haven't written the functions to store the comments in HTML, JSON or Markdown files.

    Are you a retard?

    Don't work with big data?

  26. Re:its classless to post stories about your own st by Megol · · Score: 1

    Really? I think you strongly underestimate the data and metadata available on the net. Pseduo-anonymous accounts, sure, but for people like me that uses a nickname/tag/handle (whatever) on many sites it normally isn't too hard to link a user name to a "real" name.

  27. Re:its classless to post stories about your own st by __aaclcg7560 · · Score: 1

    He's scraping Slashdot to help him debate people on his post history...so at the very least, clinically insane.

    That's one purpose. I've wrote quite a few stories on Slashdot over the years, most I remembered and some I have forgotten. I plan to write a series of essays on my misadventures in Silicon Valley.

  28. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    No, it's not, b/c the submitter acknowledged he was promoting his own work. It would be classless if he tried to hide the connection by saying "I found this neat project on Github..."

  29. Re:its classless to post stories about your own st by fahrbot-bot · · Score: 1

    Not seeing how this is different from say, PHP?

    Maybe this won't suck. :-)

    --
    It must have been something you assimilated. . . .
  30. Wait is this PHP by future+assassin · · Score: 1

    2.0?

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
  31. Re:its classless to post stories about your own st by __aaclcg7560 · · Score: 1

    I think you strongly underestimate the data and metadata available on the net.

    Here's the metadata for my comment history:

    Pages Processed: 558, Comments (Accepted/Total): 8346/8358
    Scores (8346) | -1: 72, 0: 328, 1: 6201, 2: 928, 3: 367, 4: 304, 5: 146
    Bonus (1157) | Flamebait: 30, Funny: 277, Informative: 186, Insightful: 305, Interesting: 248, Offtopic: 43, Redundant: 9, Troll: 59
    Total Time: 00:27:57.00

  32. Pull requests by PJ6 · · Score: 1

    as in, pull my finger?

  33. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    You need to get out more precious.

  34. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    You need to get out more precious.

    My comment history goes back to 2008. Not sure what happened to the comments from 1999 to 2007.

  35. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    Be sure to include a chapter on how you went to community college. That's the sort of unique experience that most of the rest of us here have never experienced, since we went to a real college (or university, for those Brits among us).

  36. Re: its classless to post stories about your own by Anonymous Coward · · Score: 0

    So your CSV 'database' is woefully incomplete, with it missing almost a decade of comments. Yet in another comment here today you wrote, 'I ran a search for "dead wood" in Excel and a few seconds later found nothing.' Has it occurred to you that the comment you say you can't find might exist within the years you do not have data for?

  37. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    How many women have you made love to during that same period of time? Please break it down by real women, women you've just fantasized about, women who had penises, and crevices within upholstered furniture.

  38. epic fail by Anonymous Coward · · Score: 0

    Self-submitting your two year stale project? Michael Kielstra, you're an ass.

  39. SW Industry Needs To Do Better by Anonymous Coward · · Score: 0

    You have javadocs on many of your functions, thank you. You didn't program defensively. There are potential bugs all over the place. For example, what if someone had a malformed command line arguments? Your program will crash. There's no error checking to handle things like that. When you program defensively, you often end up writing more error handling code than 'real' code, but your program is as stable as a skyscraper foundation and you can have trust and pride in the quality of your work.

  40. Re: its classless to post stories about your own by __aaclcg7560 · · Score: 1

    So your CSV 'database' is woefully incomplete, with it missing almost a decade of comments.

    My "database" is incomplete because Slashdot no longer has my earlier comments. Some kind of housekeeping or accident may have deleted my earlier comments.

    Yet in another comment here today you wrote, 'I ran a search for "dead wood" in Excel and a few seconds later found nothing.' Has it occurred to you that the comment you say you can't find might exist within the years you do not have data for?

    That was in reference to earlier discussion that took place in recent months. The words "dead wood" or "deadwood" aren't words that I normally use, especially in reference to my government IT job.

  41. you lost me at .jar. by Anonymous Coward · · Score: 0

    Is it 1994?

  42. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    Be sure to include a chapter on how you went to community college. That's the sort of unique experience that most of the rest of us here have never experienced, since we went to a real college (or university, for those Brits among us).

    That might be a separate book unto itself. I spent eight years in Special Ed classes, skipped high school, went to community college for four years (two years of remedial coursework and two years for General Education), transferred to the university, got kicked out of the university, and went back to school a decade later to get my A.S. degree in Computer Programming.

  43. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    How many women have you made love to during that same period of time? Please break it down by real women, women you've just fantasized about, women who had penises, and crevices within upholstered furniture.

    Whatever James Bond did, I did it twice as much. ;)

  44. Re: its classless to post stories about your own by Anonymous Coward · · Score: 0

    Have you ever found anybody who cares about your life story? Or do you just keep posting it because it's either that or cutting and you're all out of razor blades?

  45. Re: its classless to post stories about your own by Anonymous Coward · · Score: 0

    Perhaps someone else used it when giving his opinion of your curriculum vitae?

  46. Re: its classless to post stories about your own by __aaclcg7560 · · Score: 1

    Have you ever found anybody who cares about your life story?

    Yes. I'm known as the guy with the funniest stories at work.

    Or do you just keep posting it because it's either that or cutting and you're all out of razor blades?

    I'm living out my favorite demotivator poster that hangs in my home office: "Mistakes: It could be that the purpose of your life is only to serve as a warning to others."

  47. Idiot by JustAnotherOldGuy · · Score: 1

    "I built an HTML preprocessor that adds inheritance, polymorphism, and public methods to this venerable language"

    HTML isn't a programing language. It's markup language, and it doesn't need you polluting it with bullshit like this.

    --
    Just cruising through this digital world at 33 1/3 rpm...
  48. Dumb by Anonymous Coward · · Score: 0

    Why didn't you use Actor Mode

  49. XSLT still seems like the better choice by AC-x · · Score: 1

    XSLT still seems like the better choice to me, as it's geared towards taking actual machine readable data (XML) and transforming it into HTML. With your system you would have to already be outputting your data as HTML for it to be further transformed into the final markup.

    1. Re:XSLT still seems like the better choice by Anonymous Coward · · Score: 0

      Are you saying HTML isn't machine readable? Actually the W3C moved away from XML in browsers years ago because it's a horrible mess. Overly strict and results in lots of parsing and encoding errors because the browser isn't allowed to try to make sense of anything less than perfect XML. Using valid(*) HTML as a templating language seems a good choice to me. Of course it's nothing new, and there's not much justification for calling it OO. The Document Object Model is already OO.

      (*) valid if the tag/attribute name extensions are properly declared

    2. Re:XSLT still seems like the better choice by omnichad · · Score: 2

      because it's a horrible mess

      It wasn't a horrible mess. Developers made horrible messes with it. And browsers did try to make sense of imperfect xHTML. I don't know of one that wouldn't render something when it came across errors.

      I still type HTML in somewhat valid xHTML, even when incorporating HTML5-specific tags - because the alternative just isn't readable.

  50. Re:its classless to post stories about your own st by Anonymous Coward · · Score: 0

    It's almost as hideous as the idea of Coldfusion and Spark back in the day (they went the way of the dinosaur for a reason).
    The only reason anyone would care about this is if it actually integrates neatly with html (which it almost does. parameters without value aren't exactly common in html).
    The practical problems will undoubtedly start coming as it blurs the lines between backend and frontend code too much to make out what exactly you are doing.
    That is where PHP makes more sense than this, and coldfusion and spark. (there is a clear indication of where the PHP starts and ends)

  51. Those who forget the lessons of history... by Anonymous Coward · · Score: 0

    Repeat after me:

    HTML describes content, not layout

    Object oriented makes no sense here because there is no hierarchical data structure to encapsulate - the tags are descriptions, not content!

  52. So he's re-invented ZOPE ... by Anonymous Coward · · Score: 0

    Yawn.

  53. Spare us. by Anonymous Coward · · Score: 0

    Another cynic whose dismissive apathy paves the way for techies to reject hard work in favour of glassy-eyed masturbation, just what the world needs.

  54. Twig by zifn4b · · Score: 1
    --
    We'll make great pets
  55. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    CVS files for big data?? I never went to community college but I'm pretty sure a database is the best place for big data. I can't even find a text editor that will load a multi gigabit sql file.

  56. Re: its classless to post stories about your own by BronsCon · · Score: 1

    I've seen you around a bit, but I've never seen you getting shit on like this, the same way I often do, for being a real person. Ever notice how it's never done by anyone with an account that can be linked back to a real person?

    I know it's hard (I routinely fail at it myself) but the best thing to do is look at who's posting and, if you can't figure out who the person at the keyboard actually is, just ignore it.

    This is in no way a judgment; as I said, I routinely fail at it myself. The hardest part is remembering to look at the username of every post before replying. All too often I'll be conversing with one person and not notice than someone else has butted in.

    --
    APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
  57. Re: its classless to post stories about your own s by parkinglot777 · · Score: 1

    Be sure to include a chapter on how you went to community college. That's the sort of unique experience that most of the rest of us here have never experienced, since we went to a real college (or university, for those Brits among us).

    I am not sure why you would say that??? It sounds like an insult to me. I went through a community college, and then transferred to a public university after I graduated from the community college. University don't teach freshman and sophomore classess better than a community college anyway because those classes aren't that useful but rather a transition from High school to college level. Why should I pay 2x~3x times tuition just to get not-so-useful knowledge, let alone other fees? To me, community college is a good and economic way to get through higher education.

  58. Web components without the best parts by d0rp · · Score: 1

    So it looks like this is supposed to solve the same "problem" that web components was created to solve, but without all of the interesting parts like CSS, Javascript, Shadow DOM, and (run-time) HTML imports...

    1. Re:Web components without the best parts by johanmynhardt · · Score: 1

      Hah! I was thinking just about this. I'm somewhat in love with Web Components the more I work with it and see where it will go in the future.

  59. Re: its classless to post stories about your own by Anonymous Coward · · Score: 0

    So you and James Bond have two things in common then. You both laid a lot of woman and both work for the government xD

  60. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    CVS files for big data??

    I routinely work with CVS files that are exported from the database. Since CVS files are text files, I can use this DOS command to merge multiple CVS files into a single 70MB+ CVS file.

    copy *.cvs everything.cvs

    With a single CVS file, I can open it in Excel and do my daily work.

    I never went to community college but I'm pretty sure a database is the best place for big data.

    Big data wasn't taught when I went to community college over a decade ago. I did take a course in database management for web developers. Most users today don't have direct access to the database and need to use CSV files instead.

    I can't even find a text editor that will load a multi gigabit sql file.

    Have you tried UltraEdit? It supports editing 4GB+ files from disk with minimum RAM usage.

    https://www.ultraedit.com/

  61. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    I am not sure why you would say that???

    Whenever someone brags about having a university education, it means that they want you to sniff their underwear because you're a lowly-educated peon in comparison, or they're insecure about the very expensive education that took out loans for but have nothing to show for. Some of the stupidest people I know have graduated from universities.

  62. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    Some of the stupidest people I know have graduated from universities.

    Well you've got to consider where you work. People who have an AA with your job are doing all right for themselves. People with a degree who still have your job are more likely to be stupid.

    Obviously there is a relationship between intelligence and college degrees, even if it's not direct - Google says people with a Bachelor's have an average IQ 9 points higher than people with an AA.

  63. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    Well you've got to consider where you work.

    Not sure if that's a valid comparison. We have people with a high school diploma and 20 years in the military. A mixed bag of AS/BS degrees. A team lead who is studying for her masters in computer engineering 20 years after she got her high school diploma.

    Obviously there is a relationship between intelligence and college degrees, [...]

    I never gave a shit about IQs. I spent eight years in Special Ed classes being told that I'm stupid, skipped high school, and got two associate degrees without any student loans. If you're smarter than me because you have BS degree, so what?

  64. Reinventing XML? by allo · · Score: 1

    Didn't they get the message, that you now use javascript to create

    asdf

    by writing html("p").html("b").content("asdf"), so that the website takes longer to render and doesn't work with browsers which disabled javascript?

  65. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    If you're smarter than me because you have BS degree, so what?
    But you were talking about people who have BSs who aren't you. If it's "so what," why bring it up in the first place?

  66. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    But you were talking about people who have BSs who aren't you. If it's "so what," why bring it up in the first place?

    I'm not going to worship the ground you walk on because you went to the university and I went to community college. Guess what? I transferred to the university — and got kicked out in my junior. The snobbery doesn't impress me. I've known people with no degrees who were smarter than me. I've known people with higher degrees who are stupider than me.

  67. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    70MB+ CVS file.

    big data

    LOL

    Most users today don't have direct access to the database and need to use CSV files instead.

    What utter rubbish. Want a quick and easy database? Sqlite. It's self-contained, no configuration required, fast, and efficient. You don't want to run your production services with millions of users on it, but for a quickly and easily mucking about with data sets on a dev system, it's perfect.

    Loading gigs of data into a CSV so you can muck about with it in an excel spreadsheet is just fucking dumb.

  68. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    Sqlite. It's self-contained, no configuration required, fast, and efficient.

    Not sure if they run that in a Windows shop.

    Loading gigs of data into a CSV so you can muck about with it in an excel spreadsheet is just fucking dumb.

    Yet thousands of my coworkers do that to work on a small slice of the data set daily.

  69. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    Obviously there is a relationship between intelligence and college degrees, even if it's not direct - Google says people with a Bachelor's have an average IQ 9 points higher than people with an AA.

    Mostly there's a relationship between college degrees and people with money. As for the IQ differences, if you take (or at least look at) enough IQ tests, you'll find that many (most?) are designed in such a way that they are more reflective of your education level and social background than actual intelligence.

  70. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    Not sure if they run that in a Windows shop.

    It's available on Windows. And you specifically were talking about YOUR OWN use - why can't YOU run that in a windows shop?

    Yet thousands of my coworkers do that to work on a small slice of the data set daily.

    The fact that thousands of your coworkers do it daily doesn't make it smart. Thousands of people commit suicide every year - that doesn't mean it's a good idea. It's still pretty fucking dumb, no matter how many people do it.

  71. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    And you specifically were talking about YOUR OWN use - why can't YOU run that in a windows shop?

    You misunderstood my comments. I'm using CVS files at home AND at work. My Python script at home requires four lines of code to save data to a CVS file. I don't have direct access to the database at work, but I can export a small slice of the data set into a CSV file to use in Excel.

    The fact that thousands of your coworkers do it daily doesn't make it smart.

    When I worked at Google to build out a data center, I asked the project manager why the serial numbers for the port mappings were scanned into an Excel spreadsheet and not into a text file. Two reasons: spreadsheets can be open in Excel and Python can read/write data from spreadsheets (either Excel or CSV formats).

  72. Re: its classless to post stories about your own s by Anonymous Coward · · Score: 0

    I don't have direct access to the database at work,

    What part of self-contained database do you not understand? Save the sqlite database to a file, copy the file to a USB key, and you have access to it anywhere you've got a computer.

    When I worked at Google to build out a data center, I asked the project manager why the serial numbers for the port mappings were scanned into an Excel spreadsheet and not into a text file.

    "Hey boss, instead of doing this stupid thing, why don't we do this OTHER stupid thing?"

    Again: just because a lot of people do it, does not mean it's the smart thing to do. Asset tracking in a spreadsheet that gets mailed around and manually edited is monumentally dumb, even if Google does it.

  73. Re: its classless to post stories about your own s by __aaclcg7560 · · Score: 1

    What part of self-contained database do you not understand? Save the sqlite database to a file, copy the file to a USB key, and you have access to it anywhere you've got a computer.

    Why would I use this for my own project then? My script scrapes my Slashdot comment history to a CSV file. From there I can import CSV into Excel and search for comments. Or if I want to get fancy, import it into Filemaker Pro and design forms for it.

    Asset tracking in a spreadsheet that gets mailed around and manually edited is monumentally dumb, even if Google does it.

    A CSV file is an intermediate format. It can be imported into a database or manipulated with Python for data massaging. Just because it isn't your preferred solution doesn't make it stupid.

  74. Anyone actually still using inheritance? by YoungManKlaus · · Score: 1

    Sounds like the 90s called. These days, composition is the new king.