HackerTrans
TopNewTrendsCommentsPastAskShowJobs

native_samples

no profile record

comments

native_samples
·4 lata temu·discuss
I think you overestimate the knowledge most people have of California. I've been to Cali a bunch of times and none of the names they picked mean anything to me except Big Sur, but that's pretty obscure. I wouldn't expect anyone around me to know what or where it is unless they happened to be really big into the tech scene.

US tech firms have a long history of using US place names as code names for operating system releases. Windows 95 was Chicago, if I recall correctly.
native_samples
·4 lata temu·discuss
Yeah but that's because "getting things done" for many people involves stupid stuff like installing malware-infected warez copies of Photoshop because they can't be bothered getting approval to expense a copy.

I used to think IT departments were dicks, until I worked at Google and went to a tech talk by their WinOps divison (what's called IT in every other firm). They were explaining why they were transitioning Windows users to binary whitelisting - literally not a single EXE runs unless it's whitelisted by IT. I thought wow, how tyrannical, that's surely a Dilbert-esque IT power trip.

And then they told us about all the stupid stuff people did with their Windows desktops. There was literally nothing so ill advised people didn't try it, and even worse, those people were sometimes very senior engineering executives. You might think such people would know better but ... no. Also, engineers aren't any more immune to phishing than anyone else, it turns out.
native_samples
·4 lata temu·discuss
Yes, the article is good but that's where it goes off the rails. There's lots of talk about how MS has 96,000 "talented engineers". Yeah? Where are they then?

My experience of Microsoft products in the past decade, both Azure and Windows, as a developer, has been extremely poor. The decay inside the Windows org has been very sad to see in particular. Windows was never exactly bug free but it had a certain robustness about it simply due to the sheer weight of apps using it. The Win32 docs were extremely verbose but mostly did tell you what you needed to know. But, those apps have been evaporating for 20 years and it shows.

From the perspective of a developer trying to do stuff on Windows in 2022 is an exercise in frustration. Nothing modern works right and their developers don't seem to know or care. Trying to do absolutely basic tasks using their recommended approaches will yield an un-ending stream of stupid, impossibly basic bugs. To name just a few bugs I've hit in recent times: they've managed to screw up things as simple as taskbar icons, downloading files from web servers correctly and restart apps after an upgrade. I never thought I'd find myself actually liking Win32 but it does at least tick all the boxes and the standard code paths are bug free.

Nothing about this experience radiates experience or talent. It leaves you with the constant impression that everyone working on the Windows team is a new grad who learned C++ 3 years ago and is shielded from the reality of what their customers experience by a wall of even less talented program managers whose primary job is to post vague reassurances and empty promises to (badly implemented) web forums.

That's Windows. Azure was little better. Again my experience was one of incredibly simple bugs in basic functionality, like holding TCP connections open for more than a few minutes. The fact that people keep finding "root@azure" bugs is also indicative, because usually these reveal that there's no defense in depth of any kind.
native_samples
·5 lat temu·discuss
I haven't actually seen that cycle in practice when I've been hiring. Maybe a small number of people practice a lot on leetcode, but it seems most don't. And I think it's hard to get better at those sorts of problems and not get even a bit better at programming in general. Remember the problem here is people who can't code their way out of a paper bag, not people who just struggle with exotic algorithms questions.
native_samples
·5 lat temu·discuss
It's extremely common for people to not only advertise that they have specific skills, but even to have been using those skills for years, yet be entirely unable to demonstrate those skills when requested.

C++ is a particularly badly affected language for some reason. I think there are a lot of people who learned C++ once, a long time ago, then moved to Java as quickly as they could when it came out. But nobody likes to admit that maybe they lost a skill they once had, so they keep putting it down on the CV regardless. And then when asked to write something like hello world, they don't remember how to use std::cout or whatever.
native_samples
·5 lat temu·discuss
Sure but the article isn't about difficulty of coding challenges, or where you get them from, but about doing them at all.
native_samples
·5 lat temu·discuss
Sadly this isn't some sort of mass hysteria but based on practical experience. Yes, it's hard to believe. New interviewers are routinely shocked the first few times they are asked to take a candidate through a coding test. That's why everyone should just ignore the advice in the article - it's wrong. If you want to hire competent programmers, you need to test them rigorously by watching them code, in front of you. Every time I have been tempted to stray from this path the results have been bad. The world is full of people who are very good at seeming affable, friendly and competent but who then fall to pieces the moment you ask them to write a program. Any program. That does anything at all.
native_samples
·5 lat temu·discuss
Which parts? I'm surprised this isn't well known already. Large parts of Android are written in Java. Amongst other things:

* All the UI libraries, networking APIs code.

* All the system apps and services like the home screen, the keyboard, the system server, the window manager, the telephony subsystem (very important!) and so on.

* Many of the system APIs including services like the alarm manager, dropbox manager, some cryptography services, location services etc.

* The entire developer toolchain: the build system and the IDE.

* All the client logic for Google Play Services, which is a big part of the overall Android API now.

* Large parts of the compatibility test suite.

* The standard libraries for all the above.

Just browse through the code and see for yourself: https://cs.android.com/android/platform/superproject

Most of the Java code is under the frameworks directory. No, not all Android code is written in Java. Lots of devs want to be able to use C++, and for some things its necessary. The point of the upgrade projects I just mentioned is that they are tackling the remaining cases where C++ can outcompete Java for things like media codecs. And the Java world has developed a JVM written in Java, actually several of them, so whilst Google hasn't done it, the tech is actually there. All this exists today, whereas an entire widely adopted consumer OS written fully in Rust is only a pipe dream.

Oh, and as for drivers, Google moved drivers out of the kernel and into user space some time ago (Project Treble):

https://source.android.com/devices/architecture

You can in fact now write drivers in Java. Google recommend you don't, but it's architecturally possible:

https://source.android.com/devices/architecture/hidl-java
native_samples
·5 lat temu·discuss
I find Snowden's take on software engineering to be poorly reasoned and internally inconsistent.

The most important fact related to his argument is one he doesn't even bother mentioning, namely that Android is mostly written in a memory safe language (Java). The thing he's asking for already exists and is deployed on most smartphones worldwide, yet all he has to say on the topic is this:

"While iPhones are more private by default and, occasionally, better-engineered from a security perspective than Google’s Android"

You cannot claim to be a spokesman for freedom, then demand memory-safe languages be used everywhere, and then praise the one system controlled exclusively by a single American firm that's written almost entirely in (Objective) C, a memory unsafe language.

That sentence is the only mention of Android in the entire article, the word "Java" doesn't appear anywhere and he seems to think that Rust is the only memory safe language in existence. Why should I care about this guy's opinions? Java has been drastically more successful than Rust when it comes to making software memory safe. Nobody is gonna choose to write the next AirBNB in Rust other than for fashion reasons, because it'd simply be too unproductive. Developers already complain about Swift and its horrible compile times, Rust would be even worse.

If Snowden really cares about this topic, he should brush up his Java skills, download some OpenJDK early access builds and start experimenting with writing video codecs and 3D engines using the new vectorization, memory span and value types features. Java is getting the capabilities to do even higher performance work traditionally dominated by C++, but in ways that preserve memory safety. The engineering is very difficult and it's unclear if Google will ever adopt it into ART, but it's there for them if they want it.
native_samples
·5 lat temu·discuss
The US definition seems more robust, as otherwise, I could somehow steal something you built (e.g. a farm) and then generously allow you to continue using it, perhaps for a fee. You would therefore not be deprived of it but I would still be the new owner or user.

It seems unlikely this distinction would ever matter in a real court though.
native_samples
·5 lat temu·discuss
It's not silly, it's an evolved and pragmatic solution to the question of how society can incentivize creative work. More or less every society has developed some notion of IP and there's little appetite in wider society to debate it - the idea of abolishing IP laws is deeply fringe and only really surfaces in forums like this one.

Does it have flaws and can it be improved upon? Sure. I think society underweights what improvements to the patent system in particular could do. But such ideas are so niche they are hardly even written down, let alone debated at large. Society has bigger issues on its mind.

Like any evolved system IP law encounters new challenges over time and will be expected to evolve again, which it will surely do. A simple fix for Copilot is surely to just exclude all non-Apache2/BSD/MIT licensed code. Although there might technically still be advertising clause related issues, in practice hardly anyone cares enough to go to court over that.