Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)P
Posts
12
Comments
289
Joined
2 yr. ago

  • You could definitely build something like this. You definitely want either human review before execution or a fair amount of sandboxing for whatever your students submit.

    Do you want students trying to brute force or exfiltrate whatever test data lives in the server? If not, either they should just have the test cases already, or they can get back how many/which of the secret test cases they passed along with their grade, so showing them the results live might not be so important. Unless you want something like "you have 3 tries to pass the secret tests so you can get a hint that your own tests missed a case and go back and try to guess what it was".

    You also might want to invest time first in test harnesses for the students to run themselves, because you want them to learn good practices like coding against a test suite. If nothing else it makes it easier to make the auto-grader later if the students' code is all already hooked up to the same test framework.

    Teaching students how to use fully use a multi-user Unix system can for some topics put unnecessary faffing about between the students and what they are trying to learn (are you teaching front-end web dev or something?), but in a lot of cases your students might actually be better served by something that makes them touch the deep magic than by a slick web UI that handles everything for them, as long as you turn it into a learning experience and not a protracted period of bafflement.

    Does your school not already have some kind of shared CD department server/Unix environment for the students that could get you out of account management?

    Also, the Right Way to get the code to the server is probably going to be Git and not a tarball. The students could/should be set up with a Git forge and indoctrinated in never leaving their code on their laptop to be sat upon and lost.

  • One thing that might help is having a broader background in the field and its concepts. If an interview question can feature a bunch of concepts you've never heard of, you might have missing bits of background you could learn more about to fill in gaps. You could go from "I have no idea what a hadoop is or what it's for" to "I know people like to use Hadoop for X and it works basically like Y but I've never used it myself" pretty quickly.

    Anyone useful as a computer-related employee is still going to encounter problems they don't immediately understand on a daily basis, though. You need to be able to happily and confidently say "I have no idea what X is, what is that?". An interviewer will be happier to get a clear idea of what you don't know than to see you struggle to pretend to know things, because someone who pretends to know what they don't is a danger in a real workplace. And maybe they'll actually teach you enough to let you solve the problem, or, failing that, to be able to answer the next interviewer who asks you about that thing.

  • If you want to practice being asked baffling questions you can't understand, AI might actually be the right tool for once.

  • I mean this doesn't prove Stalin not bad.

    Are these stats including dead people or just prisoners? I feel like Stalin may have been fielding a murder-forward build.

  • The kind of "privacy" you get by using a VPN or avoiding Facebook tracking your web browsing is absolutely not appropriate for using against a threat model that includes three-letter agencies or even, frankly, the local cops. They can just, like, come to your house when you aren't there and bug it. Point a camera at your screen, station a dude in the closet, replace the computer with a cunningly painted cardboard replica of the computer which is a spy, etc. Or from the other end, they simply exploit a zero-day in every one of your seven proxies, because they care enough about catching you to burn them.

    Sometimes the threat model says you just lose and you can't actually get what you want by using computers, because you have an information technology hammer and a fundamentally legal or political problem.

    If you think the police are actually on to your crimes, stop doing those crimes! If the crimes needed doing for some reason, someone else less likely to be known to the police will probably do them instead, and you can surely find less-crimey ways to further whatever they were meant to accomplish. If you're in it for yourself for some sort of personal gain, quit while you're ahead.

    If you think you're drastically overestimating the likelihood that the police are after you for your crimes, and it is affecting your ability to function, that's definitely a problem for your therapist. Presumably one who doesn't insist you explain your various crimes to them in detail, a thing which your lawyer (which you also maybe need?) might have concerns about.

  • This is honestly a lot of the problem: code generation tools can output thousands of lines of code per minute. Great, committable, defendable code.

    There is basically no circumstance in which a project's codebase growing at a rate of thousands of lines per minute is a good thing. Code is a necessary evil of programming: you can't always avoid having it, but you should sure as hell try, because every line of code is capable of being wrong and will need to be read and understood later. Probably repeatedly.

    Taking the approach to solving a problem that involves writing a lot of code, rather than putting in the time to find the setup that lets you express your solution in a little code, or reworking the design so code isn't needed there at all, is a mistake. It relinquishes the leverage that is very point of software engineering.

    A tool that reduces the effort needed to write large amounts of human-facing, gets-committed-to-the-source-tree code, so that it's much easier and faster than finding the actual right way to parse your problem, is a tool that makes your project worse and that makes you a worse programmer when you hold it.

    Maybe eventually someone will create a thinking machine that itself understands this, but it probably won't be someone who charges by the token.

  • Join some kind of club that involves collaborating on stuff. If you are on the rowing crew/competitive topiary team/trash collecting brigade, you will eventually be forced to befriend them through dint of exposure.

  • Hosts file probably still works?

    If not you can filter a whole domain with a UBlock Origin filter.

  • Touching the system partition isn't the only thing one would do with root. And if the ROM ships su in the ROM, there's no problem of being out of sync with upstream or even not passing boot verification.

    It does open up an attack surface against the app that provides the UI to gate root access. But that has to be considered against the "availability" arm of the security triad.

  • Foolish far-right! It makes you a poor, smart leftist!

  • Why would they design around evaporative cooling when water consumption is a problem?

  • NSFW Deleted

    Permanently Deleted

    Jump
  • Yeah, a TPM is, essentially, a piece of bondage gear. It's shackles put on you to try and convince someone else of what you can't do. It has niche applications but it's not a valid thing to require of the general population.

  • NSFW Deleted

    Permanently Deleted

    Jump
  • Computers have systems (BIOS, EFI, ACPI) that give the people who make the machine responsibility for providing a standard, publicly-defined way for the OS to enumerate the hardware, and to use the hardware in a basic way even if the OS has never heard of it. Linux can get a kernel panic on the screen even if it has no idea what your GPU is, because EFI understands it and Linux understands EFI. It is set up this way partly because there's a real possibility of hardware being added or removed, partly because people routinely mix and match parts, and partly because IBM mistakenly designed a good system that was easy to work in and not one that kept them in business.

    Phones (and phone-derived systems like the Raspberry Pi and other single-board computers) don't implement a standard. The hardware and its boot process assumes tight integration between the hardware and the software, usually to the point where the bootloader refuses to load anything not signed by the device manufacturer, unless it is satisfied that it has been given that manufacturer's permission to be unlocked. (Computer secure boot implementations generally trust, for example, Microsoft, as well as the machine owner, who can load their own keys.)

    Instead of the CPU developers releasing example EFI implementations, they release forks of the Linux kernel that they maintain as long as that chip is the latest chip they sell, and then fork off the mainline kernel again for their next chip. And the device makers ship devices by starting with the chip maker's kernel, customizing it for the device, giving it a "device tree" that tells it everything that is supposed to be in that particular device, and shipping it. For a few years they port patches from the current kernel onto this forked kernel, and then they stop. With no standard to develop software against, and no documentation for what's in a device and how to use it like there is for the standard's interfaces, the only practical way to run software on a device is to start with that patched kernel.

    Mainline Linux refuses to adopt and maintain the chip and device makers' low-quality, chip-and-board-specific kernel changes (often because they break the kernel for other uses), so you can't generally use a mainline Linux kernel instead. If you tried to tease out and improve the device-specific patches to the point where mainline Linux would take them, the device would be hopelessly outdated by the time you were done and you would have dozens of job offers to occupy your time as a highly skilled embedded Linux developer. The work is not practical given the tiny number of people who would benefit from it for a particular device, and how little it pays off compared to just buying a new device with a more up to date forked kernel available.

    "Maintaining" a device for LineageOS or other open software eventually collapses under the weight of mainline Linux's changes and the necessary chip and device maker patches no longer being practically reconcileable.

  • NSFW Deleted

    Permanently Deleted

    Jump
  • I don't think this is going to change the overall situation, it's just a single point new system requirement, like the plausible GPU was for Vista.

    Now, if they start expiring the old TPMs every few years, and Windows 12 needs a TPM 4.0 or something, then this will change the overall situation. At least on the Windows side.

  • “hanging with the bad crow"

    That's my favorite Sonic mission.

  • X11 was never great.

    (Like seriously, it's nothing but config files you have to edit from the local console shell and and proprietary stuff from nvidia that misbehaves, all the way down. Always has been.)

  • Lemme.ee is closing, where do I go. Only been here 12 days lol?

    Jump
  • I think to test it you'd need to do some kind of comprehensive analysis, something like a big spreadsheet of a convincingly unbiased sampling of states (or states-at-points-in-time), evaluated for libertarianism-vs-authoritarianism. But you'd need to have a way to distinguish whether differences between states were caused by inherent per-state effects (or by more mechanistic runs-with-the-state traits, like "having a written constitution" or "being a monarchy"), or by "circumstances". So you'd need a way to measure plausibly-causitive circumstances and then see how much of the variance they explained.

    It'd be a big project and hard to do in a controlled way across a large enough sample, but if you sent enough history grad students out to rate things like "worker organization" in 1925 Germany and "protections for human rights in constitutional law" in 1975 New Zealand on 5-point scales, you might be able to get a data set that could answer this question.

  • Lemme.ee is closing, where do I go. Only been here 12 days lol?

    Jump
  • There aren’t really degrees of authoritarian or libertarian in a state, just what circumstances the system finds itself in.

    This sounds like that rare thing in political science: a falsifiable assertion. Do you happen to know if anyone has tested it?

  • Nice try, phone thieves.

  • You don't need an Invidious instance to back FreeTube. You can set it to local mode to just talk to YouTube from your IP, or to operate through a proxy.