skysight-inc/HackerNews huggingface dataset:
Reasonable base layers for maps are table stakes for geospatial apps, so it's great to see Protomaps getting some attention. Requiring an expensive MapBox subscription (pay per tile render) for popular apps just meant that it became prohibitively expensive to run side projects with maps.

If you're interested in cartography, Facebook created the Daylight Map Distribution [1] project. They analyzed satellite imagery, outlined buildings and roads, and published them for map makers. It significantly improves coverage in rural areas and non-Western countries.

[1] https://daylightmap.org
True, but licensing the software under the GPL does provide for "right to repair".

If your plan is to change copyright law, then just require all software be GPL licensed.
Pollen Mobile moves payments from Crypto to USD
-2 and 1 are mod 3 essentially the same. I don't see here the problem except of course someone didn't expect this result and used it for indexing
> I want two arguments of any type I can transform to an owned string

Since Rust 1.26 you can write this:

fn foo(x: impl Into<String>, y: impl Into<String>) {
...
}

Which is almost exactly the same as this:

fn foo<T: Into<String>, U: Into<String>(x: T, y: U) {
...
}
Working at Apple is the equivalent of working for Target in the US.

Good brand image, everything appears great on surface, employees all appear homogeneous - however..the internal feuds, dislike for leadership, and cost cutting measures make it completely miserable to work at.

I’m still of the belief Apple probably should do layoffs, but won’t. Pandemic has not been kind to their profits either, but Tim will take the salary cut just to take the good PR.
I have so far successfully: used eeprom programmers, flashed a multi of android software, interfaced with a PLC from under wine with no problems or workarounds whatsoever
At the end of the day… it’s night and you missed the day.

We’re not doing this for some reward at the end. It’s only worth doing if it’s worth doing as you’re doing it.
If you only accept `&Path`, then the caller will have to turn it into a `&Path` or you; that just moves the complexity from the one function to its many callers.
Childhood abuse may alter brain function in adults study finds
> Facebook was written in PHP. Mark used one language he knew and a $300B company was built on top of it.

This example doesn't further your point at all seeing as they had to over time literally invent an entirely new language to make their PHP codebase scale. And on top of that FB went on to use a whole bunch of uncommon languages (Haskell, Erlang, D, probably a bunch of others I don't know about)
Pantera Pico PC
There has to be a more objective way to rank uglyness. The example function you provided looks perfectly fine to me. I don't see how syntax highlighting makes it any better.
SD is not big tech since you can run on 4gb gfxcard and opensource
Yeah, same.

I find it easier and less effort to communicate with hand gestures where possible (especially with non-native speakers) because it reduces cognitive load. I'm wondering if the focus areas of processing are also located in older part of the brain.
> if your goal is to specifically tempt C++ developers with the promise of safer/saner language semantics, then making syntactic concessions towards familiarity with C++ is the right call. Rust isn't trying to be The One Language To Rule Them All, it's trying to target a very specific domain.

I wonder how well that's worked out for them. My impression is that there's been a lot more people moving to Rust from Python/Ruby/Javascript than from C++.
For me, the reasons are:

- PHP's capability is limited in a sense that its main use case is akin to a template engine rather than a full fletched executable. This puts a lot of limit in PHP

- TS steps up JS' game. Like what other have said, TS brings the hassle of maintaining complex codebase down quite a lot.

- NodeJS is a stepping stone for many frontend developers to learn backend because of the same language used.

- JS' syntax and capabilities, while having inherent unavoidable footguns, allow expressive code (I might be partial on this, the last time I used php is a long time ago)

Edit: formatting
Well, as the counterfactual, you can't invent a buyer who will value your Clojure shop at the last funding round.
Homeworld 1 in Browser
the GPL is not the only solution to this problem
Why does apple hoard cash instead of buy back their stock? 5 years ago they had 90 billion cash in hand. If they put that into their stock then, It would be up at least 260% by now even with the losses last year, then if they need cash they could just take a loan against the stock.
Tell HN: Data from ZenLedger customers leaked
ZenLedger, the crypto tax startup, sent the email below to customers impacted. No blog post, no public tweet, no official press release.

I get that this is a a "vendor breach", but still inexcusable. If you send my PII to someone else without my explicit consent, then it's your responsibility to ensure the vendor will protect it properly (and your fault when it doesn't).

---

Dear ZenLedger Customer,

A third party vendor suffered a data breach resulting in the exposure of some of your personal contact information. We have ended our relationship with this vendor and are actively working to understand further details.

This was not a breach of ZenLedger or our systems. Your ZenLedger account and transactional information is safe and unaffected.

The information gathered from the breach included items such as name, address, email address and phone number. The download did not include any passwords, password hashes, or credit card numbers.

As a best practice, be aware of phishing attempts from outside parties and always double check the address of the sender/domain. Messages from our team will always come from @zenledger.io.

Never provide anyone with your personal information or sensitive details without first verifying the authenticity of the request. ZenLedger will never ask for your private keys or access to your accounts.

If you have any questions or concerns, please reach out to security@zenledger.io

Thank you,

Pat Larsen
CEO, ZenLedger
https://www.jigdev.com

It’s a reactive computing canvas to build internal reports / apps.

I was surprised nobody gave a shit!
I did mention it will look perfectly fine to someone here. [ and what better, to someone's nickname is Gigachad :) ] But if you had a sea of functions that looked just like that.. it'd be hard to pick things out without syntax highlighting.
YouTube is almost entirely C++ and Dropbox rewrote their sync engine years ago in Rust because of how ridiculously slow their Python implementation was.

No one is saying you can't make a web site using Python. Just that it is inherently a slower language that is far poorer at concurrency than many other languages.
Response to kickback from users: https://medium.com/@pollenmobile/creating-a-real-network-3f8...
Ask HN: Peter Theil Power laws for individual
Peter theil in his book Zero to One, mentions about power law. He says that some industries, some GTM etc are going to provide very high returns compared to others and we as an individual should think really hard to answer such questions.
It's a very philosophical task. How are you following it?
Who would Apple lay off? They don’t hire people for the sake of keeping people around. Apple teams are lean, and manager count is held to the minimum necessary.
I really think it’s because of batterygate- batteries trotting is not a thing anymore, perhaps
The postfix notation isn't particularly essential. Haskell has usual left-to-right application but the types are still written without extra syntactic clutter, e.g. "Vector Int".
Not sure how good bubblewrap is, to my knowledge it only refuses unprivileged actions and doesn’t really have a way of “negotiation” between the sandbox and the app running. I do know that flatpak does have this option for at least the file picker dialog, which is a good direction, but ideally the mobile OS’s permission system should be adapted in some way.

My gripe with flatpak is that it mixes up a (imo bad) way of packaging with sandboxing.
But this has the same flaw as the original code in OP, where you need a separate inner function to avoid excess monomorphization. What's wrong with just taking a String (or a ref to Path) and expecting user to add .into() at the calling site?
The syntax is honestly what's keeping me away from Rust; it's ugly AF.

I jump into an unknown C++, or TypeScript / JavaScript or C# codebase and it's just readable and easy to understand. I read a bit of complex Rust and it's making me queasy.
I find caring about a language being “ugly” such a weird concept. Like, imagine caring that a hammer is pretty or not… All I care about is how well it can hammer my nails and that’s literally it.
If I were dictator for a day, here's what I'd do:

1. Software would become entirely non-copyrightable

2. Software that infringes on a patent claim would be prima facie evidence of the claim's invalidity

3. Distributing any software in a way that would violate the AGPLv3 would be illegal (with the exception that if you had access to binaries but not the full corresponding source for a program prior to this change, you could still freely distribute everything you do have afterwards), and both upstream authors and downstream recipients would have standing to sue over it
> I wish there was some magical way that the error type could be inferred to be a union of all of the errors that can be returned.

You could use `Result<(), Box<dyn std::error::Error>` to use dynamic dispatch at runtime and allow the function to return any type that implements `std::error::Error`.

Otherwise people often use the anyhow[1] or the thiserror[2] crate to easily work with errors. They allow concise error propagation and quickly creating custom error types.

[1]: https://docs.rs/anyhow/latest/anyhow/
[2]: https://docs.rs/thiserror/latest/thiserror/
Amazon, Meta, Google are most certainly cut from the same cloth, only slightly smaller. For Wal-Mart I can't think of anything strictly anit-competitive, but its practice of paying sub-subsistance wages and counting on government relief programs to make up the difference is so disgusting I don't know how to describe. Time-Warner, Comcast I'm not too familiar with, but as I understand they are under regulations that prohibit them from dropping your connection when e.g. they find you visiting ycombinatior.com, a site where their business is frequently ridiculed, which is certainly a step in the right direction and the model that should be applied broadly and forcefully to all of the above.
I think that I wrote my first program around 1964 or so. My high school girlfriend's dad worked in the computer room at a GE installation nearby. He showed me how to write FORTRAN programs. I would write the statements on coding sheets, he would bring them in to work and have the key punchers render the statements onto 80-column cards. The program would get run on a GE machine (sorry, can't remember the model) and I would get a 132 column printout, with diagnostics if something went wrong.

Fast forward to 1971 or so. Then I was in the US Army trained as a Combat Engineer and assigned to an Engineering Battalion in Germany. There was a computer on a nearby base and the programmer was getting ready to rotate home without a replacement. Some clerk somewhere must have noticed that I took a FORTRAN course in my first year of college (Northeastern) and so I was reassigned to the computer section.

I had two weeks of OJT with the soon-to-be-gone programmer on a UNIVAC 1005 and then I was on my own. After I had been programming for a few months I thought "Hey. This is the shit."

When I got out of the Army I went to UMASS, Amherst and finished up with a BSCS. That was in 1974 and I have been programming more or less continuously ever since. I say more or less because that have been layoffs, company implosions, and a rage quit but I have never been out of work for more than 3 months.

And I still love it.
Good, then there's no reason to rip people off in the meantime. Refund the money now and only charge customers money if and when they deliver actual factual full self-driving.

Tesla backed themselves into this corner. They have lied about the state of full self-driving for years and they have failed to deliver on their own self imposed deadlines.

Teslas don't even do full self-parking, nevermind full self-driving:

https://www.youtube.com/watch?v=nsb2XBAIWyA

Tesla admits they have failed to deliver (as an attempt to avoid being done for fraud):

https://electrek.co/2022/12/07/tesla-self-driving-claims-fai...

https://electrek.co/2022/12/12/tesla-ordered-upgrade-self-dr...

So, now that Tesla has done the hard thing of admitting to their failure, they can do the easy thing of returning the money.
The GPL goes further than just the right of an individual to repair software on their device or that they use online.
Also I've found that teams that focus on easily understandable languages (Python I think is the best with its "executable pseudocode" syntax) are those that are placing value on teamwork rather than individual flexing.
How can we actually prove this statement though? I work with TS, Ruby, and Rust daily and I honestly can't think of a single time I had any problem reading Rust once I understood the language. But saying "works for me" is just as anecdotal as "doesn't work for me". There needs to be a better way of talking about the problem to progress on this.
Do you know what are the plans to do this in Carbon?
The community gives me pause. Nim's BDFL seems to have a habit of driving away prominent users of the language. Programmers who had contributed to the compiler have made their own hostile fork, and two of the three people who have written book-length introductions to the language have either given up on Nim or been tempted to do so. (The third is the BDFL himself.)

If anyone cares, here's some comments from one of those authors: https://github.com/StefanSalewski/NimProgrammingBook/issues/... .
And from the other: https://twitter.com/d0m96/status/1592827547582332929?t=IqKBz... .

These quarrels with Araq differ obviously, but both are pretty discouraging as far as Nim's prospects are concerned.
But an adult wouldn’t stand and watch his screen for 10 minutes either and put the pieces together.

A kid might. They might also think he’s dumb and just goofing off. Kids also might find it themselves because they’ll do weird stuff in games, imagining situations in the game world, like sparing a character and giving them a chance at redemption or something.

A lot of speedrunning tricks are found by kids with a lot of time to just goof off and do seemingly pointless stuff in games.
CS departments come in two flavours: systems and theory. The more dogmatic of each both eschew recursion, but have motivations that are diametrically opposed. :)
Julia has functions divrem and fldmod that each return the quotient and remainder, with one or the other convention.
They still put out stinkers, they just kill them fast. Ping?
> where employees kill themselves an awful lot

Is that true? Last I read[0] "the suicide rate was comparable to its host country’s".

0: https://www.theguardian.com/technology/2017/jun/18/foxconn-l...
Let's have some fun with the article's example:

pub fn read<P: AsRef<Path>>(path: P) -> io::Result<Vec<u8>> {
fn inner(path: &Path) -> io::Result<Vec<u8>> {
let mut file = File::open(path)?;
let mut bytes = Vec::new();
file.read_to_end(&mut bytes)?;
Ok(bytes)
}
inner(path.as_ref())
}

In D (I'm not a Rust expert, so apologies for inevitable mistakse):

public io.Result!(ubyte[]) read(P : Path)(ref P path) {
io.Result!(ubyte[]) inner(ref Path path) {
auto file = File.open(path);
auto bytes = file.read_to_end();
return Ok(bytes);
}
inner(path);
}
I care a lot about how nice my tools are. Beauty is for sure important in all human endeavours.
It would be more elegant to move the "inner" function to the top level, and expose a separate helper function that does conversion. The current Rust code seems to be constrained by backward compatibility, where the code was written with a generic interface to start with and this had to be preserved.
Well, cost plus a reasonable markup, but yes. None of this "charge as much as the market will bear" bullshit.

And does Apple offer stock to its retail employees?
I remember Ruby on Rails being a hipster technology for teens who code on MacBooks at Starbucks. Now it’s “boring”. How times have changed!
Yes, I agree flatpak is a bad way of packaging. Note, bubblewrap is independent of flatpak.

In fact there are some proposals to add sandboxing to nix, which is the antithesis of flatpak, using bubblewrap.

Firejail is a more usable alternative and comes with very sane default rules, e.g. only allow Firefox to see the Downloads directory in home.

However, it has a much larger attack surface than bubblewrap [1].

[1] https://github.com/netblue30/firejail/discussions/4522
Apple is full of lack of focus these days. The laptops use usb-c to charge like the rest of the worlds thankfully, but the phone still uses lightning. New ipad supports the old apple pencil and not the new one for some reason. Can't let them off too easy about the butterfly keyboards either.
My point was perhaps lost in the pursuit of brevity. It's not that the ethical people could stop Google from doing bad things. It's that there's bound to be people outspoken in the event that Google is secretly spying on you. It's the kind of thing you'd see a leak making it to the front page of New York Times.

Like, Google monitors what you do. A lot. However they also are pretty clear about how they spy on you. There are cases where they misstep (like the recent tracking settlement where they're forced to be more clear about location tracking), but a secret conspiracy to record everything you do with your devices would take a large team and serious resources.
Rattlesnake is actually pretty good. I also like CrabML but I wouldn't expect that to be popular though.

In general, I don't love Rust's choice of sigils (::, <>, etc), but the language reads well enough. That inner/outer function thing is legit the compiler model leaking into user code though.
I guess this explains why humans scroll reddit mindlessly for hours :-)
I'm sure counterexamples exist (and I'd be interested in hearing what kind of software this happened with specifically), but in the 99% case the cloud hosting costs for most startups is going to be tiny compared to, say, salaries.
That's another thing. I don't want to see 32 and 64 crap in code that is supposed to be high level and portable.

i32 means I'm doing FFI with C libraries.

If you check the Rust documentation, you see it has no integer types that are not a fixed size.

"All the world is x86/ARM (formerly DEC VAX / Sun SparcStation )"

C started on 18 bit machines. A program that correctly used "int argc" for the main argument count runs on an 18 bit machine or a 16 bit machine without modification.
They actually have done massive stock buybacks. The company is just an incredible money printer.
I do a combination of Crossfit and olympic weightlifting 4-5x per week. I usually do my olympic lifts before Crossfit so that I'm not too tired for them. That means I don't have full energy for the WODs, but that's totally fine. I also do some mobility work for 15-30min each morning.

So many people seem to hate Crossfit, and while some of the criticism is valid, it has been the only thing that was easy to stick with for me, mostly due to the community. Many previous attempts of going to the gym alone regularly failed after the motivation faded a few weeks into it. For all it's flaws, I still recommend it to newcomers. The best program is the one you stick with.

I started adding more olympic weighlifting practice 1-2 years after starting Crossfit because I felt like I didn't get enough practice for the more technically difficult lifts like snatches from Crossfit alone.
They didn't explore a Haskell (or PureScript) inspired syntax, but I think it could massively improve things without compromising on semantics. The separate function signature itself is a great improvement.

"Haskell flavored Rust" anyone?

read
:: forall p
. AsRef Path p
=> p
-> Result (Vec u8)
read path = inner (as_ref path)
where
inner :: &Path -> Result (Vec u8)
inner path = do
mut file <- File.open path
let mut bytes = Vec.new
read_to_end file (&mut bytes)
pure bytes
I quit Google, Apple, Microsoft, Facebook, Twitter, LinkedIn, cell phone, using credit cards IRL, etc. Words can not express how much more in control of my life I feel.
Can you hire people who know other languages and train them in python? Why would you need to change languages?
OTOH the butterfly keyboard was one of their biggest stinkers that was not killed nearly fast enough, and the new keyboards still don't feel as good as the 2012s.
Flutter is just awesome. Can't recommend it enough.

Never had an easier time porting UI to so many, different platforms.

Flutter alone saved a year of work.
Yes, left to right is more intuitive/ergonomic if multi-argument generics are common, as in both Haskell and Rust.
I can’t find a single instance of this being said about his pay cut in the media. If you could support this claim, it’d be appreciated.

Also, as an Apple shareholder, that’s definitely not my reaction to the pay cut.
I think there's a good reason for the function keyword to be abbreviated.

We know that when people read lines of text, they pay a lot of attention to the beginning and the end and comparatively less attention to the middle. One result is that lines with common prefixes tend to blur together. To get around this, you want the reader to encounter the unique portion of the line ASAP, which makes it desirable that any kind of necessary prefix be brief.

Upshot is you want the function signature to be what you see as you scan down the left side of the page, so it does make sense to keep the function keyword particularly concise.
Has anyone found active TW2002 games?
I'd be willing to wager that is because Python is simply highly represented in the workplaces of those interviewed. To think Python in and of itself is more risky or exposing than other languages, especially those like C/C++ where it's considered by some to be impossible to write safe programs, doesn't make much sense.
That’s one of my favorite xkcd comics because it describes the (very dire) situation so well. Unfortunately the linux userspace really doesn’t seem to care about security even a tiny bit, as if they were still living in the early days of computing where you could be naively trusting everything. And fortunately open-source software is indeed well-mannered for the most time, but that is no reason to be delusional.

Mobile OSs are way ahead in terms of security and the other two major desktop Os also does at least some mitigation against potential attacks. Yet our .ssh folder, web cache, backups everything can be read/written from the same user account one uses for npm installing any random package which has the potential to just encrypt your whole home directory..
At the very least DRM and the DMCA shouldn't prevent people from creating and distributing their own fixes where they can. Patching/debugging/decompiling/modifying should be protected.

I love the idea of source code escrow as a requirement for copyright protection. If it were up to me, a DRM free copy of every work would need to be submitted to the copyright office for full copyright protection and that agency would publish and make available every work at copyright.gov automatically the moment the copyright on that work lapsed (ideally something that should happen in less than 10 years) while the works still protected would display a countdown clock showing the time until it's released to the public domain along with a list of reachable contacts for the copyright holders so people know who to contact if they don't want to wait.
Don't they have an Apple Car? Like a literal car they were working on making? I guess that's the exception though.

https://arstechnica.com/cars/2020/12/apple-is-allegedly-work...