skysight-inc/HackerNews huggingface dataset:
Yes you indeed have a licensing conflict. The GPLv3 is pretty explicit about it, you must release your software under the GPLv3 license if you use GPLv3 software.

Good news if you use your ruby gem in non GPLv3 software, pHash can provide a commercial license as well : http://phash.org/licensing/

You could perhaps have a dual licensing model for phashion too. One GPLv3 and one other requiring a commercial license of pHash.

After updating phashion to the correct license, I think you also have to communicate to the users of your library. Telling them that their software must be licensed under the GPLv3, or that they need to get another license from pHash and you, or removing your library from your project. Some users are most likely not aware of the GPLv3 license of pHash as it is a dependency of a dependency, and not from rubygems.
IMO this is the single most relevant issue with static generators. Hopefully it will be adressed soon.
I wonder how it would compare against Nickle Iron batteries?

https://en.wikipedia.org/wiki/Nickel%E2%80%93iron_battery

I guess the use case might be arguably different - the hydrogen storage could last a week or a month, which the battery would self-discharge.
Ah, I see you've used k8s.
any thoughts on the berkey?
Also in the Enterprise, if you're doing a lot of sharding and replication across networks, Percona MySQL is a very compelling product. I say that as a Postgres diehard.
The timer prevents the player from performing the same task endlessly. Even trying to do the same task every day of every season is likely impossible. I like the timer, because I felt like it forced me to pick new things and explore every morning.
Do you think there’s a market for high quality paid themes for static site generators like Hugo?
I find red wine, particularly with firmer tannins, tastes much nicer the next day after some aeration in the bottle.
> The company loses on time I could be working by having me commute.

Whoa, wait — why is it the company’s time to lose/gain back instead of yours?
I'd love to see this dataset used as a performance and relevance benchmark for different search engines!
It’s also sad that backwards compatibility of runtimes is not considered essential.
SVG Based GUI
hi, is it possible to create GUI framework that is totally based on SVG and not on OS's native graphics controls?

like Form/application design -> SVG renderer library -> UI.
NOT Form/app deisgn -> Native Controls -> SVG renderer -> UI.
Just a reminder that Duolingo teaches you Japanese for free.
Except that the set number of places have monitors from both sides who can prevent anyone from having to show their ballot in the 30 seconds between when they fill it out and when they put it into the box.
I see it otherwise.

> A rare option was "self-purchase" (the term itself revealing the base illogic of slavery). In 1839 almost half (42%) of the free blacks in Cincinnati, Ohio, had bought their freedom1 and were striving to create new lives while searching for and purchasing their own relatives.

https://nationalhumanitiescenter.org/pds/maai/emancipation/t...
True that. Residents of Abkhazia (breakaway Georgian province on the Black Sea coast) were recently left in the dark because of bitcoin mining.

https://www.rferl.org/a/bitcoin-blackouts-russian-cryptocurr...
I’d like to see numbers too, but the gas is a higher energy state and so its not outlandish to imagine there might be a way to bring it down efficiently.
I'm not sure most wine would qualify for food grade
Either you’re making a point that’s technically correct but missing the point, or you’re misinformed about how TDD works. TDD is an iterative process that generates tests and code at the same time, in very small (1-5 lines of code) bite-sized pieces. Although it could be argued that tests are specs, they don’t happen up front.
I spent 3+ years building a site I thought would compete with Audible, think Netflix for audiobooks. Unlimited listens but with the twist of having a built in recommendation system based on user votes and reviews. While building I was beyond sure Amazon would be offering to buy me out within a year. The thousands of dollars and hundreds of hours I poured into the project seemed like an obviously good use of time and money.

My wife hated it. She wanted me to get a real job and after three years she moved out, to a new city so she could follow a job, a year later she asked for a divorce, I kept working on the project while looking for work. Now, two years later I've had to admit it was a failure and I threw away an absurd amount of time and money. Along the way positive feedback kept me going and I thought if I kept improving something would stick, it never did. But hey I learned a lot about PHP and the subtle are of SEO on my path to failure! My take away, don't follow your dream, don't do what you love, don't build the products you want to see.
Generally companies are replacing office perks with WFH perks, like furniture stipends or paying for employee's individual gym memberships.
We just ported a system that kept large amounts of data in postgres jsonb columns over to mongodb. The jsonb column approach worked fine until we scaled it beyond a certain point, and then it was an unending source of performance bottlenecks. The mongodb version is much faster.

In retrospect we should have gone with mongo from the start, but postgres was chosen because in 99% of circumstances it is good enough. It was the wrong decision for the right reasons.
> People who stress over code style, linting rules, or other minutia are insane weirdos

Cannot agree with this one. For example, different indent size can be misleading and has introduced many bugs that are hard to notice during review. Apple had a security issue because of this.
Yes, that's my personal experience. Companies with more experience doing remote do MUCH more async, and I think a lot of companies who are now pushed into remote are creating tons of meetings as a sort of crutch for not knowing what else to do.
> It's important to hire good PMs without huge egos or career aspirations.

This is so important. PMs are there to serve management and engineering, not the other way around. As soon as you have PMs who are trying to boost their own profile, you're screwed.
It'd be more accurate to say "Duolingo gives you some Japanese-themed activities to play with, for free".
You may want to see: https://en.wikipedia.org/wiki/Draft:Effects_of_the_2007-2008...
Notice the author said people who stress over code style. Using a code formatter and forgetting about it is a great way to not stress about it. Fighting with your tools or your team to get things a certain way is where the folly is, I think, and that's how I interpreted their comment.
There's no ABI compatibility between different Rust compiler versions as it is, so I don't see how editions will break a compatibility that doesn't exist.
I think it is a bad thing.
I agree with most of the list. It's a good distillation of software development principles. In the spirit of HN, here's what I disagree with:

> Designing scalable systems when you don't need to makes you a bad engineer.

Creating overly scalable solutions is useful for learning, especially early on. I've done this.

> Despite being called "engineers," most decision are pure cargo-cult with no backing analysis, data, or numbers.

This is true in almost every human endeavour. It's not a useful opinion. Most decisions don't matter that much so adding data is a waste of time.

> Code coverage has absolutely nothing to do with code quality

I don't buy there's no correlation between code coverage and code quality. I'd much rather take code with >80% coverage than 0 coverage. My revised take is that the value of code coverage rapidly diminishes past 80% (maybe log scale-ish). I also think code coverage metrics are not especially useful outside of library code.

> 90% – maybe 93% – of project managers, could probably disappear tomorrow to either no effect or a net gain in efficiency.

Google tried getting rid of managers. It didn't work. Establishing lines of communications in large orgs is hard.
Bag-in-box style of containers are pretty good regarding oxydation. Up to 6 weeks after opening it says on the label.

A bottle is obviously better long term.
I value a consistent enough default style. I'm not going to waste time arguing why this specific consistent style is better that some other consistent style and I'm certainly not going to police the codebase manually and force it into that style.

Either the linter catches it and fixes it automatically with little to no configuration, or its not important enough to be worth the time.
That's fair, I just wanted to explain why "made outside the US" could be a valid selling point.

Regarding hacking Google and ignoring the law, isn't that essentially what PRISM was? Do we have any reason to believe US intelligence will obey the law now?

I do understand your argument but I think we place different levels of confidence in the US legal system. I have zero confidence, so assign it zero value.
Yes, but it took so many years of confusing people not deeply familiar with the situation that perl6 will be a better perl5 (as perl5 was a better perl4, perl4 was a better perl3, etc.) while in reality it was a very different beast.
So much for the Biden administration's renewed focus on cyber security.
Isn’t that a dream exit? Usually companies tie down founders for years upon acquisition. This guy got the money and can just walk away. Not bad.
BBC should have been an important clue.
No, the 9/10ths aphorism is not a real law. Possession doesn’t even really factor at all in contract or restitution law for fungible currency.

Smart contracts are contracts, because you agree to their automatically enforced terms when you sign them. The “legal overhead” is when the terms as written don’t match what you actually agreed on, for example there was a mistake. The only reason you don’t currently believe there is legal overhead is that nobody has done anything interesting enough to want to litigate the rules that would pretty obviously apply. Maybe they have already!
One overlooked aspect of 1 and 2: many founders are using their employees as a surrogate for healthy meaningful relationships.

And maybe the executives are actually just hanging out, from their perspective. galavanting around the city and schmoozing. having fun solving a problem they’re passionate about and having no negative consequence of having too much fun. hey as long as you’re only inappropriate with employees of another company in the co-working space the liability surface is limited!

so its not just about managerial control

but both of these kinds of people share the similarity of not being able to relate to the lower level employees
I don't think VC-funded companies usually hire based on concrete needs, it's more like "we're growing at X rate so we can budget Y for more heads" and then management back-solves for where they can best deploy resources accordingly.
That's cool! I use a footpedal as a supplemental click. Also have a second mouse (one on each hand) so I spread around the wear.

I modified my pedal so it just takes a very slight twitch of my toe to use it.
It's unfortunate that the beautiful trees of established neighborhoods take 50 years to achieve.
Check out the roots.io project for some software development ‘best practices’ as applied to Wordpress for development and deployment.
I’m the kinda of guy who has a strict linter and will force you to rewrite every PR you submit, but the result is that most of the time better style means you see the problems better and very often the diff (or additional code) is halved.

I could merge that PR as is because it seems to work, but I don’t because I don’t want to deal with those hidden bugs in 10 days on production.
Thanks. As someone with python 2 code I was worrying. No probs typing pip2 install if 3 is default.
Remote work may be possible for coding type folks. But for real business, especially around sales, relationship building, decision-making, problem-solving...I just don't see how this will be feasible.
The Iranians too, I think.

[1] https://apnews.com/article/iran-media-social-media-bitcoin-c...
This is ironic coming from Stanford, who is currently fucking up every single aspect of their handling of covid, as many Stanford students will attest to. Colleges are basically scammers at this point. The whole benefit of going to college is being able to meet like-minded smart, young people like yourself. Remote college isn't a thing and never will be. College is about people, as much as it is about learning. The unfortunate K-12 and college students are learning this the hard way.

Personally, I don't think that remote is here to stay. I think working will be augmented by remote tools, but it cannot be replaced by remote. Humans just aren't robots and they need community, and work is the biggest source of community after college. To me, online college is a complete joke and is not what students after high school need. It's just not healthy. Humans need interaction in person, and they do their best work when they are working with people who they see on a weekly basis, especially young 20-somethings.

This whole thing is becoming evident as people are starting to really just not care for the lockdowns at this point. Parks in SF are a complete shitshow because people want to be out and about. You will never be able to force them to be purely remote, and after covid, if your company is purely remote, you will not attract the best young talent, period. You might attract older folks, but you know you want young talent.

This whole thing makes no sense.
Yeah, I have great experience with vacuvin, except that my first vacuum piston broke after 2 years.

I even drank a wine after 10 days that, while not great, was still drinkable. It was like a 2 day open bottle roughly.
"To all programmers, God is real...

...unless explicitly declared to be integer..."

<g>
Fortran and C are about the same age as COBOL, just saying.
You are paying with performance for the determinism. Any DL framework can be made deterministic (just add few lines of configuration), not just JAX.
You are 100% right. People just want an ag start up to throw money at.

Free sun and free water beat this hands down.
They do, but you are yet to find one example in the mainstream languages that never did at least one breaking change.
Probably not the best idea. SVG is loaded with CSS/DOM baggage that would lead to all sorts of pathologies further down the road.

In a way, it has been done before, with a far saner approach:

https://en.wikipedia.org/wiki/Display_PostScript
So when's Python4 coming out?
The blog you mentioned has interesting articles. Do you have by chance also something similar but for the person on the other side of the desk? I’d like to sharpen my skills to be interviewed. I’m the developer who never has questions at the end.
Yeah, splitting up google-api-client was long overdue. I was really glad to have a window to do it over the holiday.

If you have feedback on Cloud Functions, feel free to open issues on the GoogleCloudPlatform/functions-framework-ruby repo on GitHub, which is where the open source side of the runtime is housed.
You keep repeating FUD.

Read the damn Editions RFC. The community agreed that no semantics or ABi breaking changes will land to Rust,
EVER.

This is not a lesson from Py th on, but from C++, which introduces breaking changes every single release, which are much smaller than Python but still a pain in million LOc code bases.

If that ever happens, it was agreed that the result would be a different language, with a different name.

That is, editions don’t have this problem because the FUD that you are trying to spread every single time this issue comes up cannot happen, by design.

Your argument “Rust editions don’t solve this problem because they don’t handle semantic or ABI changes” is false,
because in Rust there CANNOT be any semantics or ABI changes, and editions handle this situation just fine.

In the context of Python 2 vs 3 this argument makes even less sense, because editions allows combining libraries from different editions ina forward and backward compatible way without issues. Source: work on multiple >500kLOC Rust code base and one >1 million LOC and they all use crates from all editions, and mix & match them, without any issues, doing LTO across them, using dynamic libraries, and all possible combinations of binaries across 4 major platforms.
Probably the same way sometimes people choose sqlite versus mysql- simplicity. There are many cons and pros for both of them!
One thing to point out is that this kind of system might not be a best choice for a single house with limited solar panel area. At grid scale that is a whole different story. In order to cover our energy needs we will need to build many times more solar than our peek load on the grid. That means lots of times there will be power which nobody wants. Here you don’t care about efficiency (with negative prices you might even favor lower efficiencies). Only thing you care about is how you cover your electric needs then there is cloud cover for a few days and not much wind. Hydrogen seems like a great option at the moment.
Hang on a second, you consider Jan 2014 to be "very, very old"? Commercial software often has dependencies on libraries going back decades.
My pencil can sometimes be in China according to quantum mechanics, but the probability is extremely low. I think the fact that neural networks are almost right is not really concerning at all. As long as your network can produce a result within an acceptable error boundary, who cares? That is literally how nature works.
“Rust editions, which as far as I can tell have been a complete success.”

Can anyone tell me why statements such as these get the emotions going?
PyPI may exist and hold old packages, but even that will eventually bitrot, and the API that the old version of pip uses to download files may no longer exist in the future (as an example).

For those cases you will want to make sure you have a local mirror.
Experience with the problem of "version X of software package Y is deprecated, we need to upgrade to version Z instead" is a skill that will always be relevant. For everyone who uses computers, not just computer scientists.

The fact that universities are apparently incapable of learning such a basic life skill is terrifying. It's akin to an auto mechanic who doesn't know how to perform an oil change.
If you live in France, Taipei or Lausanne, you may live near a BiboVino shop, they sell good quality wine in bags. On top of that they sometimes also act as bistronomie restaurants with really diverse wine pairings.
Procs can be used anywhere a block can.

my_proc = proc { |request| "Hello, world!" }
FunctionsFramework.http("hello", &my_proc)
> Although Bitcoin mining strains the power grid, experts say it’s not the real reason behind Iran’s electricity outages and dangerous air pollution. The telecommunications ministry estimates that Bitcoin consumes less than 2% of Iran’s total energy production.
Wikipedia article on this OS: https://en.wikipedia.org/w/index.php?title=Incompatible_Time...

See also the lesser known west-coast alternative: WAITS (at Stanford): https://en.wikipedia.org/w/index.php?title=WAITS&oldid=99028...
Nah, I actually think it does teach you Japanese.

I had Japanese lessons for a year at a language school, with teachers, tests, etc... and I have continued my studies using Duolingo. It is useful.
This is why you always type “python3 -m pip” instead, to avoid ambiguity.
You have about five words
This is exactly my experience with scrum too.
In my experience with both classic Win32 programming in the 1990s in C++ and then later in C# and now in Rust is that it is obscenely verbose. It takes a solid page of code to call a single method, and most of that is just noise.

A typical method call is:

Allocate some struct.
Zero it out.
Set a "length" field to the length of the struct.
Populate the "parameter" fields.
Call the API with the struct and 0 for the return buffer size.
You get back an expected error code for "buffer too small".
You allocate the required space in your buffer.
Call the method again. The amount of data changed! Loop and try again.[1]
You get your data! Now to check the error codes.
Look up error code using a Win32 method.
Free the buffer.

If on top of that I'd have to call "into" and "from" for every field and every parameter at every step... I think I might just snap and go become a bricklayer or something.

PS: Win32 strings and Rust strings aren't compatible. I've already noticed that the current version of the Microsoft code-generator seems to use an awful lot of [u16] arrays, which are not the system OsString struct.

For comparison, the C# "String" type isn't directly compatible with Win32 strings either, but the FFI engine handles this conversion back-and-forth for you.

Similarly, few (any?) languages have good built-in support for the various kinds of "struct-followed-by-dynamic-data" typically returned by system APIs. Notably, C does not have any way to encode this in the type system, so API metadata tends to just leave this out or describe it in the documentation. If the metadata was extented to cover this kind of thing, then the generators could do all sorts of clever things with this scenario...

[1] A lot of people don't do this, they assume that the second call will always succeed. Programming in this style leads to rare random errors throughout the entire application. A loop is required for correctness for most (but not all) Win32 calls that return dynamic data...
For a union vote that happens once and has millions of dollars on the line for thousands of voters? Not an insurmountable cost. Also, again, because mail-in voting happens over weeks, you don't need that many goons, just have the same goon visit everybody once in that period of time, when everybody understands they'll be punished for voting without them there.

In ordinary elections you get something different -- decentralized coercion. Your boss says hey, I want everybody to vote, everybody bring your ballots to work on Tuesday and we'll all fill them out together. Now they don't even have to look at them, all they have to do is put a fear in people that they might so that people fill out their ballots the way the boss wants in case that happens. The same thing happens with many bosses in many places, so the total effect is significant even if they're not coordinating. People fear for their jobs if they report it.
There's also a thing called a "Platypreserve" that is a reusable flexible bag you can pour an entire bottle of wine into and them squeeze the excess air out of before you twist the cap on. (Instead of displacing it or sucking it out.) I bought one and have used it a few times but its primary effect seems to be making the bottle easier to fit into the fridge. I bought it for this purpose but I always drink the wine within a couple days anyway so I'm not sure how much it really slows the process.
That seems to be more of a common theme in Seattle. From my experience there mostly are apartments with the occasional small home near the sea side. I can’t imagine what a large house goes for over there.
I have been thinking about what solution is for this. Do you think users would be happy with a WordPress backed headless app?

The other issue is that visual content editing in WordPress is pretty tricky. Site owners want cool modern design, but editable in the WordPress admin, and meeting them in the middle has proven difficult using Gutenberg. They often find the new UI brittle and difficult to work with, even for core WP blocks. The developer experience is also pretty cumbersome.

If anyone has found an idiomatic approach that works, I'd love to hear it!
Gold is impractical, can be easily confiscated and no they could not buy stocks and bonds other than Venezuelan style stocks and bonds if you know what I mean.
Just drink it with one friend, bottle finished.