(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=40992982

玻璃市对 SICP 的奉献强调了在计算领域保持乐趣和创新的重要性。 随着计算机科学的发展,人们从兴奋和分享新发现转向专业性和生产力,导致当前的工作环境缺乏热情。 作者对这种转变表示遗憾,并希望计算机科学家继续探索和突破界限,同时避免成为传教士或感觉自己拥有专有知识。 现代社会,智能手机、电动汽车、虚拟现实和聊天机器人等众多技术创新的出现,让习惯于不断接触前沿发展的专业人士留下深刻印象变得极具挑战性。 此外,由于过度炒作的技术而导致的反复失望可能会导致人们对新进步总体不感兴趣。 至于工作动力,作者反思了同事之间快乐和友情的丧失。 员工现在不再庆祝共享成就和学习经历,而是关注磨练文化和自我营销。 即使是简单的任务,例如使用新发现的工具从 Parquet 文件中提取数据,也可能无法引起同事的兴奋或热情。 作者想知道这种普遍的悲观情绪是否源于倦怠、过度期望,或两者兼而有之。 将当前情况与早期时代进行比较,作者指出,过去二十年的快速技术进步使人们对令人印象深刻的壮举不再敏感,例如在几秒钟内加载网页,而这此前曾引发“哇时刻”。 此外,旧金山和纽约等某些地区的住房成本不断上涨,使中等收入的软件工程师难以获得住房,从而进一步影响了他们的总体满意度。 最终,作者建议回归计算的原始精神,鼓励持续探索、好奇心和协作,以保持兴奋并促进行业发展。 通过拥抱广阔的愿景、识别潜力和集中努力,他们设想能够应对全球挑战、结束冲突、减轻贫困和解放社会的重大积极变革。 然而,为了实现这些目标,需要一位具有魅力的领导者,他了解简单的价值、愿意承担风险并拥有强大的决策能力。

相关文章

原文


it's good to see a little person having fun with all this technocrap that us grognards have gotten so bitter about over the years/decades. :) i hope she continues to have a blast!

(from the dedication page in SICP:)

“I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don’t become missionaries. Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.” ~Alan J. Perlis (April 1, 1922 – February 7, 1990)



I miss the fun in software development in the workplace. Something has changed. When I started 20+ years ago, people would get excited about something new they learned and rush to tell other people about it. Now everybody is grim, too busy grinding and "managing their visibility" to show any pleasure.

If it was just me and my friends who were joyless now, I'd chalk it up to us getting old, but my coworkers who are the same age as I was 20 years ago are just as grim if not more so. They're at a point in their career where so much cool stuff is new to them, and they're completely dry and professional about it.

For example, I was in a huddle with a coworker, and we needed something from a parquet file. My coworker said he might have time later to write a script to extract the information, and I was like, "No, check this out!" and I started up duckdb and had the answer in under a minute. My coworker's response was just a monotone, "I've never seen that before. It looks useful." Not "whoa, cool!" or even a simple "nice." It was almost like he felt worse for knowing it existed.

It makes me look around at my coworkers and wonder if everybody could possibly be as miserable as they look and sound? And if so, why?



I’m pretty sure that fun never really disappeared but rather than developers team are now full of non "computer people", like, people who never cared about computers from the start.

I don’t say it like an insult, it’s just that for most people developing things is and have always been a career like any other. We shouldn’t blame people to not be passionate about their jobs. Everyone have to eat and if you are able to perform in this job without passion, you would be stupid not to.

But I agree that for passionate people, it’s pretty depressing.

And even for people who love this, writing SaaS apps 9 to 5 for years can easily shatter the joy of knowing cool things.



> I’m pretty sure that fun never really disappeared but rather than developers team are now full of non "computer people", like, people who never cared about computers from the start.

I think there is something simply due to aging. I grew up writing BASIC and machine code on a Commodore Vic20. Programming was inherently playing. Fast forward 4 decades, I do not write code for a living any more but I can see how senior coders I work with do not have that sense of joy. But it's not like the industry has became this or that way, it's that our lives have changed and we became old enough to understand that work is work, and playing is playing. As the lyric goes we have traded the maybe for the sure, we have filled our pockets with keys and responsibilities.

I still write code from time to time just to be slightly informed of trends, but my corollary would be: if your programming job makes you feel like you are playing, do not be afraid to enjoy it at all costs because that too shall pass.



I would not assume they’re miserable because I probably would have the same reaction if I was them.

We have just been bombarded with so much technology and advancements in the past two decades that it really takes a lot to impress us. We’ve had ppl conputing, smartphones, electric cars, semi-autonomous driving, VR and ChatGPT. A tool that parses Parquet is very very low in the totem pole, compared to all the new tech everyone has been exposed to.

Add that to the fact that we’ve also been overpromised new shiny things that turn out to he disappointments (Google Wave, metaverse, blockchain, a lot of AI products) and its not surprising most people aren’t that impressed by lots of tech these days.

In comparison, 25 years ago, just seeing a webpage load in less than a second led to a Wow moment



It doesnt help that current quality of life is pretty grim, downright terrible if youre young, heck even if youre pushing into middle age. Possibly beyond but I dont have as much perspective for that demographic.

things that give you the mental resources to take the time to have fun with things are simply not avaliable to most of us these days. As a simple example, young folks have near no chance of ever owning a home, and it is sold as a personal failure. As it being a failure to grind sufficently. Natural human urges and desires, like having a family, are increasingly out of reach and are again sold as personal failures.

Everyone is grim, because the situation is grim. If we dont take the time to recognize how grim it really is, we will be in no position to start fixing it.



I don't know. It's not hard to buy a home if you're an American software engineer though, and aren't tied to the bay area or NYC. There are even places commuting distance from NYC where you can get a $250k single family freestanding home.

A few years ago I lived for a while in Tulsa, Oklahoma. It was pretty easy to find a $110k software job that was pretty chill and well, not so exciting or conducive for the ambitious. Numerically pay isn't what faang might pay in SF. But faang workers in SF claim they can't buy a house, yet this lower salary easily could have bought a mansion in Tulsa. They could have even cut my salary in half and it still would afford a nice average house.

Probably not a coincidence I saw a lot more families with children across all social classes there than in my prior NYC life. Hm.

So I don't think America has a cost of living problem, I think the bay area, core NYC and a few other major metros have a cost of living problem. That's bad, but those are two different things.



I'm in Pittsburgh right now and struggling to buy a house. Everything on the market are estates and get bought within a week of listing. This past one I put an offer on was sold in less than 24hrs of posting...



I'm surprised to hear this, I would never think to lump Pittsburgh in with big metros. Are you being picky or something? Do you have kids and thus school district is a major consideration? Do you have a specific neighborhood you want?

Really, Pittsburgh of all places? I know a quick search from someone from out of town is kind of shaky and there's a lot of local knowledge you have, but are houses like https://www.zillow.com/homedetails/4411-Gladstone-St-Pittsbu... at $170k or https://www.zillow.com/homedetails/1404-Marlboro-Ave-Pittsbu... at $154k or https://www.zillow.com/homedetails/107-Lilac-Ave-Pittsburgh-... at $160k not good enough for you or something? Zillow shows hundreds and hundreds of decent looking houses under $200k within Pittsburgh city limits.

These are incredibly affordable even on a 5 figure household income. You are very lucky to live in a place with such a reasonable CoL. I've known people to move there from eastern PA for the sake of that.

If I'm missing something, I'd love to hear it, but I'm pretty sure what I'm gonna hear is that you're filtering out a lot of the affordable stuff due to some interesting self imposed restrictions.



Many rust belt cities are de facto segregated by class and race. I’m not familiar with Pittsburgh specifically but just glancing at those listings I suspect they may be in “the ghetto”.



As a white man living on a very black block in Philadelphia, it's extremely difficult for me to relate or sympathize. People move from here to Pittsburgh because of Pittsburgh's famously low housing costs.

Sucks to suck I guess.

PS: Regarding safety, I went back and looked at street view for all three properties. All three appeared to be surrounded by well-kept yards and houses, cars in decent condition, etc, which is a very good barometer for safety and basic neighborhood quality. These are nice suburban houses.



I mean, if I’m going to buy a house, I’d want to buy it in my hometown, but that’s very nearly impossible even at software developer salaries.

I’m now living overseas, where housing is also expensive, but at least within reach due to low interest rates and just plain building more smaller houses.



> new shiny things that turn out to he disappointments (Google Wave, metaverse, blockchain, a lot of AI produc

To be fair, the more seasoned observers among us were not affected by most of those disappointments due to ha ing recognized the signs from the beginning they'd peter out.

Other than Google wave. We all thought that was cool at the time. But I think failure has more to do with Google's poor as usual execution. See also how they had near total domination of the chat market back when Gmail Chat was the most popular chat briefly and pissed it all away with constant reorgs and rebrands and refractors that went in a circle until facebook won.



For a lot of technology you know it's just a hype bubble that very loud people keep chanting about because they have money in it and you have to wait for it to go away, Blockchain I'm looking in your direction. But there are still small tech wonders to be found, it's just difficult keeping abreast of all the changes in the wider tech ecosystem.



Certainly not everyone, but a lot of the people who have entered the field in the past decade are chasing the money. The never had the passion for it but they were and are good at it, so here they are.



And if that ever feels too corporate/safe, there's also fan game development/modding. The lack of legal ways to monetise your work there means that everyone who'd only be interested in the field for money is quickly filtered out, leaving only those willing to plow a decade or so of their life into something for no financial benefit.

Plus if you go back far enough, you can work on something where there's no room to abstract out anything and your code has to be optimised for the bare hardware itself, which is always an interesting challenge.



This is what impostor syndrome looks like at an industrial scale.

I find the best antidote to that is live streams of people like geohot, a man at the top of his game who is an idiot more than half the time when coding - "No! You're missing a coma, this won't run!"



For me the joy of programming is thinking and making the simplest thing which accomplishes my need, and the regular intervals of satisfaction from a sequence of jobs well done.

When I started by career ten years ago that was how it worked. Around 2019 I noticed a change.

At some point coding was replaced with "HERE LEARN AND USE THIS NEW TOOL" fourty times a week. It is all kitbashing now. Software development has been completely replaced with devops. Low level devops does not require brain usage. It requires bashing your brains against the wall for hours trying to figure out what about your yaml file is wrong. Your boss and your coworkers are forcing you to use this and ten other antitools despite you already knowing how to adequately and quickly solve the problem with the tools you have. They advocate for the tools despite having never used them because the tools have a fancy (disgusting) react website. I have extreme new tool jadedness. Usually I hate when poeple show me new software tech, because they will demand I use it and I have to pay the price. I will never become an expert of these tools. They will be replaced in six months. Only 3-5 of our 50 microservices will use each one. Many of them will be redundant.

Joined a new startup a few months ago. The ceo had would take me asside five times a week and tell me we had to use this new tool. Kubernetes, helm, and 100 other tools appeared. At first I enjoyed the experimentation but it never ended. Work never got done.

At some point I told him "This is just a basic crud app. what the fuck are we doing. Can we stop playing around and get this done?" He didnt listen. I quit. Fuck it.



This is exactly it. You could show me the best, simplest, most elegant tool ever and my first reaction is going to be to throw up in my mouth as soon as you say "hey, check out...", because the last 50 things shown to me have all traded 100 lines of code for 500 pages of bad documentation while everyone around me fucking gaslights me into thinking I'm an idiot because I find bad APIs and documentation harder to work with than code.

I still have loads of fun when someone introduces me to a problem and lets me actually write code to solve it. That just doesn't happen in 2024 workplaces though. If you want programming work to be fun again, you need to start there.



We have access to too much information about how to do things better and the tools to do those things, so the focus winds up on retraining and optimising rather than just dumping something out there and abandoning it.

Flash sucked but everyone knew it sucked and that you could kind of force it to do a lot of things.



Kind of reminds me of the quote from the Steve Jobs movie:

"The most efficient animal on the planet is a condor. The most inefficient animals on the planet are humans. But a human with a bicycle becomes the most efficient animal. And the right computer -- a friendly, easy computer that isn’t an eyesore but rather sits on your desk with the beauty of a tensor lamp -- the right computer will be a bicycle for the mind. A beautiful object -- perfect geometry, perfect finish, something you want to look at and have in your home. Flawless. And then a personal computer becomes an interpersonal computer. And what if instead of it being in the right hands, it was in everyone’s hands?"



“Before I was shot, I always thought that I was more half-there than all-there – I always suspected that I was watching TV instead of living life. People sometimes say that the way things happen in movies is unreal, but actually it's the way things happen in life that's unreal. The movies make emotions look so strong and real, whereas when things really do happen to you, it's like watching television – you don't feel anything. Right when I was being shot and ever since, I knew that I was watching television. The channels switch, but it's all television.” - Andy Warhol

Life is a quote or song cue.



I’ve never seen the full quote, and I really love that last sentence.

Reminds me of Ratatouille: “Anyone can cook.”

We make software so that someone else can do something new with it that we ourselves never imagined.

So important to remember that someone could be… anyone!



Funny, another commenter posted both videos, Steve Jobs saying it and Steve Jobs the film. Steve Jobs says what you say. Hollywood says it the other way. I suppose it also wouldn't be surprising if Jobs rehearsed this Hollywood-style for his interview.



This "bicycle for the mind" guy died way sooner because of woo-woo bullshit magical thinking. He was an overprivileged marketer who had a better than average sense of what people would like, combined a shameless capacity to crib others' notes. Like most venerated billionaires, his main genius was his capacity to exploit.



While i do not share the opinion that jobs was such a genius at all, reducing him to be just a marketer seems very narrow-minded.

Sometimes it's about bundling potential rather than exploitation. I have read many stories of the people who worked for jobs, not many of the "first ones" seem to tell stories of being exploited. But many seem to be proud of how much work they put into their work guided by a guy who seems to be there mostly for saying yey or ney. Which seems to be crucial.

Think about all the dysfunctional organizations you have seen or worked with. In my experience, most of them were lacking clarity, responsibility, personal investment & decisions.

The potential to end all wars, end hunger, free societies etc is there. I mean just on HN, the potential to transform the world by tomorrow is there. There is enough people with good will, enough people in key positions, enough people who are the best in their field, enough people who love to hack away as a side project, enough people who enjoy debating etc... here on HN.

All that is missing is the right approach to get a few of these people together with the right goal and by tomorrow we could take out / stop a lot of evil. This person must be able to "market", to bundle potential. But this person must also be able to identify potential & make hard decisions & do the things others would call "insensitive". Otherwise the people would quickly lose interest or be lost in chaos.

Focusing potential seems to be the most crucial part. Having a lot of potential but high entropy seems to be irrelevant in most cases.

Anyway, had to type it out because i just realized that partially i am doing the same mistake with my startup. Too stuck fiddling on the tech while knowing that i should be focusing on bundling potential. Currently i am just contributing to a entropic potential, which serves no one. Bundling it might serve the right people, at the right time with the right people.

Which infects my mind with the question i have been struggling with: is there any way someone like jobs could have been more than just a marketer in your eyes?

I do feel like i am looking down upon people like jobs who seem to be happy with just talking and never trying to really do the things themselves. On the other hand having this opinion of potential entropy... what do you think?

Edit: just wanted to add the after thought that people most likely call these people geniuses, whose way of achieving results they can't quite comprehend. And usually for people too attached from the problematic domain, the same geniuses could appear like idiots or sharlatans.



Focusing potential as you eloquently put it is an entirely different skill to coding or engineering. I've been around people that do it and its like magic. Sharing a vision, presenting it in a way that sounds meaningful, and getting the 'buy-in' of others is all about managing others' expectations and trust. You really have to deliver and not just promise.



very nice comment! Both put in perspective the importance of Steve Jobs, while not aggrandizing him too much and instead shifting the focus to what we could do instead. Bookmarked!



When some people were proposing Swift remove the ability to use Emoji in variable names this was my reply:

> It’s hella presumptuous to decide that I’m not allowed to express whimsy, frustration, humor, or any other emotions in my code. Or to tell an 8 year old using Playgrounds on the iPad that he/she can’t name a variable :pig: purely because they find it funny. We don’t have to squash the joy out of everything.



I hope we can keep it alive. The latest volume of Knuth is full of puzzles, which is wonderful. But then I see the other top thread on HN where people are whining that they aren't getting paid more than 99.9% of the population for sitting at a desk solving problems all day. Sometimes I think those people don't deserve to be doing this job.



Nice quote. Lost it now but I used to have a desktop wallpaper with the old Kraftwerk cover with "ITS MORE FUN TO COMPUTE". We need regular reminders. FWIW my little one is mastering the command line after a year of having to type to get things. Even if she turns out not into computers I won't grieve because if nothing else she learned to type, which is a useful skill itself.



    
        
Exactly as I would do it if I were a 7yo. Speak what you will about the virtues of CSS and semantic markup, these things get in the way of having fun. And can be learned later.


Totally agree with you. Not a front end dev myself, and I have multiple variations of "how do i center a div" in my search history, haha. With varying degrees of angry expletives added to the query.



I know you're not entirely serious, but we really had it good and largely figured out with tables. It's probably because using tables for layouts was my native language, but I still sometimes have to mentally translate divs into a table in my mind to picture what is happening, and when default types are change (like block to inline, etc) it sometimes breaks my brain and I have to fallback to experimentation to get what I want. Slight disclaimer though: I'm a backend/infra guy so don't do frontend very often.



Tables aren't even deprecated. IMO you're better off keeping the tables than transforming it into

soup. 20 years ago you'd hear it shouted from the rooftops: "Tables for layout are not semantic!". Guess what?
s are never semantic. Just use tables if it suits you.



If you want to remove the semantics of table elements, you could set a role="presentation" attribute on all table-related tags. I'm wondering what HTML semantics enthusiasts will say about this. ;-)



You almost got me. After all why not? So I had to go read stuff, and think more about it than I would have. So thanks for this.

So: is probably mostly fine, but not great, and not good practice.

The ARIA spec [1] says:

> 2. Notes on ARIA Use in HTML

> 2.1 First Rule of ARIA Use

> If you can use a native HTML element [HTML51] or attribute with the semantics and behavior you require already built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible, then do so.

That's because simpler is easily more accessible. ARIA is last resort, when all else failed. ARIA is complex and not always well implemented, or implemented at all, and when it is implemented, interpretations can differ. Your content will be more accessible to more users / for more browsers if it doesn't rely on ARIA to be accessible. And more often than not, you can do more harm than good by using aria attributes, because it's easy to misuse them, which is worse than not using them at all. Now, ARIA is still very useful and should be used when it improves things over what HTML/CSS supports by itself, but table-based layouts have readily available HTML/CSS solutions.

My opinion is that there's no good reason today to use tables for presentation. One of the reasons is always the same: separation of concerns. Structure your content, in the simplest possible way, and then style it. Structured content, with a structure that's as simple as possible, is more easily accessible. Add divs if really necessary for styling (which don't really change the structure, since they don't have meaning - keeping in mind that they are a compromise).

It's funny how everyone seem convinced by the principle of separation of concerns, except for HTML/CSS/JS.

You could use divs with display:table(-row|-cell) for the same result. Although CSS flex or CSS grid would let you achieve the same thing with a simpler structure and will allow you to have a responsive design. Fat tables with side menus are unwieldy on small screens and your

联系我们 contact @ memedata.com
-based structure will make it more difficult to offer a usable design to them.

Table layout are also not great on text / terminal-based browsers. Letting the content flow from top to bottom will be way better. You have this for free if you don't use tables, because usually terminal browsers don't understand CSS.

I would then reverse the question: why use tables when you can use display:table, CSS Flexbox or CSS Grid? What are the benefits? Especially when they are simpler as soon as you learned once how to do your favorite layout using these "new" things. I won't be convinced by any answer that sounds like "I don't really want to learn this stuff" because if we are trying to answer "What is the most correct way to do this", we should seek to use the better version, not the one we are familiar with.

It seems to me "Why not use ?" is a bit like "Why not use this carafe labeled 'this is a glass' as a glass?". Sure, why not, it will work, but if you have a glass now, even if you need to pour the water into the glass before you can drink it, isn't it better? (of course, maybe not the best analogy, I'm not good at analogies, but I hope it can help understand my perspective on
).

I also believe role="presentation" or role="none" is a code smell. It has legitimate uses (I guess), but the use better be clearly justified.

[1] https://www.w3.org/TR/using-aria/



one is a table the other pretends to be a table. There has to be a lot wrong for the table to forget what it is. try disabling style.

css also gets complicated much faster than html. I like to offload complexity to less complicated areas.

a practical example: i look at each row and set rowspan for duplicate values. a series of rows might have week 22 as their first cell and multiple with monday as their second.



> one is a table the other pretends to be a table

How about "one pretends to be a layout, and the other is a layout"?

I don't understand well what you are saying, but:

> a practical example: i look at each row and set rowspan for duplicate values. a series of rows might have week 22 as their first cell and multiple with monday as their second.

This seems to be a case of using a table as a table, which is fine. You should use tables when you are trying to represent tabular data.



This seems to fall under the unconvincing "I don't really want to learn this stuff". This seems to be the only reason people are tables for layouts today.



> Tables aren't even deprecated. IMO you're better off keeping the tables than transforming it into
soup.

I wonder if any notable sites still use tables even for complicated things such as, say, nested comment threads?



I lost out on a front end job about 15 years ago because I marked up a business’s open and close hours in a table during a coding test. I was told that my skills were clearly out of date.



Table are used when tables are needed. Excel like overviews. No reason to not use tables. For site layouts (multiple columns etc) you would better use divs in a flexbox or something.



It is almost a shame modern browsers no longer support all the fun layout patterns of ol' FRAMESET. There was a layout tool to cut your teeth on (possibly literally the way it was made out of browser chrome).



Not that I necessarily advocate for frameset insanity, but you know what? That is a shame. My controversial (?) opinion is that browsers should literally never break anything that was once a part of the web platform unless there's simply no other choice. If the size of it is getting too big... first, stop adding more shit. (And then maybe, implement some old features in terms of some newer ones. Not really "web platform" but I am a huge proponent of what Ruffle is doing for the web.)



I’ll go a step farther: improved frames and datasource-aware tables and lists with a few very basic features found in almost any other UI kit out of the box would have given us 99% of the actually-beneficial stuff AJAX did, but better.

The Web is a ton worse because we decided to build apps on it but never built the tools to do it right, even though the building blocks were right there.



IMO the biggest problem with the way frames works is that it doesn't work well with navigation. I think unfortunately that this is just a design flaw with frames and it needed breaking changes to mitigate.

I think I would've rather seen it go that direction, but it's hard to say. Without a crystal ball, we can't really compare the outcomes, and it's hard to imagine what would've happened in this hypothetical. I mean, I don't think in 2004 I would've been able to guess (or stomach) what the web was going to become 20 years down the road.



Framesets still work as far as I know, they're just no longer recommended for a few reasons. Browsers already try very hard to never ever break anything, at least not anything that's been commonly supported for years or has made it into a standard. The main places browsers have broken compatibility with old content are related to plugins like Flash and Silverlight, which were always controlled by a single vendor instead of being open standards.



> at least not anything that's been commonly supported for years or has made it into a standard.

It's more: has made it into a standard and was commonly supported.

Sadly, the browsers aren't trying hard enough not to break anything. They are trying hard not to break anything standard, but the problem with that is that the standards can change, or that some things can be claimed to never have been standards all along. A bunch of IE/Netscape things have broken already such as BLINK and MARQUEE, despite being common enough to "feel" standard even though yes they were never actually standards. Also, as we've seen with the MathML battle in recent years, even standards aren't guaranteed to be kept in browsers if not "commonly supported".

The MDN deprecation warning on FRAMESET:

> Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes.

The browser support table says that every browser still currently supports FRAMESET with simple COLS and ROWS, but as I recall FRAMESET used to also support more complicated layout tools. My brain recalls it as being very similar to TABLE layout at one point in time that you could also have (limited) COLSPAN and ROWSPAN options. Such things may also have been IE/Netscape era "non-standards". If I had examples, they are probably lost to time. Similarly, with nearly no way to easily search in today's indexes for things specifically from the 1990s I can't think of a good way to find old examples either. It's also possibly my memory is just failing me on this and the crazy things I recall doing with framesets were just table layouts after all and maybe iframes, but I do recall doing some crazy things in the 90s that certainly aren't "standard" today and I know wouldn't work in today's framesets.



Yeah I don't really count Flash or Silverlight as parts of the "web platform" personally, though I will re-iterate that I am still very pleased with the Ruffle project nonetheless. From a practical standpoint, Ruffle does a lot of good even if Flash always was proprietary and not really a part of what the web platform really was at its core.

I hope continues to work into the future. I'm sure eventually it will wind up on the chopping block, and personally I think that'll suck.



I can't agree with this, because it creates a "barrier of entry" for people building new browsers. Old things should deprecate when new things do them better, and deprecated things should phase out.

Otherwise, we're stuck with Chrome Forever. I'd rather not.



Disagree. Deprecating things like will not make it easier to build new browsers. Shadow DOM and WebComponents are significantly more complicated for browsers to implement than any old "deprecated" technologies. If you don't want Chrome forever, what you want is not removing old technologies, it's preventing more new technologies from becoming a part of the web platform.

We'll get better at building software. Even with huge engineering teams, we can only build the browsers that we have today due to improvements in large-scale software engineering.

Keep your eye out for Ladybird Browser and Servo.



Although there is some degree of silliness to suggesting table layouts in 2024, it frankly really is not that bad. To me personally, the era of float: left and clearfix and 10 layers of wrapper divs was significantly more of a mess. "Oh look, I got my layout working on IE6! Oops, it's now broken in Opera..." Anyone remember using invalid CSS to write browser-dependent styles? How about using Microsoft's proprietary DirectX filters to make PNG transparency work? In the era of taking crummy PSDs full of graphics and chopping them up into images for an HTML template, these were the tools of the trade.

Not that tables were perfectly standardized or anything, because I do remember Netscape and IE not totally agreeing on how to handle column widths, but they sure were, well, simpler.



Yeah, but HN uses tables in a really dumb way. Each comment is in a separate table with the width of the first column set to provide the correct amount of indenting.

If the comments were properly nested you would just have a standard left margin and the tables would be completely unnecessary.



If nobody’s gonna see it to complain that I’m “doing it wrong” I’ll still just throw a center tag in from time to time.

Look, it works and lets me move on to stuff that matters.



I agree with you, but for shits and giggles, to modify this to be evangelist compliant, you could write this instead:
    
        
Which isn't much more complicated, and makes it clearer what's going on. I wonder if there is a transpiler like Elm that could take a single file written in a simplified language and gave you an HTML5 compliant webpage? You could argue that all the XML-but-not-actually-XML crap in HTML (angle brackets, closing tags, escaping special characters with HTML entities...) is also an impediment to beginners.


What is the value of writing all of that, compared to the simpler approach? What will you want next in your quest of purity? Forbidding inline styles in the name of security, maybe?

Disclaimer: I'm not found of web techs...



Are you serious? Embedding a language (CSS) into the string literals of another one (HTML) is of course much more complicated, and needlessly so.

Also, there's nothing XML-but-not-actually about HTML. Both HTML and XML are derived from SGML.



The kid doesn't have to know that's it's CSS, and `style="background: url('animals.jpg')"` is more clear than just `background` because it explicitly states that this a networked resource that is being retrieved with the url() function. If you tried to set the `background` attribute to "blue" it wouldn't do anything, because you have to use the `bgcolor` attribute to color the background of the page. But the `background` property in CSS is a shorthand, so you can set it to a named X11 color, or a gradient, or an image file, and these all work.

The `

` element spans the width of it's container, is only as tall as it's content, and only centers the content contained inside it horizontally, but this isn't immediately obvious just from looking at the element's name. Using `text-align: center` instead is a much more obvious way to describe what the `
` element is actually doing.

Yes, this is more complicated, but it is more obvious, which, I think, is more useful when someone is learning a complex topic.



If I wasn't in bed on my phone I would disagree at length and in great detail with this.

Have you met any 7 year olds? Have you taught any beginners to do computer stuff?



The issue with this is that it lacks the semantic - styling separation of proper modern HTML with CSS.

Like compare that mess to the elegant semantic structure of a state of the art webpage like google.com

    


I remember getting confused/disgusted looks at my first front-end job when I said I loved CSS and would be happy to work on styling...

Later I learned that having 3 or more different ways to get an identical result is... time-consuming, at best. When they all might work slightly differently depending on several layers of context (or just not work), you realize CSS is ripe for massive pain points to spring up, and they can happen unexpectedly. I understood why everyone else hated CSS - under time pressure, it's just not worth dealing with 99.9% of the complexities for immeasurably small + abstract returns.

Eventually, I determined that I both love and despise CSS in different aspects. It's complex enough to hold both attitudes. And I'm very, very satisfied that Tailwind came along and (nearly) perfected what Bootstrap et al were figuring out before it.



I decided to throw in the towel on frontend dev when I was forced to translate wireframes from a UX designer into pixel-perfect CSS (on a safety and time-critical project where the site was going to be used by back-office staff only, you've got to love how consultancies find ways to make $$$).

We had used Bootstrap and similar frameworks for years prior, but all the battling with different CSS layout techniques to render the UI on this project made me realize I was wasting my time, and the fact that the designer couldn't give developers working CSS made me wonder if the entire promise of separating design from functionality was a mirage.



The pages load responsively, there are no apparent bugs in the code, the organization is coherent and sensical, and the writing is concise and conveys both information and the unique voice and personality of the author

This is a better-made website than like 95% of the internet, generously

I like the cut of your kid's jib. Excellent work



> computers are a very important form of technology. Without it no websites, no Roblox studio, and no nothin. Without computers used have to use tablets. Tablets aren't very useful. Well to do stuff Computers can anyway.

Amen.



> Cats are about 2 feet that means six times there height would be about 12 feet. That would be a very terrifying cat

Yes it would. There's something wonderful about the paths that a mind that hasn't been fully toned the way society wants it to explores.

Well done.



> computers are a very important form of technology. Without it no websites, no Roblox studio, and no nothin.

Don't you love the way children see things? So cute.



This is adorable. Writing HTML might be straightforward for us, but for a 7yo it's a significant cognitive achievement. It wasn't long ago that she learned to read. Tell her a random internet guy is proud of her.

Maybe this marks the beginning of her journey in tech - it certainly was for me. I started writing HTML at 13 and soon realized that a guestbook involves more than just a

tag. That led me to learn PHP. That was 20 years ago and though I am now primarily a backend developer my passion for learning and working in tech remains undiminished.

My son is now 2 1/2, and I hope he too will develop an interest in these things in the coming years.



I suggest you back up the HTML files as a record of her work when she was still a child, it will be a family treasure in the future :) You can even add it under your family's domain for safekeeping.



I removed a lot of my older content from the Wayback Machine out of paranoia that future employers might find it and judge current me based off that. Pretty silly in hindsight.

I do still have code archived by Planet Source Code though.



I love this. Her little site really takes me back to the age of the internet I often miss.

Back in the 90s, fresh out of art school I knew I needed to create a portfolio website of some sort. I went to a Borders Books and got a book about 4 or 5 inches think about HTML and how to craft a site using a tool built into Netscape Navigator. Over the course of a week or so I created a site very similar in function to the one in the OP. The main difference was the content.

On my homepage I featured one of my drawings - a color pencil rendering of a very large/wide man in a jock strap looking at the viewer with a cunning smile. Yes, I was very mature. You had click on his belly to enter the site. This was where I learned to make an image map for the first time. When you clicked it he said, "Ooh, that tickles" and then you were in where the portfolio and navigation was presented.

It was all HTML 4, no javascript, no cookies or forms - all very basic stuff.

And that site got me my first real job in the design world (at an Adobe competitor called Micrografx, which later imploded). The rest is history! Thanks, Netscape.



Easily beats the performance and accessibility of most of the "professionally developed" web, supported by entire teams.

Naya needs to take over as VP of Engineering at Reddit. The site would actually improve using her approach.



Far more size efficient than anything my Frontend dev team writes. A Docker image to build a React app we have was 6GB. (“Its not our fault its NPM”)

And the content is informative too!



One of my favorite aspects of the early web was the focus on customization. Your Myspace page was literally 'your space' and you were free to customize it with CSS as you pleased. There's a whole generation of developers and designers that started this way. You still see remnants of this philosophy in the contemporary web (e.g. moderators on Reddit can customize their subreddits), but that philosophy is nowhere near as ubiquitous as it was in the Geocities era.



Very cute!

I did something similar with my dad when I was a kid. First basic HTML then Dreamweaver.

A couple years down the road and I’m working at a SaaS company.

Beware.



Me too. First framesets, handcrafted. Then Dreamweaver and Photoshop slicing (forgot what this monstrosity was called). Via PHP portals, CMSes (Drupal!).

Decades later I'm tuning YAML files that trigger ansible runs on CIs that compile docker images in which we embed hundreds of npm packages that get transpiled from typescript. Which gets released to cloud serverless edge thingies that store stuff in a database and on some block storage. All to serve a page that's similar in information and feature-density to what I handcrafted back in 1999 in notepad.exe. Yet hundreds of times the size, thousands of times more complex and much, much slower to run and load.

(I'm not exaggerating, but I did pick the worst example. Most of my work is building backend stuff in rust, simple static sites in hugo or jekyll and occasionally sime JS or TS to spice these static sites up with client-side features)



> All to serve a page that's similar in information and feature-density to what I handcrafted back in 1999 in notepad.exe. Yet hundreds of times the size, thousands of times more complex and much, much slower to run and load.

Seriously, I think about this quite often. I recently found some old code that I wrote in the early 00s and it was wonderfully simple, and aside from a few visual trends that have changed, it looks pretty damn good. Straightforward layout, good information density, and very clean. The best part is the code is vastly simpler than anything I've seen/built in the last couple of decades (especially since CSS, packers/transpilers, etc started arriving). I grant that there are some good reasons to introduce CSS and divs and all that, and that once we've done that it is inconsistent to have some things done in html and others in css, but sometimes philosophically better isn't better in practice. Sometimes.



There was something special about being a kid and pushing an update to your site via SFTP on the sidebar in Dreamweaver, then calling or hitting up your friends on AIM/MSN messenger to check it out.



Oh yea in hindsight it would have been better to just stay in the editor and write HTML - but I was a kid and Dreamweaver was pretty easy to use. Although I did hit its limits pretty soon and tried to mess around with the code.



Great job Naya :)

For other parents here, if your kids are interested in learning HTML and CSS with the help of cute aliens, my son (who was 11 at the time) and I built HTML Planet for Kids [0]. The course uses a visual editor for manipulating HTML, so that there is less typing and frustrating syntax mistakes, while still exposing the code directly without any added abstractions.

[0] https://htmlplanetforkids.com/



It's nice that you advertise your business here but for a passionate child this is boring. Double-clicking a box and changing text teaches them nothing, instead of paying $9/mo I can pay $0/mo and have them utilize free courses, YouTube, and teach them how to read documentation like MDN which will benefit them way more than simply teaching them how to use your website.



I was talking to my parents the other day and surprised myself getting pretty chocked up remembering how my dad had shown me how to program an ascii animation on his 386, and how the wonder I felt at that in many ways led me to where I am today, so many years later. These things matter.



Why on earth Cloudflare scripts are running on a webpage made by a little girl?

We fucked up bad. Real bad. As software engineers, we have produced nothing but garbage in the last two decades.



I learned quite a lot by viewing the source of this delightfully clean and spartan website.

You don't need a DOCTYPE tag?

You don't need a head tag?

You don't need to declare the charset?

The body tag has a "background" attribute?

The HTML "center" tag still works?



> You don't need a DOCTYPE tag? > You don't need a head tag? > You don't need to declare the charset?

True, there are many things you don't need for a page to be rendered in a typical browser, but that doesn't make them useless. For example, DOCTYPE has exactly one purpose: tell the browser not to treat your page like it was designed for ancient versions of Netscape Navigator or Internet Explorer, with all the "quirks" of their pre-standardization rendering engines.



Browsers are very lenient when it comes to HTML parsing. In fact, one of the reasons why HTML sanitization libraries like DOMPurify are so complex is because browsers will tolerate all sorts of twisted broken markup.



It's a good opportunity to tell the history of SGML, HTML, XML and XHTML (and possibly more, like long-forgotten SXML), and explain how we (the collective humanity) fu^W badly messed up our technology by following the path of least resistance because some (a lot of) lazy as^W folks can't be bothered to follow a bunch of simple rules.



I feel bad for all the kids whose parents think giving them a tablet or smart phone is the same as having a real computer. They're depriving their children of something really magical by leaving them with devices built primarily for personal data collection and content consumption instead of a tool for creation.



I love this so much. From 1992-1996 I was in a band in the SF Bay Area. I played the congas, but really I think they just let me do that because I also took on the band's webpage.

It was dozens and dozens of pages of hand-coded HTML, updated nearly daily, with lots of easter eggs, etc. I had programmed a ton (I was a C/C++ developer at the time), but never in HTML. I learned everything by "viewing source" (at the time, most of the web was hand-written HTML).

We hosted it at The Well, which even then had a little bit of cachet in the community.

One of my great regrets was that we didn't keep a copy of the site -- and we "retired" and took down the site early enough that the Wayback Machine doesn't have a copy.



HTML is such a great abstraction and syntax. I wonder if the same 7 year old would be able to (or have the attention) to learn something like React? Probably not.

Maybe we should be testing our interfaces and API's with 7 year olds from now on. If they can't or won't use it, its probably a good signal the design is wrong.



Beginners, especially younger ones, crave for guidance. But what they get is often loud marketing and cargo cult behavior. Now it seems to be even worse than when I was starting out. For example YT feeds get spammed with fearmongering and clickbait thumbnails. Apparently the attention of beginners is very valuable.

Don't other crafts and professions have a stronger focus on understanding fundamentals?

There's also much more useful information today than 20y ago though. Even though the signal to noise ratio seemingly gets smaller.



She really nailed page load speed and to a large degree UX (links are clearly links, navigation just works).

Many large companies have wasted lots of money on performance and UX while still being worse than this!



You know, I wanted to troll a bit by critiquing a 7 year old but I'm genuinely impressed. I love sites like this, her age aside that is. it is simple html and I can discover the desired information without any hassle. 10/10 from me boss! Tell Naya to never forget the simplicity of her young mind.



Thank you for sharing this. Actually, your daughter inspired me to make a web site today. I even took some design tips from her. I was hoping to make programming fun for me and I guess not overthinking and keeping it simple is a good start.



As the father of a six year-old girl, the cheetahs page made total sense to me. My daughter likes to play "Name this animal" with me, where she describes the animal and I have to guess what it is. Why are six and seven year-old girls obsessed with cheetahs?, I ask myself. My guess is that it's because they are the fastest animals.



I had the opportunity to pet a cheetah last year, and I think that is one of those things that will stay with me for the rest of my life even if I never get another chance. The cheek rubs, the purrs, just like my cats would do. I haven't been able to stop thinking about it. Yes, I went straight to the cheetah page too. They're awesome! I never much thought about them until that day, but now it's a fascination.



I showed my kid (also around that age) how you could have fun with PRINT statements in C64 BASIC. He really enjoyed it and just the idea alone that you could control the computer instead of it being a black box.

Perhaps a website could be fun too. But HTML 3.2 was much more friendly to beginners than everything that is out there now.



"Did you know that a cat can fall from a 32 story building and survive!"

I love how this ends on an exclamation mark and not a question mark. Obvious in hindsight.



Wonderful! Lucky she, has a space to put it unmonetarized and under her (parents) agency and responsibility.

I host a youth computer club and help at holiday camps and see this a lot. Some elementary school kids (girls mostly) love to write.

All you need is to leave all the distracting tech aside (No tools! No frameworks! No cms/ssg! No autocomplete) and have a space without advertising or TOS where the results can be show to friends & family. Some also love to draw with https://twilightedge.com/mac/pikopixel/ on our raspis.



> Cats are about 2 feet that means six times there height would be about 12 feet. That would be a very terrifying cat.

Thanks for sharing! This is exactly the sort of smile I needed today.



Thank you for sharing. It reminds me of a similar website I made with my dad at similar age, in the mid 90s.

I hope she enjoyed it, and continues to enjoy it.

I also hope to do similar with my children when they’re at at that age.



I love this so much! Great work, Naya!

Incidentally, I was creating an image for a slide for a talk a few weeks ago, showing off HTML circa 1996 and decided to do it in Windows 95 (which is what I used to write my first web pages when I was 12) and it was a lot harder than I thought it would be (mostly because the intricacies of what HTML versions were supported in the included browser versions of the Electron emulator I was using), to recall what tags did and didn't work.

But I credit HTML with everything for me, as far as computer programming is concerned. Having a way to express markup in a text editor and see the results on a web page was life-changing.

Love to see first graders doing this now!



Excellent website! Thanks for sharing, I learned something: the scientific name of a cheetah.

Tell your daughter to keep making things that she likes to make!



> Tablets aren't very useful. Well to do stuff Computers can anyway.

Naya just perfectly summarized 80 % of the MacRumors forum in two sentences.



This looks like a solid first step. I am also teaching my 8yo a bit of coding, starting with HTML but he complains about a lot of typing, he is slow in typing so it becomes painful for him.

Did your daughter face this problem?



We have her setup with iMessage (with screen time to limit who she's talking with), so she chats with the family pretty often. I think that may have helped with typing speed.



I remember doing this at about the same age in the 90s using Notepad.exe in tandem with Netscape Navigator to opine on paper airplanes. Maybe it's just childhood nostalgia, but that kind of web felt way more free than today's social platforms, react apps, and SEO.



Seriously, thank you so much for sharing this! It brought a much needed smile to my face this morning.

Please tell your daughter that Ben really liked it and his favorite page was the dogs page. Question for her: Is that a picture of your dog? Does the dog have a name?



I wonder when she grows up and starts spending all day on HN like us, she would be really glad to see this post and the appreciative comments here :)



Very nice. My daughter made something similar from HTML/CSS when she was 8 or 9, no tools, frameworks, just a text editor. (This was 15-16 years ago.) I think it's good not to be afraid to dive into the "bare metal" approach for kids who then gain a good understanding of the fundamentals even if later they end up using higher-level frameworks.



Cool! I made my first HTML website in 2001, when I was 10. The ISP allowed you FTP some HTML and image files into a folder, and you got a little website.

Figuring out HTML was not too hard for me as a kid. Things enclosing other things is not a hard to grasp concept. I didn't use CSS and back then you had

and stuff; nowadays it's frowned upon as mixing up semantics and presentation, but back then it made sense to me.

But doing any sort of programming (like at least writing batch files that had ifs and loops) was way harder and it took me several years to figure out.



Hahaha this thread made me buy my daughter a domain and start to teach her too as she's been interested about what I do, and I was just getting things setup and yes, her site will be deployed via kubernetes because it's easy as apart of my infra already.



This brings me back to the olden days of Geocities and other free hosting services, when sites like this were the norm for many people. It's a fun trip down memory lane for sure, and the fact this looks identical to many of those sites provides great evidence for how accessible and easy to learn HTML was in those days...

Either way, nice job, especially for a 7-year old learning web development!



I think I was 8 or 9 when I started building my first website as well, and it looked remarkably similar to this. :) I think the only difference really is that all guides used uppercase for html tags back then. Happy that went out of style.



I hope she's having fun!! reminds me of the old times when I first typed some html code and see results. The feelings of achievement was so good!



Its so simple, I actually love it. None of the massive complex UI mess that modern sites use....it's like looking back on the early web.

Wish I was making stuff this cool when I was 7. I was just into Lego's and rollercoaster knex.



> computers are a very important form of technology. Without it no websites, no Roblox studio, and no nothin.

Oh yes indeed.



Love it! Well done Naya, the information on the page is excellent!

By any chance was this made on a tablet? I see it mentions “tablet… make a website”. Perhaps if children grow up having accessing to tablets over computers, making websites on them won’t seem as foreign compared to a computer.



Mine prefers tablet mostly, but every now and then she will ask to use the PC for some Roblox thing that only works on PC and I give her no end of grief for that :-)



This is the best thing I've seen on the internet in a long time. I'm going to bookmark it and check back for more informative content.

I hope you tell Naya how much HN is loving it!



I think it's just a kid being a kid. Kids are naturally curious and creative. There are plenty of stories right on this comment thread that kids doing similar things 20 or 30 years ago led to those kids growing up and becoming developers, so really I think it's an example of exploring, and it may lead to something much bigger.



Oh my god I did almost the same thing when I was 9, I think I lost the website though. I took excerpts from an encyclopedia on animals and made small blog style pages very similar to this . It was so fun!



I was 10 or 11 and I was typing a pocket dictionary to become first online dictionary. Guess I got as far as "abdicate". If I had succeeded, I would have used a free website generator which we call static hosts today.



Great job!

I was significantly older when I built my first website (19, in 1996) but I'm so glad I had a space to pretty easily put up basic HTML (Geocities, though there were similar options). No WYSIWYG, no build steps, just the basic text-only HTML which created a foundation to build on. It's unfortunate there aren't really good options for that for today's younger creators. (is there?)



I often hear about the simplicity form factors of the internet in a bygone era, before my time, in the mid to late 90's. Now, from all the stories I've heard and the visuals I've seen, someone that's a third of my age now seems to be delivering that spirit of simplicity back :)