Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Microjs (microjs.com)
274 points by breck on July 30, 2024 | hide | past | favorite | 60 comments


Fun fact: Moment.js was at some point on this website at 3.7kb[1]. Of course that changed over its lifetime.

   [1]: https://github.com/microjs/microjs.com/pull/242/files


> March 27th 2012 was 12 years, 4 months and 3 days ago, which is 4,508 days.


Now the big question, did you figure out that time date diff with moment.js?

Bonus points if it's the version from March 27th 2012.


Wow, what a blast from the past! I remember looking for libs there back in 2011. Thanks for rekindling those memories.


It even still looks the same! Man I miss those days. Bring back RequireJS and/or browserify


You can still use those tools, but good luck. There's a reason most of us have stopped using them


I mean fwiw, native web esmodules now work basiaclly the same as require did back in the day so you can get the same vibe with no build step


Requirejs does not have a mandatory build step.


correct, that was part of my point


Neither do esmodules


Yeah I love it, I wish it was adopted more widely but alas, Webpack and Parcel run my world today


More fond memories: http://script.aculo.us/


I remember getting a drag-and-drop, sortable interface for a blog-widget configurator in Go Daddy's Quick Blog app using script.aculo.us back in 2006 or 2007. Worked perfectly except in IE6 and it took three days of hard dev to get that correct.

jQuery and jQuery UI quickly overshadowed this fun little library.


It was bittersweet that it got overshadowed by jQuery. jQuery was also by some of my favorite people in tech. Another blast from the past is Visual jQuery. I don't know if it's online anywhere :/ https://github.com/jquery-archive/visual-jquery/blob/master/... https://blog.jquery.com/2006/09/02/taking-jquery-documentati...


I miss the yayquery podcast every day.


Used to blow my mind. Didn't understand a lick of it at the time.


Exactly how I felt as a teen/pre-teen.

Prototype had a bid of a rep for being harder than jQuery to pick up.

This made me think of dōjō so I looked it up and it seems like it's going strong (last release 3 years ago, initial in 2006).


Wow, I remember that I found Zepto.js in 2012 on this site.


I wonder if someone could create a new #1 Javascript central package repository simply by enforcing the rule of every package must be under 10KB un-minimized and copy/pasteable in a single file.


So that things like React could be distributed as a collection of hundreds of interconnected single-function tiny modules?


Just don't make it easy for them by showing them https://github.com/breck7/scroll/tree/main/parsers


Pretty cool. Is there a micro framework for showing 360° photos and videos? Ideally with support for orientation sensors in mobile devices and HMDs (2d/3d) :-)


OMG this is still alive! Brought a smile on my face :)


to*


I went here the other day to find an image gallery which in the end wasn't maintained anymore.

I loved this website and went here often for inspiration.


Don't forget MooTools.


To this day I still don’t know why, but I used to love MooTools.


Don't feel bad, you weren't the only one. I used it in a bunch of big production projects.


I wish there was a website like this for typescript.


If you’re using TypeScript then you have a build step and package manager like NPM, which means packages and libraries are published in the NPM package registries.

This website was from/for an era where you hotlink the scripts.


Wow, I’m feeling a bit nostalgic right now!


still have this bookmarked from over a decade ago


[flagged]


Javascripts fine, its the crummy ecosystem with awful backwards compatability and the shiny object syndrome most JS devs seem to have thats the issue.

I actively avoid using JS not because its bad (i mean, syntax wise its pretty awful but workable), but because I know its going to be a total mess to maintain.


Syntax wise awful?

I'm not sure you know what you are saying. It's basically just C/C++ without the chaotical Template shit from C++.

Syntax wise JavaScript is one of the best. If only it had types.


> and the shiny object syndrome most JS devs seem to have thats the issue.

That's just the React crowd, which happens to be most of the market.

Over here in Angular land you could have a person come back from parental leave and there would be maybe one major version change which is major only by name, as few things actually differ between them.


Someone didn’t use angular in the early days or the transition to v2.

That was a horrible time to live in.


One man's trash is another man's legacy app transition project.

I've made decent money on helping those who were late to the party as someone who started out with AngularJS.

Fortunately everyone involved understood this meant a complete rewrite and all the wanted was people being able to read AngularJS code.

Fun times as Google was sounding the alarm for years already and Angular 2+ was also fairly mature.


It may be more prominent with the React crowd but not exclusive. You see it all the time, lets use React, no Vue, no Nuxt, no Next, no this, no that. The constant ecosystem switching is tiring.


Ten years of working corporate and contractor front end gigs and I’ve found that most companies are loathe to update unless there’s a feature they need from something more modern.


Is Singals coming to Angular not shiny object syndrome?


Normally I would agree, but that was a Solid three years after everyone else, when the idea was already mainstream (again).


What's your top language for better syntax?

And what are your main issues with js?

I've used javascript/typescript as well as rust and java. Each have their quirks.


> What's your top language for better syntax?

In FP land: Erlang, Elixir

In C-like land: C#

> And what are your main issues with js?

Google stomping all over standards processes with shit no one needs. That's mostly in HTML-land, but it bleeds into JS land as well. Like the "requirement" for JS to have C++-like classes (it doesn't) that mesh really poorly with prototype-based inheritance and still causes lots of problems (have they solved auto-binding instance methods and private fields yet?).

No standard library, none. That is why you get so many libraries doing the same thing and people importing left-pad.

Abysmal rate of development. That is, however, the result of being developed in the open (somewhat) and needing consensus on new features. This is preferable to browsers and runtimes just doing whatever the hell they want.

NIH-syndrome. Mostly from the frontend crowd, but node.js-ers are bad, too. The audacity to think that no one ever in the history in the world made better UI systems, better backend systems etc. All while painfully re-implementing and re-discovering the last 30-40 years of computer science and engineering.

Beating a dead horse: weak dynamic typing is the worst typing, and Javascript is that. Strong dynamic typing I could accept.


For the most part, the class syntax in JS is just sugar over the top of Prototype based inheritance. It's not my preference, mostly in that it doesn't work well with too many layers of inheritance, and enhancement tends to work better imo. I'm also more in favor of a more functional/modular approach.

In terms of private members, you prefix # for that...

    class MyClass {
      #myValue = 6;
      ...
    }
Plenty of languages don't have a "standard library" including, for example, rust... there are benefits and disadvantages to this. The benefit is you also aren't stuck with a poor interface for certain things. You can use Deno/jsr std if you prefer.

As for the rate of development... abysmal is not the word I'd use. JS in general has been prolific to say the least and nearly exponential in pratice.

In terms of reinventing UI... if it's just a retread, then why is it there hasn't been a better cross-platform UI toolkit developed? You can do more with HTML+CSS in terms of layout than any other UI native toolkit and even then, most fall short and are limited to only one or two platforms. That doesn't even capture accessibility needs and requirements.

Weak dynamic typing I can somewhat agree with. However, given the origin of JS was mostly for input validation, it makes a twisted bit of sense. Just looking at how falsy behavior works in JS makes a lot of sense, the only minor outlier is 0, but that being falsy in nature comes more from other languages than the subject area of JS itself. I do think that sometimes dealing with undefined, undefined as a value and null is a bit of a pain, and kind of wish that the concept of Option<T> was more prevalent when JS was created.

In terms of your favorites, I've used C# since before the first release and am very familiar with it. There's a lot to like. That said, it doesn't stop the environments that use it from turning it into a twisted, byzantine mess of layers of abstraction and indirection that destroy every bit of performance it's capable of in the name of "Enterprise" practices. I also like the C# language. I just hate most of the C# codebases I've had the displeasure to work in. It's far from exclusive to JS.


I basically agree with your corrections/details, so no need to drag the discussion out :)

Except this:

> you can do more with HTML+CSS in terms of layout than any other UI native toolkit

I cannot in my life understand how this worldview is so common. It's like no one has ever seen a native app before the primitive Electron and web apps that struggle to display a few lines of text.

Turbo Vision from mid-1990s was arguably a more powerful GUI toolkit than HTML+CSS. Most of the things HTML+CSS for which pat themselves on the back were available in Qt in early 2000s.

HTML+CSS have nothing on native UI toolkits: https://x.com/dmitriid/status/1424052288205856773


There are some niceties about some native UI frameworks... that said, they still tend to have shortcomings. Often don't work or have a really poor experience for cross platform dev or deployments. It also doesn't necessarily cover accessibility integration, which I've experienced the most pain in dealing with (at least going back into the 90's, far less experience recently).


Yes, out-of-the box cross-platform is the main thing going for HTML+CSS. It's an undeniable fact.

As long as you don't do anything fancy on the page, accessibility is now great for HTML, too.

However, since it lacks everything that makes a UI useful [1], all the custom components everyone is busy re-making from scratch make the web a miserable place from accessibility point of view [2]. Much worse than native frameworks which often enjoy deep integration with the underlying OS's accessibility features.

[1] See the work by https://open-ui.org and the many, many, many UI components most UI toolkits take for granted and have out of the box

[2] And some of the work in the browsers made it worse: https://nolanlawson.com/2022/11/28/shadow-dom-and-accessibil...


Awful backwards compatability issues? You clearly have no idea what you are talking about. 20 years old JS code run just as fine as new code in any browser.


They said the ecosystem has backwards compatibility issues, not JavaScript.


They are wrong. NPM is the biggest open source repository ever created, if you judge it by the longtail it will obviously be bad. There are plenty of projects there that exists for 15+ years and have great backwards compatibility, like jquery.

Also, browser tech was changing very fast 10 years ago. Now it is quite slow and the JS ecosystem is consolidating the usage of modern features like ES modules, importmaps, web components.


NPM is hands down the worst package management system of modern times. I can't count the number of times we've inherited projects only to find half the packages are gone, broken or riddled with so many holes that they arent viable to continue using.

The build and abandon mentality of JS development as a whole, combined with what is an extremely immature and convoluted package management system is half the problem with modern frontend development.

You don't even have to go far for a comparison. Take a look at composer for PHP. It turned the language around and helped foster a very strong and stable ecosystem.

NPM being the "Biggest" isn't something to be proud of. It's something to question - why is it the biggest? Is it because theres so many fantasticly useful packages? Or is it because everyone insists on reinventing the wheel or creating what are frankly idiotic packages that should neve have been created in the first place (left-pad anyone?).


It's the biggest because the web is the world's best deployment target, and JS is its native language. This leads to a massive number of developers of all abilities writing code and packages for it.


Why would you register an account to leave this comment?


this community needs to stop treating these zero effort “i saw X in the title so i came to hate on X” like genius tech gurus in need of multiple convo attempts.


I don't think that's the case. I think most people here consider this guy's comment devoid of any value


My 20 year old JS code works fine today and yours?


JS code can run, but browser APIs have been removed and changed over time. Anything related to security and privacy, or browser-specific APIs. 20 years ago the web was “Internet Explorer” so we also had nice functions like `ActiveXObject()`, which definitely does not exist today.

The reason why it took so long to kill IE is because business were built “in JavaScript” that ran only in IE, and that “JavaScript” dialect no longer exists.


ActiveXObject was never a standard, it was a gaping set of security holes waiting to be exploited and closing both it and Netscape plugins were two of the best decisions made. Beyond that, other than different measures that have been in test, and not standardized, I'm not familiar with much that has been deprecated in the nearly three decades of browsers and JS, that's a massively solid track record.

Aside, as cool as aspects of being able to write a component in VB6 and use it in a browser was, it still had some very painful aspects. Silverlight could have done better than it did, as could other package formats. If something similar to Silverlight or Flash was made using more open standards, such as with SVG + scripts + a manifest in a package, it could have been browser integrated... It's still possible and even more likely today in concert with WASM.


This website uses javascript.


I created two micro libraries in Javascript long ago but neither is on this website. Makes me think there might be other libraries missing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: