• 1 Post
  • 8 Comments
Joined 3 months ago
cake
Cake day: February 22nd, 2024

help-circle


  • wait for the job market to improve

    I hear people saying the programming job market will improve in the US from the low of the 2022 and 2023 era FANG firings, but why would the US job market improve? I don’t see why all those programmers with work experience would be removed from circulation and fresh grads still will compete with them. What would change for the market to improve? The Silicon Valley Bank collapse and bailout way back in March 2023 is probably going to cause less startups to be funded in the long run and solidify FANG monopolies in the US even more. Now that the lock downs have been over for a while, I predict the population is going to be lowering usage of social media over the next few years if they haven’t already, lowering demand. I would expect the job market to worsen in the long run, not improve, much less return to the 2019-2022 glory days. In the US the only programming field I see that is growing is the AI and GPT stuff.



  • Back when I had to use a windows vm just did

    qemu ... -net user,smb=$HOME/
    

    then in the windows vm just type \\10.0.2.4 into file explorer. Does that not work?

    man qemu says:

                  smb=dir[,smbserver=addr]
                         When using  the  user  mode  network  stack,  activate  a
                         built-in  SMB  server  so that Windows OSes can access to
                         the host files in dir transparently. The  IP  address  of
                         the  SMB server can be set to addr. By default the 4th IP
                         in the guest network is used, i.e. x.x.x.4.
    
                         In the guest Windows OS, the line:
    
                            10.0.2.4 smbserver
    
                         must be added in the file C:\WINDOWS\LMHOSTS (for windows
                         9x/Me)  or C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS (Windows
                         NT/2000).
    
                         Then dir can be accessed in \\smbserver\qemu.
    
                         Note that a SAMBA server must be installed  on  the  host
                         OS.
    
    

    Another way is to setup Spice and use a webdav daemon in Windows to transfer files over Spice folder sharing.

    You could also just RDP to the machine which is probably the easiest.

    The simplest would just be to scp files to and from Windows. Like in powershell do scp -R yourusername@10.0.2.2:~/path/stuff output_dir to get files from Linux.


  • The arch wiki has some stuff on kernel hardening. The Gentoo wiki has a lot of hardening stuff and is deeper since you can set your own compile flags.

    Do you mean hardening the kernel or hardening user space?

    For hardening the kernel there’s patch-sets out there that add in extra measures like address space randomization for processes and restricting some system calls. Arch uses this kernel. Also look at Gentoo’s kernel ebuild which has a hardened use flag . I don’t really understand the reasoning behind everything, and it will have a performance penalty. You could probably easily make a new package definition to build any hardened kernel patches you want.

    Linux also has an optional SELinux system that can be enabled during compilation. It implements an ACL on top of the regular Unix style owner/group permissions in the filesystem. Guix has some support for it, but barely anyone uses SELinux (Arch doesn’t even support it), although Gentoo does due to the flexibility of portage. So enabling SELinux on Guix is going into a niche of a niche with little support, but it’s pretty interesting to learn about.

    For user space the usual advice is try to run as few programs as possible as root. For example the default set of %desktop-services has a lot of extra services you probably don’t need like Avahi.

    Going deeper into impracticality, if you really really want you can change the compilation options for programs to add security measures like position independent code, stack canaries, extra control flow protection, address sanitizers, but these will all have performance penalties. You can take inspiration from how Gentoos hadened toolchain does it. These modifications are practically only possible on source based distros like Gentoo, Nix, and Guix since you need to recompile the program to add these measures in. You can probably add to packages fairly easily with a package transform like options->transformation by adding -fstack-protector-strong -fstack-clash-protection -fcf-protection=fullto the CFLAGS or something.



  • Been using Yandex as my default search for almost a year now. It’s like the old Google and DDG. It doesn’t have as many SEO sites like Google results and actually respects when you put quotes around to force include a word in the query making it much more useful for searching up programming errors. The only downside I found is that it has a bunch of anti-degeneracy filters which sometimes interfere if for example if you search up something like “unixporn” it will try and block the word “porn” in the results. Also translate.yandex.com is really good at translating Russian, but seems slightly worse than Google translate for Chinese.