Hacker News new | past | comments | ask | show | jobs | submit | VikingCoder's comments login

Can I run around with my phone, and capture some Gaussian Splats of... grass... bushes... dirt...

And then select one-meter square patches of land... and one-meter cubes of spots with bushes...

And then make a "Minecraft-looking" world, repeating the grass block all over the place, with occasional dirt and bushes?

I'm guessing I'd need some pretty beefy hardware to render thousands of blocks...


You definitely could prototype something like that. Would be really cool to see.

Please help me figure out the best way to share code between Github repositories...

I love C#, and I acknowledge Github as the king of source control.

I make a new Repository a couple times a week, and use Visual Studio Code to clone it, and open a terminal and "dotnet new gitignore" and then use dotnet to make new projects all over the place...

On multiple machines, even. On a VM on my NAS. On my Windows machine. On my Windows laptop. On a VPS.

And I'm happy.

But how in the holy hell am I supposed to share code from one repository to another?

I want to make VikingCoderLib as a C# library (classlib), and drop in all of my favorite Extensions for generics and strings, and etc.

And then make another classlib for some of my Protocol Buffer utilities. And another classlib for setting up a terminal.js console for an app. And...

What's the best way to do that?

Submodules?

They really seem to suck. I can't easily make changes here, and use them there, without it being a huge pain in the rear.

Am I doing this wrong? Am I missing something?


I don't mind submodules much. I mean when I first used them I thought it was sucked, but now I use it all the time for personal projects. I like to make small Lua libs or fork existing Lua libs and include those in a lib directory in my LÖVE / LÖVR projects. Works fine for me.

Perhaps the only thing that sucks a bit about submodules, might be if you work with multiple people and some reference of a submodule is updated and you need to go into the submodule directory to update the reference locally. But I think that's the only thing, no big deal. I don't think you deal with this issue much when you work by yourself on a solo project, on a single machine.


How does any other language do this? I bounce between submodules and monorepo for hobby projects and both approaches have some issues. I'm not a git expert so working with monorepos are a little easier to work with for me.


Make your own packages for your extensions and pull that packages into your projects that need to reference those extensions.


And set up my own nuget repo?

I want my code to be private...?


Yes you would set up your own nuget feed and publish as part of your build. You can set up the nuget feed on your own machine, use something like Teamcity or GitHub packages.


Monorepo?


I hate that you're almost certainly right.

It feels like there should be a good way to have a dotnet classlib in one repository, and use it from others, but it just doesn't feel like they fit together the way they should.


You can also see my workflow for patching godot engine so it's mergable on a rebased master or stable release.

> This project uses git-assembler to simplify merging patches on top of the latest stable release by allowing each patch to be in a separate branch, so they can all be merged into a fresh branch without complicating the revision history.

https://github.com/KeyboardDanni/godot-for-sidescrollers

I'm https://github.com/fire


I use git subrepo to make a monorepo.


It doesn't work on any of my 3 Windows machines, all completely different hardware. Jank factor 100% for me. I wish I was seeing what you're seeing.


Some jokes I saw on Reddit:

He is to be referred to as, "Da Pope."

"Ketchup to be banned in the Vatican."

"He's going to replace Communion Wine with Malört."


Deep dish pizza, I'm not so sure is going to find many fans in Rome.

Just put a cover on top of it and call it a calzone, I guess.


He's a South Sider (Dolton) and South Side Chicago pizza is cracker-thin.


Thin-crust (or "tavern style" as some call it) has been widespread across the city for quite awhile.

> As of 2013, according to Grubhub data and the company Chicago Pizza Tours, thin-crust outsells the more widely known deep-dish style among locals, with GrubHub stating that deep-dish comprises only 9% of its pizza deliveries.

https://en.wikipedia.org/wiki/Chicago-style_pizza#Thin-crust...


I'm not saying we own thin-crust Chicago pizza, just that deep dish was not a thing on the south side when he lived there (it wasn't in the 80s and 90s when I grew up there either).


I ate Edwardo’s several times a month on the south side in the 80’s and 90’s, as did a sizable number of my friends. This is back before it became a chain (I guess technically the south side location was the second location, so it was already a chain) and they decided to take the best pizza on earth and make it mediocre-to-poor for a mass audience, which I guess happened in the early aughts?

So there is at least an existence proof for deep dish very much a thing for south side kids when he was in the vicinity.


He's apparently an Aurelio's guy (that's cracker-crust, for those not from the neighborhood).


Ha! Good to know. Friday is our pizza day, and we usually go with one local to us (Capri's), but on occasion do Aurelio's. I think today we'll have to do Aurelio's.


Do people actually think deep dish is the only kind of pizza people eat in Chicago? I thought that was a meme.


I hope they bring Fred Armisen in for the SNL impression.


Dislike Chicagoans ketchup?


Yes, it's very much anathema to put ketchup on a hot dog, at least among Chicago hot dog enthusiasts.

For those unfamiliar, Chicago is also one of those American cities with its own style hotdog, so it's something of the local culture:

> All-beef frankfurter, on a steamed poppy seed bun, topped with yellow mustard, chopped white onions, bright green sweet pickle relish, a dill pickle spear, tomato slices, and a dash of celery salt.

From https://en.wikipedia.org/wiki/Chicago-style_hot_dog

Obviously, this is only as serious as you take hot dogs, but they are very good and compared to deep-dish pizza, the Chicago-style hot dog feels almost healthy.


Yes. I think at this point it's more of a meme than a trend, but tbh I will not take Ketchup on my Hot Dogs / Red Hots just as a shibboleth signal.

That said, there are exceptions (my sister is dead to me though...)


they certainly don't appreciate it on their hot dogs.


being from the non-Chicago part of Illinois, I love piling ketchup on hotdogs in Chicago just to see the looks of disbelief and scorn. Makes the hotdog taste that much better!


Beyond the age of 8, apparently.


Daaaa Pope.

Coulda been Pope Ditka.

Also... Bears fan from [deepest darkest] Peru could've gone with Pope Paddington? (I kid because I love)


I liked calling him the "Ope Pope"


I'm born and raised in Chicago and I only started hearing "ope" last year.


So if I bought the $58 one from the Wikipedia Store...

What exact solar products (panels, battery, converter?) would I need to buy, near Chicago, to run one of these 24/7, year round, and let's say it's gotta be up and running most of the time - say, 99% of the time. (That means it can be down over 3 days a year, and still be acceptable to me.)


It is running a Pi Zero 2 W, and that should run max draw 2.5A@5V (12.5W)[0]. So a Watt hr is using a Watt for an hour. So the question is how many hours continuously you would allow your Pi to run. For 24hrs, that's 24hrs*12.5W = 300Whrs. Just for an estimate, a shargeek is $100 and will give you 24 Whrs[1]. I'm sure you could build your own solution for much better, but assuming since you're asking, I'm assuming this isn't a great option.

So probably a bit more expensive than you're thinking. Especially if you're putting it outside, as you'll need to make the thing more secure from weather. But also the good news is you probably aren't going to actually be pulling those 12.5Ws on your pi. You should probably measure and see.

For solar, I'm not sure especially since you'll need to adjust for your requirements. But there are nice resources that can tell you average capacity, but be careful to note that these will usually show averages and you're going to be significantly affected by seasons in Chicago.

Honestly, I'd get a small battery (like for a phone) and hook it up to an outlet and tuck it away somewhere. That's a much cheaper option. Even if you're "going rogue" with it... the power draw is so little you won't really notice it.

[0] https://www.raspberrypi.com/documentation/computers/getting-...

[1] https://sharge.com/products/shargeek-170


I'm running a Raspberry Pi based GNSS receiver from a 26 Ah SLA battery and an 80W panel. Just passed 2 weeks of uptime in a cloudy period of southern hemisphere autumn.

A monte carlo simulation using historical conditions said it had a ~95% chance of no downtime over 3 winter months. A slightly larger battery would bring that up to 99%.

The Pi (3b+), GNSS reciever (u-blox ZED F9P), and Waveshare 7600G 4G modem average about 3.5W idle. The GNSS reciever is about 0.1 - 0.2 W of that. Wifi would be more energy efficient, I imagine.


Is it an RTK base station? If so I'd love to know more about why you set one up.


It's functionally equivalent to an RTK base station (the configuration script I'm using is even called "RTKbase"[0]), but it's being used for researching GPS-based soil moisture retrieval[1]. Basically the GPS signal bounces off the ground and causes an interference pattern that changes based on the wetness of the soil.

There is actually a permanent survey grade GNSS reciever about 200 m away from the u-blox receiver. But the geography around it (too hilly) means it doesn't work for soil moisture retrieval.

[0] https://github.com/Stefal/rtkbase/ [1] https://gnssrefl.readthedocs.io/en/latest/pages/understand.h...


Thanks for the details! I had no idea that estimating soil moisture from the signal was a thing


Are you contributing to Galmon.eu? Sounds like you might be in a useful location.


This is not for that kind of setup, this is more of a button you press to get internet when you need it IMHO. It is 1 watt idle, so you need 24Wh to keep it running if there is no sun. On bad short days you might get 5% of solar power. A battery system might lose you 30% on that. Uptime is not primarily an technical issue, it depends on what your goals, skills and needs are.


A 50Ah 12V deep cycle car battery would give you at most 600Wh. This RPi's max draw is 12.5W, but an average draw is 6W is probably reasonable. So that battery alone would get you at most `600 watt-hours / 6 watts = 100 hours` of run time (minus some voltage conversion loss and other imperfections). Then just hook up some solar to charge the battery and assume at least 25% loss. ~70W should probably be enough even for a Chicago winter. The RPi might actually idle at around 1W making it even easier.

All that said, there might be a better solution for you if 99% uptime offline personal Wikipedia is your only goal. And IIAB isn't really optimized for high availability I assume. (just get a local copy of Kiwix on your phone+laptop? Or a cheap dedicated tablet for Kiwix would probably cost less than the battery+solar setup)


I actually did something just like this with the second raspberry pi and an offline copy of Wikipedia.

Although I don't know this devices specs I recall being able to reliably power the pi 2b + a 3.5 inch touchscreen with a random 15,000mah solar power Bank from amazon


I think these licenses are incredibly useful.

I have a really, really dumb question.

Why don't we have more licenses and contracts like this? Do we just need to set up a foundation that drafts them and makes them freely available to use?

Like, for instance, "Hi, Mark - we'd like to offer you a job here at our daycare, but first we need you to look over this contract and sign it."

This contract says, roughly, that if there's an accusation of sexual abuse against children that it will go to a mediator who has final say, and if they say it was a credible accusation, that Mark immediately loses his job, and can never work anywhere that uses this same contract, ever again. Sorry, you lost your chance to work with kids. It sucks that it might have been a false accusation, but our kids are just far too important to trust to the existing systems.

Guess what? Churches should follow a similar license. Letting priests or pastors move from town to town, abusing kids? That was completely bonkers insane. And I feel like a contract like this (and a registry, and etc.) could have helped. If people forced their daycares and churches to accept a license like this.

Another one, "Hi, Greg. We understand we'd like your endorsement from our political party? Sounds good, here's a contract for you..."

It says, among other things, that if Greg switches political parties that he must resign from office. Sorry. He's welcome to run again, but he can't stay in office on our votes.

Like, shouldn't we have more contracts like this?


> and if they say it was a credible accusation, [...], but our kids are just far too important to trust to the existing systems.

You mean dropping some hard earned human right like Presumption of Innocence?

You may think it doesn't apply to you, but the landlords and HOA can add a similar clause, because children must be safe at home too. And every software company may add the same clause because they (may) have a game division and children must be safe online too. And ...

Suddenly, any accusation that a non-professional fake-judge says is "credible" makes you an outcast of society.


If I follow correctly, then yes I agree that having more widely used standard licenses/contracts would be nice. One of my crazy legal fantasies is that all EULAs have to go through a central government authority that pushes back on new ones, because one of the things I love about FOSS is that there's only a handful of common licenses, so you can reasonably read them once and then just see them and know what you're getting. I don't need to re-read the GPL every time I use a new piece of software using it, because I already know what it says.

To a specific point, though,

> Guess what? Churches should follow a similar license. Letting priests or pastors move from town to town, abusing kids? That was completely bonkers insane. And I feel like a contract like this (and a registry, and etc.) could have helped. If people forced their daycares and churches to accept a license like this.

Er, yes, that does sound bonkers; where are you that every school, church, and daycare isn't already doing a background check on every single person working there?


> Er, yes, that does sound bonkers; where are you that every school, church, and daycare isn't already doing a background check on every single person working there?

Someone has to be convicted for something to show up on their background check, yes?


Contracts are negotiable. Don’t like the numbers in paragraph twelve? Can’t agree to forfeit one of the rights listed in appendix G? Redline it and see what they say.

EULA, TOS, and Docusign have mostly forced people to forget their right to negotiate contracts because all they let you do is agree to the terms offered. So it seems natural today that people just want standard contracts for everything.

Lazyweb: what’s that story about the guy who redlined his credit card contract and the bank accepted it?


I could imagine a judge holding a contract to resign from office void as contrary to public policy (on the basis of the intuition that elected representatives shouldn't have their continuance in office subject to random contracts with third parties lest this interfere with their service to the public.)


A lot of your use cases are already met by professional certifications and licenses. For example to run or work at a daycare in my state you have to have a license and part of the licensure process is a background check. That’s a much better system already because there’s already a state agency in charge of managing and revoking the license and as edge cases arise they don’t require re-negotiation.


> Like, shouldn't we have more contracts like this?

So... like a social scorecard that's easily manipulated?

No.


>Like, shouldn't we have more contracts like this?

We have tons of them, they are written by lawyers.


I wish they were standardized and freely available.


You can get books of them, but standardization mostly doesn't work because every situation is different enough that it can't be standardized enough.


Tailscale is another neat way. You can have ephemeral nodes. I want to learn how to do it with Docker, but apparently it's not too bad.


I really don't like writing state machines by hand... So...

I was writing a web-based text adventure game, using async / await on the server...

I was writing a SDML text adventure game, with some graphics, using async / await on the control side...

Then I finally realized that since all of my commands are like Console WriteLine and Console ReadLine... that I could just do all of my logic in a thread of its own. And it stores UI state in a object... and uses two AutoResetEvents to keep track of which thread is in control.

I guess those are coroutines. One for logic and one for UI.

Makes my logic code as simple as could be, with no async / await or any other garbage. (I handle a couple top-level exceptions for closing connections or closing the app.)

And it's also trivial to test my code on an actual Console, before worrying about setting up my web server or my GUI environment, which has a bit of latency to it.


If you write a text adventure, use Inform6 if you like OOP progamming or Inform7 if you want... something else, declaratively. Both can compile to a Z8 game which can run everywhere, from 16 bit computers and up.


I'm one of those idiots who would rather write an engine than a game.

I'm cribbing from LambdaMOO and Inform 6.


As for opening the ZMachine games (V3/5/8), you know, from Zork and friends... there's Winfrotz on Windows, Lectrote on Android/OSX whatever, and Frotz for Linux/BSD diehard fans. Oh, and Frotz for Amiga, Atari, DOS, old Macs...)

That's why I suggested you Inform6. Even with Inform7, a Z8 machine game (look up Anchorhead anchor.z8 and Inside Woman woman.z8 under a search engine) they will look and play well on really, really old computers. Download and open them in order to see what the ZMachine and Inform are able to do with very little constraints.

The 1st game it's a Lovecraftian tale set in the 90's (hello Stephen King), the second one a futuristic/half-cyberpunk/dystopian one.

And is not the best one I've seen. They are jewels like Spider and Web (tangle.z5), a techno-triller which is a bit like Memento/Bourne and similar movies.

Again, these are playable from a current powerhouse computer to a DOS one from 1993. And they are far better than the guess-the-word games from the 80's, the community improved the Infocom's ZMachine to really easy levels.

In order to start with Inform6, I suggest you to learn with "Inform's Begginers' Guide', a free to download book. For advanced stuff, there's the Inform Designed manual, but that's for really low level stuff. Such as declaring really fancy grammars or even a new one for languages like Italian to create parsers for that language, for instance (as we already have a library for Spanish games). But it's good to have (dm4.pdf) in order to debug issues.

Have fun.


There are two hard problems:

1. Naming things

2. Caching

3. Off-by-one errors


I personally feel like paid DERP is unfortunately the way of the future.


I think paid DERP could be an excellent model, especially since it lends itself well to small local companies that offer service for 5-10USD/mo.

I'm mostly concerned about whether the DERP protocol can scale in that way.


I think if there's revenue, they will revise and scale.

I suspect it'll be more complicated than a flat subscription, which is unfortunate. I think it'll be a combination of bytes and number of connections.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: