skysight-inc/HackerNews huggingface dataset:
Ask HN: Building a Art Arcade
Hey all, a friend asked me to write a small game for an art installation. The thought is a simple arcade-like game in a 16-bit style running on a Raspberry Pi 4. It just needs to store high scores so the SD card can run in read-only or append. Since it's an art install, it needs to run 24/7 for a few months if not a year or two while being interacted with by the public. I'm evaluating a few different options:

- Writing a simple bare-metal OS that runs on the hardware, no OS to worry about.

- Leveraging a slimmed-down OS like Ubuntu Core or Raspberry OS Lite and doing a godot/pygame project (Godot seems somewhat of an unsupported path).

- Retropie/others (I worry about this approach since I just want to run the one game and I'm worried about being able to exit out and break the illusion).

Any suggestions or recommendations? Does anyone have any experience with writing an arcade game/running in a continual fashion? I won't be there to fix it if it goes wrong, so reliability is key.
I have a few places where the shorthash becomes the Docker tag. But you make a good point nonetheless.
The solution that worked pretty well for me at a Windows shop was two monitors, a Linux workstation, and a Windows VM in kvm. The VM stayed up on one of the screens most of the time. This was ~10 years ago and I don't use a windows VM anymore but I was pleasantly surprised within the last year or two to find that Windows 8/10 will happily boot from its own media under kvm (for troubleshooting/restore purposes in my case), so you probably don't even have to reinstall Windows. Just qemu-img convert the disk to qcow or similar to save space.

Desktop quality is highly flexible and entirely what you make of it. I'm happy enough with default Ubuntu unity or whatever they ship this year. Xfce if you want incredibly snappy response, better than any other common modern desktop. Most workflows are browser-based or terminal-based at this point anyway; I use very little desktop software (games are by far the majority of non-browser use and I am pretty happy with Steam's selection) any more. Your mileage may vary.
That sentence is specifically describing my university, like the sentence before it. Nothing in my comment is about for-profit entities.
I agree, especially since a portion of the "new" movies are regurgitation of old classics anyway and more often than not weaker than the original movies.
Or simply [...nodeList].map()
We're already in an ice age, and we have been for the last 1 million years. We're just in an interglacial period (for the past 12K years). We were always going to revert back to a glacial period.

The belief is that CO2 concentration would prevent that, by causing global warming. Otherwise, if we revert to a glacial period, that is currently status quo for planet earth:

https://www.ncdc.noaa.gov/abrupt-climate-change/Glacial-Inte...
Instead of the at work light, keeping notes on paper is somewhat obvious, and tied to actually doing the work. Plus, you can do a pretty clear mental dump when somebody wants you to context switch, and they can see you doing it
Agreed, I was a kid for much of that time, and drivers were usually very nice to me, or at least would know that I was local and not some tourist to scam. But still, thousands of rides with virtually no incidents, I think that's gotta count for something.
You're welcome:

https://www.youtube.com/watch?v=IZUG653xJ7Q
Blame copyright. It's the main reason we can't have nice things.

20 or 30 years ought to be more than enough time before a film lapses into public domain.
I've worked as a GUI developer with Qt for years in the past, and I think that library/framework is an awesome technical feat. It would be a pity if Rust (or any other language, for that matter) had to start over from scratch and reinvent their own toolkit, instead of taking advantage of the years and heaps of applied knowledge (and optimizations) that some older toolkits already have.

If all the man-hours required to design, write, and coordinate the creation of a GUI toolkit that's the same level of advanced and mature, are instead employed in overcoming any difficulty in creating the best possible bindings, we would end up with a heck of a good quality bindings for Qt and still probably for 1/10th of the human effort. All IMHO, of course.
Yeah in my particular case I was flying in from Dallas so I believe they thought I was just visiting, unfortunately for them I'm NY/NJ native.
I would imagine installing directly as a regular user is the _typical_ approach, and even more-so for beginners.

I don’t see any recommendation in the nodejs or npm docs for any other approach.

It may be commonsense and obvious to you, but I would be really surprised if commonsense and common practice overlap significantly in scenarios like this for all but the most security conscious.
Easy solution: apply the same process to management and C-level.
I see that offer for San Francisco, which is not much incentive because SF is a nightmare to drive. Between potholes, construction, getting trapped in city traffic and terribly rude passengers it's not worth it to me, when I could drive the nice wide boulevards of Palo Alto and Stanford University and possibly have an interesting conversation with a student or professor. I took a guy from Santa Cruz to Palo Alto who was going to do his startup pitch to a Japanese company. I told him I was a retired computer programmer so he asked me if he could practice his pitch on me while I drove. That was interesting. Another time I picked up one of the top VR developers in the world at the San Jose convention center. He reported directly to John Cormack at Oculus. He sold me on buying Oculus Quest glasses. That was also a long ride, so that was fun. Hmmm, maybe I will start driving again...
>NYC taxi service has always been great though

as someone on twitter mentioned -- it depended on your skin color and where you were going.
Sure but the argument being made was that native UI helps users learn to use apps. My point is that users are very used to learning entirely new UIs on a regular basis.
I assume that commercial VPN providers are actually fronts for some government that wants to snoop on traffic without having to tap fibers everywhere.

[Edit] Consider if it were the [redacted] government looking for people to have leverage over in the future in their target country.
Also, while it is true that I did sign an NDA, it listed very specific things that I'm not allowed to disclose, and internal policies and procedures were not on the list.
The problem is content owners still think of theaters as part of their fiefdom.

They’ll let you, the consumer, watch TGTB&TU in your house for next to $0 but if a theater wants to show it, there’s a $200 minimum fee (or 60% of ticket sales whichever is higher) plus another $150 to ship a hard drive with the content and one-time key.

You either have to find a lot of people who want to watch TGTB&TU at the same time and location or the studio needs to lower the costs of back catalog content to exhibitors and quit with the whole driving shipping bullshit.
You could set git’s pack.windowMemory option to (say) 128m to avoid git push OOMing.

I expect GitHub wouldn’t handle the push well anyway, though, as mentioned.
And LEDs can now reach 5000K :)
Just curious, how did you quit?

I always enjoyed a good beer, wine and whiskey. But during the covid year, I took a few months break. Then when I had a drink again, I could see how much it affected me. So I didn’t do it again for a few weeks. I tried couple more times but each time it was just not worth it for the next 1-2 days. (After one or two drinks, that is).

Now I just don’t miss it anymore, and I love it!
God also created time. So he's certainly aware of it, but it's something he causes, rather than something that happens to him,.
Google published some info about their repository in 2016: https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...

Some choice quotes:

> The Google codebase includes approximately one billion files and has a history of approximately 35 million commits spanning Google's entire 18-year existence.

> Google's codebase is shared by more than 25,000 Google software developers from dozens of offices in countries around the world. On a typical workday, they commit 16,000 changes to the codebase, and another 24,000 changes are committed by automated systems.

Note that this was 5 years ago. If you look at the number of commits over time, it is growing exponentially, about sevenfold over the last 5 years:

https://dl.acm.org/cms/attachment/c219bd10-b97a-402e-bc94-79...

If you assume another sevenfold increase over the past 5 years, then they should have around 250 million commits now.
winners bias - local culture existed everywhere as grass grows through cracks of the roads to Rome
Japan and London are the only places I've had taxi rides that don't feel like being kidnapped. When they actually show up.
Thank you for sharing your valuable experience. Please read the following lines with as much kindness in the tone as you can imagine, they might seem a bit harsh at times - nothing personal was intended.

With great power comes great responsibility.
The things you describe all seem like a problem of inheriting a code base written by people without much organizational discipline ("was a mess") or working with people ("Relying on other programmers to be consistent and coherent in their naming"), that don't have a coding discipline. Such things should be caught in a code review or perhaps cleared at the design stage. How do you want to work with people, that are not able to communicate their intents clearly to a human? How do these people "talk" to the computer through their code, are they partially guessing the "correct" code? Are these programmers perhaps producing a mess independent of the codebase or language?

I am really sorry for you, it must have been hell. I know Clojure(Script) isn't the silver bullet many people make it out to be. The programmer still has to be quite competent and quite disciplined at times but Clojure can and will support you - that is my experience. I have seen my fair share of stuff, professional programmers with two decades of experience that couldn't use a profiler and would dismiss clearly debugged issues, where they initially pointed fingers at the database and the network. It is quite easy to end up in such a state of incompetence - you don't do very demanding stuff or do the same stuff all over again for 20 years and then comes the advanced problem, you are under pressure, because the deadline has slipped again for a year and you are totally lost in the reflection hell you have created. I have other similar experiences with "professional" programming. Our CTO Pavel has a number of good war stories about static types, avoiding static types and problems created by OOP (classes are types too in my book) too.

Well, some libraries could use better documentation. So could Java, Python ... libraries. The point in Clojure is, you often can just read the whole function because it is like 10 lines of code or the whole library that often isn't that long either (200 lines of code isn't that uncommon). There are core developer on Slack basically every day, so you should be able to catch them and answer questions more or less quickly. And yes, I have had my fair share of problems with libraries too, you can check on Slack if you want - so I sat myself down and have rewritten the part that I needed more in line of our code. It is more robust as it has checks specific to our use case and we have one less dependency we would only use for 10% of its code.

In general, I think Clojure is a great language. It is very powerful and can be a chalange to wield without any kind of insightful guidance. Once you have crossed the initial steps though, you will probably surpass the productivity of most other languages even in a largish team.
I wonder if the provider is really that interested in productivity though. They are not usually bidding fixed price. The longer the project can go on, without the customer just getting so frustrated they admit defeat and cancel, the better for the vendor. So it makes complete sense to keep a close watch on the customer's pulse, and only send in the cavalry when cancellation is looming.
It happens in houses too. People will run their heater warmer than they cool their house to in summer. My theory is that the wall temperature is causing more or less radiant heating and the thermostat gets adjusted to compensate. So if the car body is much hotter it will feel hotter even with the same air temp.
> Now we build some awful little cardboard box and slap an HVAC system on it as if tech makes up for bad design.

This is really infuriating. I lived in a small town which was full of houses built decades ago for workers building hydro plant close by. They were supposed to be temporary and really deserve to be knocked down these days. But they still function... with multiple split system ACs heating them up.

Even if they're money/energy sinks, people don't have enough savings to invest in a more efficient rebuild.
That site just tracks Greenland and Arctic ice. They just measure the volume and extent. On the map of Greenland, any red areas you see are areas where ice melted over the past day. Any blue areas are where it snowed. On the chart, the grey area is the 2 standard deviation range that ice gains/losses typically see over the course of the year, and the blue line is the current year's gain/loss. If the blue line goes above or below the grey area, it's anomalous. Greenland typically melts off some in the summer, but the blue line shows that it's currently gaining ice, and has even had some way above average days this summer, for ice gains. This means its ice volume is increasing, which is counter to predictions.
The API information is viewable once you create an account so that the API incentivizes signups, which is very common. Once you have the URL you can freely use it without a secret key or without a limit! Every other API like this charges you. API details that are viewable behind a login page is not the same thing as a secret key. A secret key is something you have to input every time you query the API, usually for tracking the number of calls you make and to eventually charge you.
I wonder if Hacker News has ever considered making OP content readable.
There are several interesting studies coming out of Africa, where Ivermectin is administered quite frequently as an antiparasitic, like a population wide flu shot. The history of the drug is really fascinating and the research up until politicization quite promising for application to a wide variety of ailments. It looks to also be anti-inflammatory and anti-viral as well. Pretty cool for a microbe discovered by accident from some dirt in Japan.

Here is two: https://pubmed.ncbi.nlm.nih.gov/33795896/ https://www.medrxiv.org/content/10.1101/2021.03.26.21254377v... It has some interesting findings.

Google "Ivermectin Africa" for more

Another interesting fact about Ivermectin or any existing drug that could prove effective... If any do indeed work, then the Emergency Authorization from the FDA would not have been allowed. The fact that it has been politicized raises questions, especially given what we know about how Big Pharma operates.
To be clear, it's not just about birds. The entire planet.
tbf, google maps does a great job with using the bus out there. Muni still sucks to be on, it's never on time etc., but at least you can get your route on google maps now. Been that way since at least 2012
Alibaba Challenges Amazon with a Promise: Fast Global Shipping
Show me some code you can only write using either call, apply, or bind.
Most movies do not age well.
None of which are proven in solid tumours. Talimogene laherparepvec, a viral immunotherapy is another one in actual use, but is much less impactful than nivo/pembro/atezolizumab.
> A trivial example on Windows would be how Win32 applications get to use the Win+; emoji popup even if they were made before Windows even got that feature, or how even classic VB applications can be made to run in HiDPI mode by ticking a shortcut checkbox despite being written decades before HiDPI was even a thing (assuming they use twip instead of pixel coordinates at least).

eh, I really really disagree with this. In my experience more often than not this kind of changes breaks the app in various ways. What if the app was using that shortcut for something else ? Now it's broken and can't be used anymore.
Likewise for the hidpi thing that windows does, it's terrible - running the app at original resolution and applying a 2x nearest neighbor filter to the whole window would be better than that mess of "crisp" text with upscaled pixmaps that were never made for this resolution.

> Or on Linux, how some old games made for it need their bundled SDL removed so that the games can use the system-provided version because the old version tried to use OSS or whatever was common at the time the game as written and the new version can use ALSA or even Pulse that didn't even exist in older times. And i remember reading on twitter about some distros planning to provide the SDL1-to-SDL2 wrapper as an option instead of the real SDL1 because it provides better compatibility with some modern window managers... and Wayland (that SDL1 doesn't support at all but the API doesn't really make a difference and could work perfectly fine with Wayland).

I strongly believe that for old games / software it's better to use a VM / emulator for hardware of that game's era.
If you're keeping that many docker images around you have other problems to worry about.
This implies taxi drivers had worker protections, which isn't true.
Tech Cold War's 'most complicated machine' that remains out of China's reach
A new Biden order will crack down on tech mergers, data gathering and ISPs
Sadly (or not, really) there are no class/instance methods in javascript, cause its key lookup model is prototype-based and ‘method’ functions just get ‘this’ lexically (in x.y.f(), f() operates on x.y). The combination of these two facts builds up an entire OOP in js. If you really want to free your code of these ideas, it’s much easier to use some js-transpilable language out there.
I'm for this idea in principle but part of the reason that makes bars great is the alcohol though. It lowers inhibitions (and anxiety) and makes people more friendly and open to discussions. I see a future where there might be less harmful ways to achieve the same state though (some kind of drinks with a very low quantity of a drug which has the same psycho-social effects as alcohol without damaging internal organs; maybe marijuana or maybe something more synthetic. In SF there are "bars" where you can simply consume marijuana based products, served by "budtenders". I can definitely see a future where bar-like places substitute alcohol for drinks which have some kind of rating that tells you how "strong" the effects might be, similar to how they show the ABV content of alcoholic beverages today.
Cybersecurity – There’s still time left
Sorry, yeah, I did allow for closures inside class methods with that statement. That's fine by me.
If you enable strict (https://www.typescriptlang.org/tsconfig#strict) or use the `strictBindCallApply` flag (https://www.typescriptlang.org/tsconfig#strictBindCallApply) it should check the types on call, bind and apply.
Every language has parts that are harder to understand because they unlock the deep magic.

If you really haven't found a use case for call/apply/bind, or are confused by `this`, it's more likely that your focus has been on thin-client user facing applications for most of your career. These language features are invaluable for tool building, and are foundational to most of the tools you probably leverage to make thin-client user facing apps

NOTE: most developers work in thin-client user facing applications, that's not a dig or anything, it's just where 99% of the work exists
You have my full agreement. You can write great javascript without ever touching prototypes, and probably even avoiding inheritance altogether unless you have a really succinct use-case.
Off the top of my head:

- Resizing windows from any edge

- Flipping the scrollbar direction

- Automatically hiding scrollbars

- Traffic light colored buttons on windows

- Whatever the three window buttons are now

- The dock

- "Close without saving" becoming "Delete" in some apps

- Floating alerts versus slide-down anchored alerts

These are all fairly minor, but there's a lot like this and it all adds up to things not quite working the way you expect over time.
> God cannot be both omnipresent and only exist outside of time.

How so? God exists simultaneously at all the moments that exist. Time was created by God, just like the universe was.

> so clearly that God at least exists within the temporal universe.

Imagine you are writing a book, where you, as the author, are also a character. You can interact with your characters as they do things - but you can also go back and change anything you want, and you can see the ending as well.

(Keep in mind that God always maintains free will - God doesn't force any human to act in any particular way, it's always their own choice.)
I usually ace front-end interviews right until I feel insecure because I’m seriously asked about concepts I haven’t used in production after working in this field for 10 years.
I think they've run out of options and are between a rock and a hard place.
There's a packfile and index file in releases: https://github.com/not-an-aardvark/every-git-commit-shorthas...
Most boba places I've been to let you select a percentage of sweetness. But I agree, its not something you could have many "pours" of in the same sitting (like e.g. beers).
> Maybe you should go back a few decades until you can find a time when the top 20 were mostly originals.

Even if box office leaders were never mostly originals, there's still a very big difference between 50% and 20%.
> To be absolutely clear, comp is not based on stock appreciation. You get your grant (aka no. of stocks/RSUs) that vest at some cadence. By the time you vest a tranche and share price has increased is an added bonus (though generally people in tech think 4x in 4 years is their birth right.)

This depends on the company. My understanding is that Amazon does keep stock price in mind when doing vesting of stock. If your personal projected comp is above the "intended" level (due to a large share price increase), your stock award in a given year will be smaller.

So your stock vest in year 3 might be smaller because growth was high (or your initial offer was above-market). Google and Facebook don't do this. Each year is modeled independently. Microsoft also models years independently afaik, but their stock vests slightly differently.
Though they may complete it 30% faster. I’m chuckling now as I watch a current project having all sorts of issues when I (principal engineer) could have had it already done.
You can actually do it yourself, there are lots of book out there how to navigate the patenting system. You don’t need to hire a lawyer if you spend some personal time but on the EU you don’t have that option at all.
Even if they're money/energy sinks, people don't have enough savings to invest in a more efficient rebuild.

Poverty is always expensive. That's what keeps people trapped in it.

If it were cheap to be poor, it wouldn't be poverty. It's the fact that you get bled for your time, money, energy and anything else you've got that makes people poor.
“in houses that look toward the south, the sun penetrates the portico in winter, while in summer the path of the sun is right over our heads, and above the roof, so that there is shade.”

That is Socrates himself, explaining the advantageous way to orient houses. The Greeks paid special attention to this during their energy crisis, when they had burned the available forest and the citizens were eyeing the olive groves.
Opposite for me. Been drinking way too much since Covid. Need to take a break