[HN Gopher] The PS2's backwards compatibility from the engineer ...
       ___________________________________________________________________
        
       The PS2's backwards compatibility from the engineer who built it
       (2020)
        
       Author : msephton
       Score  : 226 points
       Date   : 2025-02-04 11:56 UTC (4 days ago)
        
 (HTM) web link (freelansations.medium.com)
 (TXT) w3m dump (freelansations.medium.com)
        
       | mcflubbins wrote:
       | > Luckily, I got the chance to learn how to program computers
       | thanks to a training program that the company ran. The material
       | was easy for me to grasp and I came away from that training
       | feeling like I could program just about anything. After I was
       | done with that training, I did a lot of odds and ends.
       | 
       | I worry such entry-level positions and on-the-job training will
       | start to disappear (if they haven't already.)
        
         | msephton wrote:
         | I wonder if Sony still runs such things...
        
           | ramchip wrote:
           | I think so, it's common for large businesses in Japan to
           | rotate employees through departments at the beginning of
           | their career, and to hire people for engineering with a
           | degree in another field. In the English language FAQ for
           | instance: https://www.sony.com/en/SonyInfo/Careers/japan/en/f
           | aq/major....
           | 
           | > Can I still apply even if my major and job course are not
           | related?
           | 
           | > Please do! Around 40% of our new recruits work in positions
           | that are different from their university majors. Instead of
           | narrowing your options by focusing on your major, please
           | expand your thoughts and ideas to what you want to do at
           | Sony. Pick job courses that excite you and motivate you to
           | take on a challenge.
           | 
           | In the Japanese website they mention that 300 engineers act
           | as in-house instructors.
        
         | lukevp wrote:
         | I think we're a couple years out max from Peak Developer and a
         | lot of the growth / entry level roles will start getting taken
         | over by the experienced devs who can adapt to coordinating a
         | set of AI agents to do the actual coding and testing and DevOps
         | more efficiently, and it's all downhill from there. So I don't
         | see an entry level, mess around directly writing code job, to
         | exist in abundance in say 10 years.
        
           | suhastech wrote:
           | I can see that happening. However, I also believe that
           | college or some form of structured education will step in to
           | bridge the gap. Historically, education has played a role in
           | transitioning people from knowing little to becoming
           | workforce ready. With AI changing the landscape, the gap will
           | undoubtedly be wider, but education systems may evolve to
           | accommodate that shift. By the looks of it, AI could itself
           | fill that gap.
        
             | bilegeek wrote:
             | That's the exact problem though. Companies have been
             | outsourcing training to colleges for decades now, further
             | and further reducing available career paths as mentioned
             | and causing degree inflation, higher education costs for
             | everybody, etc.
             | 
             | It's also unlikely to change because it's just one more
             | symptom of how companies are run these days, and that
             | mindset has societal-scale momentum now.
        
               | scarface_74 wrote:
               | Why wouldn't they? Despite what idealists think that
               | people should go to college to "expand their minds and be
               | better citizens of the world", most people can't afford
               | to spend tens of thousands of dollars and not expect to
               | be ready for careers.
        
               | bilegeek wrote:
               | I didn't intend to sound crunchy like that. College for
               | practical means has long been the norm in the US vs.
               | elsewhere, going back to agricultural schools in the 18th
               | and 19th centuries. There is nothing wrong with that;
               | what is NOT good is the whole-sale replacement of job
               | training to colleges, as it cannot properly encompass
               | every eccentricity of a particular job, leading to the
               | problems mentioned before.
               | 
               | College is about getting the knowledge to perform your
               | field, not the knowledge of every particular procedure
               | one could possibly expect to see. The modern emphasis on
               | internships softens the blow somewhat, but it's a half-
               | hearted replacement and is easily abused in many fields.
        
           | sunnybeetroot wrote:
           | I thought the same, but then I came across a post asking what
           | happens when all the seniors retire?
        
             | AlotOfReading wrote:
             | What happened to when all the Cobol developers retired?
             | Companies mostly kept trying to hire non-existent seniors
             | at moderately elevated rates and paid consultants until
             | they ran out of money. Very few companies did an about turn
             | and started investing in developer training.
        
               | throwaway48476 wrote:
               | And there's still not a COBOL training pipeline.
        
               | amtamt wrote:
               | Check out Infosys "global education center".
        
           | mirkodrummer wrote:
           | I don't see this future coming, companies are made and will
           | be made by people, if such level of productivity will be
           | reached it will only increase the demand for more people
           | doing it. Going from assembly to higher level languages
           | didn't shrink the workforce, actually required more
           | developers. Productivity improvements(given i don't believe
           | it will be that much of an improvement) don't necesseraly map
           | to few people doing it
        
         | dclowd9901 wrote:
         | This upsets me too. I always loved hiring inquisitive,
         | energetic juniors who didn't know shit about software
         | engineering but wanted to learn everything about it. I haven't
         | been allowed to hire a junior in close to a decade.
        
           | jamesy0ung wrote:
           | As a Computer Science student, what should I be focusing on
           | in order to get a job in this market?
        
             | dfedbeef wrote:
             | Edit: paid internships
        
               | burgos_thrw wrote:
               | This. I mentored five interns across two companies (an
               | faang and a pre IPO) all of them are on the great path
               | and in great companies now. They didn't know much but
               | they had an appetite that you don't see often in the
               | people with 10+ years of experience.
        
             | _blk wrote:
             | Actual projects to showcase. Open source/Github helps but
             | is not a strict must.
        
             | ahartmetz wrote:
             | IMO: Writing, extending and fixing bugs in nontrivial
             | programs, collaborating with others, reading a lot of
             | documentation of the things you use, discussing programming
             | with other interested people. The scientific part is
             | usually not at the fore in practice and your courses will
             | be plenty for that.
             | 
             | Working on some large FOSS project will teach you most of
             | the skills, though maybe don't specialize too much. Some
             | people seem to mostly fix bugs, others design and half-
             | finish stuff before switching to something else, etc. It's
             | best to know the full lifecycle in order to have relevant
             | experience for all situations.
        
             | memorydial wrote:
             | Focus on building real projects, contributing to open
             | source, and gaining practical experience. Strong problem-
             | solving skills, knowing system design basics, and some
             | cloud familiarity (AWS/Azure/GCP) help. Networking and
             | referrals matter a lot--try to connect with industry folks
             | on LinkedIn or attend meetups. Most importantly, don't just
             | grind LeetCode--show you can build and ship things.
        
               | freedomben wrote:
               | Very much agree with this. When I am looking at recently
               | graduated candidates, I look for things they have
               | actually built. When they have Open source projects on
               | GitHub, that is incredible. Just throwing any crap up.
               | There isn't sufficient though. Just throwing your school
               | assignments up. There doesn't count either.
               | 
               | My best advice is start writing code to solve problems in
               | your own life. Basically write apps to solve your own
               | problem. A great example currently on hn is an expense
               | tracker. That sort of stuff is great because you can
               | showcase your front end and back-end skills, along with
               | design and refinement. Then maintain that project for a
               | while to show a history, which demonstrates your skill of
               | maintenance. That sort of thing Will get you hired by me
               | as a junior in a heartbeat.
        
             | dclowd9901 wrote:
             | Biggest thing I can advise is stay away from AI. Learn what
             | you're doing, learn how code works, is structured, is
             | written and why. The most successful engineers are the ones
             | who learn the "language" of software engineering. They have
             | some sense of how a program is structured even before
             | looking at a line of code.
        
           | chii wrote:
           | > hiring inquisitive, energetic juniors who didn't know shit
           | about software engineering but wanted to learn everything
           | about it
           | 
           | the modern management culture has warped the
           | apprenticeship/mentorship model (which is what's being
           | described).
           | 
           | The management do not want to risk investing in someone
           | junior, lest they become senior and move to a different
           | company. So the strategic thing to do is to hire someone
           | already senior, and not pay the cost of the
           | education/training.
        
             | xanderlewis wrote:
             | At least it's still preserved in academia.
        
               | devwastaken wrote:
               | academia has overwhelmingly outputted low quality. corps
               | dont invest because people hand over their taxes to uni's
               | instead. a bad deal in late stage capitalism.
        
               | _blk wrote:
               | Untapped resource: Homeschoolers and self-tought people.
               | Of course that entails that you have to be willing to
               | look at more than what school they went to in the resume
               | and your company is on board with non-accademic hires,
               | but that's partly your job if you want a change.
        
             | ch33zer wrote:
             | This is a problem of their own making: treat your employees
             | well and they won't want to leave. Treat them like cattle
             | you can extract value from and they will.
        
               | Borg3 wrote:
               | Yeah, but employees are just resources.. You can always
               | hire new talent.. Until not ;)
        
             | freedomben wrote:
             | > The management do not want to risk investing in someone
             | junior, lest they become senior and move to a different
             | company.
             | 
             | Agreed, but this is a legitimate concern. In fact, it's
             | almost a guarantee in my experience. The vast majority of
             | people, myself included, do not stay at the same company
             | long-term anymore. I mostly blame The company's ridiculous
             | HR policies around salaries and promotions. For this. They
             | have built a system in which if you want a promotion or
             | raise you typically have to leave the company. However,
             | that does not change the reality that most Juniors will not
             | stick around long enough to become seniors.
             | 
             | I don't know what the solution is, but we definitely need
             | one.
        
               | chii wrote:
               | bring back the apprenticeship model, and stipulate that
               | there's a cost to leaving the apprenticeship program
               | until the company gets back X number of years of service
               | in exchange for the apprenticeship perhaps.
        
               | SkiFire13 wrote:
               | The issue then becomes that if the apprenticeship is not
               | teaching you anything then you're stuck and likely
               | underpaid with a bad company for X years.
        
               | freedomben wrote:
               | This is acutally somewhat interesting. I definitely don't
               | want to bring back the indentured servitude model (or
               | indentured servititude lite which I worry would happen),
               | but maybe with some creativity we could come up with
               | something. Maybe a way for other companies to buy out a
               | contract or something?
               | 
               | My guess is there isn't really a way to get this done
               | without some violations of freedom, so it probably isn't
               | going to work, but it would be fun to brainstorm on.
        
               | A4ET8a8uTh0_v2 wrote:
               | << The company's ridiculous HR policies around salaries
               | and promotions
               | 
               | I literally just had a conversation with my boss. You are
               | near top of your band so can't do much in terms of
               | raises. To his credit, he at least offered a path to the
               | next level, but honestly.. that promotion should have
               | happened after last year's crazy project.
               | 
               | << if you want a promotion or raise you typically have to
               | leave the company
               | 
               | And this is mostly what they got, because people respond
               | to incentives. I know my last move was upwards for 30%
               | raise ( yes, I was clearly fairly underpaid ).
               | 
               | << However, that does not change the reality that most
               | Juniors will not stick around long enough to become
               | seniors.
               | 
               | My first real job kept me for 10 years. It could happen.
               | Still, the tension between management and rank-and-file
               | is real though.
        
               | dclowd9901 wrote:
               | What's funny is they'll end up raising the pay anyway.
               | It's not like when you leave they can get someone for the
               | same pay. They're going to have to pay as much to an
               | incoming candidate as the next company will have to pay
               | you. They're literally just banking on you either being
               | too lazy or afraid to leave. So then the only loyal
               | engineers they have are ones who aren't competent enough
               | to leave.
        
               | freedomben wrote:
               | Exactly! I think they realize this too but justify it as
               | a bet. They win the bet often enough that it makes it
               | worth it, and the few times they lose are just accepted
               | as risks of the business. It seems idiotic to me, just as
               | idiotic as thinking of engineers as fungible.
        
               | dclowd9901 wrote:
               | The solution is quit letting accountants and managers
               | determine pay raises and promotions.
               | 
               | Then you might ask what are managers for. To this I have
               | no answer.
        
           | pjmlp wrote:
           | Never had that experience, and I have seen a lot as I am
           | approaching 50 years old, Software Engineering hiring has
           | always been with an Engineering degree through HR, on my part
           | of the globe.
        
         | Sakos wrote:
         | I haven't seen any entry level positions or on the job training
         | at any company I've worked at. I've always been jealous of
         | these training programs that Japanese game companies had, where
         | you'd be working alongside future and contemporary greats.
        
         | memorydial wrote:
         | If companies don't invest in juniors because they 'might
         | leave,' they'll just end up with a team of burned-out seniors
         | who eventually leave anyway.
        
           | xandrius wrote:
           | It's not necessary true. Not hiring juniors doesn't imply
           | burning out the employees.
        
           | gosub100 wrote:
           | thats exactly what they want, then they put on their sad face
           | and tell congress "we just can't _find_ anybody! " and voila,
           | in rolls the H1B drones who work at 25% off.
        
         | alt227 wrote:
         | In the UK this is generally being replaced by schools. Kids
         | start basics of logic early in primary school, and by their
         | teens they are attending lessons in how to build websites with
         | HTML and CSS. In 10 years everybody in the country will have
         | this basic grounding in coding and so workplaces will not need
         | to provide it at all.
        
       | msephton wrote:
       | Previously:
       | 
       | - 2023: https://news.ycombinator.com/item?id=34944067
       | 
       | - 2020: https://news.ycombinator.com/item?id=22501566
        
         | dang wrote:
         | Thanks! Macroexpanded:
         | 
         |  _The PS2's Backwards Compatibility from the Engineer Who Built
         | It_ - https://news.ycombinator.com/item?id=34944067 - Feb 2023
         | (48 comments)
         | 
         |  _The PS2's Backwards Compatibility from the Engineer Who Built
         | It_ - https://news.ycombinator.com/item?id=22501566 - March
         | 2020 (16 comments)
         | 
         | Note to avoid misunderstanding: reposts of cool articles are
         | totally fine after about a year (this is in the FAQ:
         | https://news.ycombinator.com/newsfaq.html). Lists of related
         | links are just to satisfy extra-curious readers.
        
       | mouse_ wrote:
       | What I wouldn't give to attend that 90's PlayStation R&D internal
       | intro programming course.
        
         | Locutus_ wrote:
         | The thought someone went from no programming background, taking
         | a company internal course and then writes a GPU emulation layer
         | in the 90's is just absolutely mad.
         | 
         | Super impressive!
        
       | apt-apt-apt-apt wrote:
       | 20 years? Feels like not that long ago when I was able to
       | leisurely rock out on the new Guitar Hero with that.
        
         | doubled112 wrote:
         | Part of me thinks it is because games haven't really changed in
         | those 20 years.
         | 
         | Time wise we are further away from the PS2 than it was from the
         | Atari 2600.
         | 
         | The move from 2D to 3D was massive. The PS1 and N64 made
         | experimentation (and bad choices) possible. By the time PS2
         | came around it was all figured out, and we have what we have.
        
           | maccard wrote:
           | I think this is a bit of a myopic view. There's a world of
           | difference between the Aron games of 2024 and 2002. We didn't
           | really nail third person camera controls until Xbox 360/ps3
           | era, and the multiplayer landscape has changed massively -
           | marvel rivals and hell divers 2 being two great examples of
           | the last 12 months. The indie or AA scene is booming again -
           | that certainly wasn't true in the ps2 era and early days of
           | steam, something like Balatro being a perfect example again.
           | You're also forgetting g the vast, vast amounts of absolute
           | shovelware and drivel that came out and was tolerated on
           | those platforms too.
        
             | 1970-01-01 wrote:
             | I think your view is a bit myopic.
             | 
             | Take Final Fantasy Online, Grand Theft Auto San Andreas,
             | and all of EA Sports as evidence. Those games were best
             | selling for a reason.
             | 
             | https://en.wikipedia.org/wiki/List_of_PlayStation_2_online_
             | g...
        
               | maccard wrote:
               | I'm not saying there weren't great games, far from it.
        
           | scott_w wrote:
           | I think there's some rose tinted glasses here. And I say this
           | as someone who loves Final Fantasy X, Devil May Cry, Grand
           | Theft Auto: Vice City. The PS2 was still figuring out 3D
           | cameras and jank was a real issue. I'd say it took to the PS3
           | era where the console had enough power to truly render 3D
           | worlds and have a controllable camera that worked well,
           | especially in action games.
           | 
           | Now I'd say the PS2 games themselves were way better than the
           | PS3 era, even with that jank ;-)
        
         | armadsen wrote:
         | This article is from 2020. The PS2 came out almost 25 years ago
         | now.
        
       | djmips wrote:
       | I find it interesting that the Sega Genesis (Mega Drive) also was
       | backwards compatible with the Sega Master System.
       | 
       | Inside the Genesis they had the hardware for the Master System,
       | which included the original Z80, the original sound chip. The
       | Genesis graphics chip was evolved from the Master System and
       | could work in Master System mode. You needed a cartridge
       | adapater.
       | 
       | The other surprising thing is that you could actually run the Z80
       | in parallel with your 68000 when running a Genesis game. We used
       | the Z80 as a sound co-processor running MIDI and playing sampled
       | drums without bothering the 68000.
       | 
       | On the PS2 system's PS1 backwards compatibility this pattern is
       | quite similar, not mentioned in the blog posts is that the IOP
       | which acts as the PS2's sound co-processor contains an R3000 like
       | the PS1 and it's underclocked to directly run the PS1 titles.
       | 
       | Apparently on later editions of the PS2 Slim they removed the
       | R3000 based IOP and replaced it with a PowerPC microcontroller!
       | It had to fully emulate the R3000 and the SPU as far as I know to
       | fufill the IOP duties including the PS1 emulation.
        
         | poke646 wrote:
         | > The other surprising thing is that you could actually run the
         | Z80 in parallel with your 68000 when running a Genesis game. We
         | used the Z80 as a sound co-processor running MIDI and playing
         | sampled drums without bothering the 68000.
         | 
         | I always thought that was a key reason to include a Z80. A
         | dedicated sound processor (often Z80) was a mainstay of arcade
         | games from the mid-80s and onward and SEGA's engineers would
         | surely have been familiar with such a design. It might even
         | have helped when porting arcade games.
        
           | skywal_l wrote:
           | They were because sega was, at the time, an arcade
           | manufacturer first. The Megadrive is the console version of
           | the system 16 after all.
        
       | memorydial wrote:
       | The decline of entry-level roles is worrying. Companies are
       | optimizing for immediate productivity but forgetting that juniors
       | grow into seniors. No training, no pipeline, no future talent...
        
         | relistan wrote:
         | Agreed. Boot camps tried to fill the void. Some were great,
         | some were not, like anything. Most of the boot camp grads I
         | worked with were good juniors with real world experience to
         | bring to the table (designers, writers, etc). But, in general,
         | the disdain boot camps were met with by many engineering orgs
         | spoke volumes for how little value people place on junior
         | engineers. If you won't train people, and you won't accept
         | graduates of job training programs, it's hard to see how you
         | can ever have a sustainable pipeline. Many people would
         | seemingly rather spend billions training AI than training
         | junior engineers. (For the record, I don't view these two
         | options as exclusive)
        
           | andai wrote:
           | Isn't the end result exclusive?
        
             | relistan wrote:
             | Possibly
        
           | freedomben wrote:
           | I agree that many engineering orgs did not give boot camps
           | proper chance, but I do think it is important to be realistic
           | regarding them. Generally speaking, Someone coming with a
           | computer science degree is going to be a lot more well-
           | rounded with much more breath and depth then someone coming
           | from a boot camp.
           | 
           | It's not really a great comparison though in my experience.
           | Typically, a good boot camp graduate will come away with a
           | better ability to build real apps, but has a serious lacking
           | in understanding algorithms, OS fundamentals, and many other
           | things That important for Back-End development, especially.
           | 
           | I'm not sure what the solution is to the junior engineer
           | crisis, but I don't think the solution is boot camps. Those
           | have a great place, but if anything a junior coming from a
           | boot camp is generally even more Junior than a junior coming
           | from a computer science degree.
           | 
           | My hypothesis is that The computer science degree route is
           | what will be most useful for juniors in the future. In a
           | world where AI can do the basic coding and build the apps, I
           | see the qualities in appreciating overall design and
           | architecture, especially with regards to scalability. There
           | could definitely be boot camps that teach that sort of stuff,
           | but I am not aware of any that exists currently.
        
             | relistan wrote:
             | Many of the best engineers I have worked with don't have a
             | computer science or engineering degree. The business we're
             | in is writing software to support the company. Most of that
             | is stuff they don't teach in computer science: inter-
             | personal communication, project planning, coordinating,
             | gathering requirements, writing. Learning computer science
             | fundamentals helps but is in no way required to get
             | started. This is a trainable job like any other. Many boot
             | camp grads bring a lot of those skills to the table
             | already.
        
               | robertlagrant wrote:
               | It just depends on the job at hand. If the engineering is
               | very easy, and most of the work is gathering requirements
               | and coordinating, then it's as you say. This is what Java
               | was invented for, and I've been that person. But it's not
               | the same as being a really good engineer (which I'm not).
        
               | relistan wrote:
               | You are assuming that you can't learn that stuff on the
               | job. There is nothing in a computer science education
               | that is not available to learn on the job and in reading
               | and experimenting on your own over some years.
               | 
               | By contrast, a not insignificant number of graduates of
               | computer science and engineering programs struggle to
               | excel outside of writing code. That is only a small part
               | of the job.
        
               | freedomben wrote:
               | I agree with everything you said, but I do think there is
               | a difference betwee "required" and "optimal." I worked
               | with a guy who went to boot camp after switching career
               | fields and had absolutely no CS background. After
               | starting the job (and excelling), he started reading text
               | books from a CS degree plan. He learned more about CS in
               | a year than many people with 4-year degrees, and he
               | became a formidable dev. However, most people aren't that
               | dedicated/willing to learn.
        
             | taurknaut wrote:
             | > Generally speaking, Someone coming with a computer
             | science degree is going to be a lot more well-rounded with
             | much more breath and depth then someone coming from a boot
             | camp.
             | 
             | In my two decades in the industry I've used my computer
             | science education maybe twice.
        
               | jeremyjh wrote:
               | I don't think I'd go around telling people that. My
               | education has been very helpful, and knowledge sticks to
               | knowledge your whole career. To think you learned nothing
               | applicable in a 4-year CS program honestly tells me more
               | about you than industry.
        
               | freedomben wrote:
               | Interesting, I use stuff I learned from my computer
               | science frequently, especially regarding algorithms, data
               | structures, and OS fundamentals. Granted I'm much more on
               | the backend/infra side, but those things still come up
               | regularly. Just yesterday I faced an issue regarding the
               | way threads operate that a basic understanding of
               | processes and threads in the OS made a lot easier.
               | 
               | It's nothing that a person can't learn outside of a CS
               | degree of course, but most people won't spend the time to
               | dig into the formal and often abstract principles to
               | really understand how different algorithms perform and
               | how choice of data structure impacts performance. I've
               | reviewed code many times that really should be using a
               | linked list or tree but ends up thrown into a hash
               | because that's basically the only data structure the
               | person knows. Not uncommon is a reply "Premature
               | optimization is the root of all evil" which drives me
               | crazy. It doesn't take much effort to just use the right
               | data structure in the first place if you understand their
               | pros and cons.
        
         | pjmlp wrote:
         | As it has always been, at least since I am on the job market,
         | early 1990's.
         | 
         | In the little Iberian Penisula, you would seldom get a
         | training, and being hired as junior without experience in what
         | folks were already doing, was through connections as it usually
         | happens in more "flexible" cultures.
         | 
         | And better have a degree on thee field, either technical
         | school, or higher education.
         | 
         | Trainings? That is for us to do at home instead of watching TV,
         | lets not diminish company profits, someone has to keep their
         | audis, volvos and bmws for management roles.
         | 
         | It is not only due salaries that so many emigrate.
        
           | A4ET8a8uTh0_v2 wrote:
           | << Trainings? That is for us to do at home instead of
           | watching TV, lets not diminish company profits, someone has
           | to keep their audis, volvos and bmws for management roles.
           | 
           | The 2nd hand expression of this I heard was along the lines
           | of: you should already have a portfolio of projects to show,
           | github with stars and/or significant FOSS contributions.
           | 
           | I read the article and it made me realize how far we moved
           | from that model. Apart from everything else, my own company's
           | training is generic training intended to check the box..
        
         | stockboss wrote:
         | as an employer, it's not about us being unwilling to hire
         | juniors. it's that juniors these days demand too much salary
         | for their position. especially for a small startup like ours,
         | we can't afford to match FAANG company salaries. if juniors
         | want a chance, they should be ready to accept low salaries.
        
           | mycall wrote:
           | Every senior developer is still a junior developer depending
           | on the domain at hand. If you want a lateral move into
           | another job, imho it is ok to take a pay cut and become a
           | junior again, e.g. webdev into C++ games. I don't see why
           | people are scared of temporarily taking pay cuts but it has
           | always been the nature of being a dev.
        
           | mouse_ wrote:
           | I'll work for minimum wage if you're going to offer me the
           | kind of training described in this article
        
       | trod1234 wrote:
       | https://archive.ph/qKNZk
        
       ___________________________________________________________________
       (page generated 2025-02-08 23:01 UTC)