Jump to content

lutzee

Member
  • Posts

    615
  • Joined

  • Last visited

Awards

This user doesn't have any awards

2 Followers

About lutzee

  • Birthday Apr 23, 1994

Contact Methods

Profile Information

  • Gender
    Male
  • Location
    UK
  • Biography
    Working as a software engineer in healthcare analytics, making software to identify healthcare risks and trends early without the need for data science expertise.
  • Occupation
    Software Engineer
  • Member title
    .Net Software Engineer

System

  • CPU
    Ryzen 3700X
  • Motherboard
    Gigabyte Aorus X570 AORUS ELITE
  • RAM
    Corsair Vengance RGB PRO 32GB (4x4GB)
  • GPU
    MSI 6700XT Gaming X
  • Case
    Corsair iCUE White
  • Storage
    Sabrent Rocket 4.0 500GB
  • PSU
    Corsair TX750M
  • Display(s)
    Asus PB287Q, HP Elite Display 232
  • Cooling
    AMD Wraith
  • Keyboard
    Ducky Shine II (Blue switches, Blue Backlight) | CM Storm Novatouch w/ granite set | Poker 2 w/Browns | IBM Model M 1391406
  • Mouse
    Logitech MX Master
  • Sound
    Sony 2.1 HiFi
  • Operating System
    ArchLinux, Windows 10

Recent Profile Visitors

1,339 profile views
  1. The source engine sits in an odd world compared to other game engines. First of all source was never really made for use outside of Valve, and therefore the design and documentation are lacking. Second a lot of the documentation refers to "source engine mods", though very few of these state that these "mods" can essentially be a start from scratch basis. You would be better off using a different engine such as unity, unreal, and godot to name a few popular choices. The last thing is don't trivialize the process of making a game, even the smallest games have hundreds of person hours put into them, no its not rocket science but neither is it child's play.
  2. Use the where clause, the trick with SQL is to write things in a predictable manner such that the query plan generated is sensible. The issue with putting filters on joins is the server handles those statements during a join within the query plan, whereas the where filters can apply as a distinct step within the query plan often triggering before a join even happens resulting in less data being read.
  3. Like Haraikomono said, don't feel that you are expected to know everything, you're never going to know exactly where every feature is implemented within a code base. Don't be afraid to ask questions to your colleagues, the best developers spend a lot of time asking questions to understand requirements Following on, there's no dumb questions really, we all have moment where we feel we should know the answer to something innocuous but the answer just isn't there, just be wary of repeating the same questions over and over, make notes, while very analogue a good notebook and hand written notes is a very powerful tool and shouldn't be overlooked. Its OK to be wrong, in fact its pretty normal to not be correct on things, don't take it personally if you do get corrected, try to understand why you might have been wrong and learn from it, and this leads into my next point Ask for feedback, you should be getting feedback anyway in the form of code reviews (at least I hope you're peer reviewing each others code), but even outside of code reviews you should be asking for feedback, if you're working on a feature ask for some feedback when you've got it in a somewhat workable state, if things aren't right you have the ability to easily change direction, often these first prototypes can help a feature requester understand exactly how they want a feature to work. Try not to work in specifics if you're not sure/confident, "I think this needs to be changed, I believe this is the code causing the issue, I feel this is what needs to be done to make this work", only with more experience will you pick up the confidence of working in specifics, and even then you will make the odd mistake, I certainly do. If you don't do so already, ask your manager for weekly 1 to 1 meetings and identify a list of skills to work on and provide help and learning opportunities to achieve them Some further thoughts Its possible that you're getting tickets with not enough information, if its a bug the best tickets have a full set of steps to reproduce the issue, if they don't then ask the reporter to provide this information. "I've been told that i don't give enough information about what i actually want" - You need to spend a bit of time analyzing new features, identify what it is you've been asked to make and make suggestions on how this could be achieved, as you're an apprentice then this should really be done with another developer for the first few times. If you're still struggling with a feature request its possible it doesn't have enough information. In these cases you need to work with the requester to understand the problem, normally fitting into the format of "As a <person/role> I would like to be able to do <thing> so that I can <find out/view/understand/perform task>" As for finding things in the code, this is just going to be down to experience with that particular code base. Sometimes some things can help, if you know that the code is outputting a given piece of text for a given system, you could search for that text in the code, if you know that a particular api endpoint has issues you should be able to track down where that endpoint is defined. But often a lot of issues boils down to how good of an IDE you're using is, my personal experience writing in C# using Visual studio with Resharper its easier and faster to dig through an unfamiliar code base because I know the tools I use are really good at searching code. Trying to program using more simple tools like Notepad++ for example would be much harder, and even though Notepad++ is a fantastic text editor it is not an IDE. This became a very long response, but I hope its helpful, you're very early in your career, but you'll always be learning new things
  4. The odal rune was used on by nazi germany, much like many other old proto-germanic runes https://en.wikipedia.org/wiki/Odal_(rune)
  5. First, thank you for having them explain why on the permissions side of things, Its something I believe that every app should be up front with on why it needs XYZ permissions. I'm not going to install it, I don't need it, but I am curious Does the app let you tune what things you want easily and efficiently? Can you say disable real time protection (which will have a negative battery impact) and it not go haywire because RTP is turned off? Like I've explained, the most efficient battery saving technique is combating wakelocks, which google permissions don't allow. The next best thing is actually removing the offending apps. What I don't like to see is something that thinks that is must have complete control to be any use.
  6. I'm taking a look through the permissions right now I've starred suspect permissions Version 3.0.5 can access: Device & app history retrieve running apps read sensitive log data ** read your Web bookmarks and history Identity find accounts on the device add or remove accounts ** Contacts read your contacts ** modify your contacts ** Location approximate location (network-based) precise location (GPS and network-based) SMS edit your text messages (SMS or MMS) ** receive text messages (SMS) ** read your text messages (SMS or MMS) ** send SMS messages ** Phone reroute outgoing calls ** write call log directly call phone numbers ** read call log Photos/Media/Files test access to protected storage modify or delete the contents of your USB storage Camera take pictures and videos ** WHY? Wi-Fi connection information view Wi-Fi connections Device ID & call information read phone status and identity Other close other apps receive data from Internet set an alarm delete all app cache data run at startup write web bookmarks and history measure app storage space prevent device from sleeping ** If you want performance boost NOT having this is better, this will waste battery view network connections install shortcuts use accounts on the device close other apps read Google service configuration toggle sync on and off expand/collapse status bar draw over other apps full network access pair with Bluetooth devices modify system settings connect and disconnect from Wi-Fi read sync settings control vibration access Bluetooth settings change network connectivity
  7. Pretty much the only reliable app for phone recovery would be cerberus installed as a system app with root. It will survive a factory reset, and be completely hidden..
  8. I think the issue here though is understanding how these things work. Any app running in the background does a few things, I can register 'wake locks', which will keep the phone awake while it processes whatever its doing. Apps that are using lots of wakelocks and aren't actually giving you any benefit should be removed. Killing processes that are using lots of wakelocks is good, but what if the process doing the killing is keeping the phone awake while looking for these apps? Not good.. There are apps available that will track wakelock usage. Some big offenders are any messaging apps (looking at you facebook), they like to constantly check for new messages and hence like to keep the phone awake As for RAM, like I said, unused RAM is WASTED RAM, when the phone needs more RAM for an active app, it will dispose of memory for background app in favour of the active app. Now of course we get into more depth, a lot of apps and app developers never really think of their memory footprint, some apps will use and keep in memory lots of information in poor formats that it needent too. If you feel your phone isn't performing at its optimal speed, find out whats causing the problem and sort it, don't just mask it by anther process that claims to help but could be causing more issues. Viruses? Never seen a phone infected with a virus, where as its possible, its no where near as common as the windows ecosystem. As for crapfiles, that does seem pretty useful though. Finally if you really want to keep your phone fresh and don't mind some hassle, then rooting and using greenify, ApOps, custom ROMs/Kernels because you will get a lot better performance and the ability to have much finer control over your phone. This too, android security is very strong, and with lollipop bringing even more with SELinux things couldn't get much more secure.
  9. I really don't see much point, if you really want to have some nice performance gains the only decent way is rooting. Root+greenify+custom kernel with decent optimisations I easily get 24-36 hours of on time on my Nexus 5, SoT ~5 hours Also Unused RAM is wasted RAM! If theres RAM free then its better to be used for something.. Android already has lots of good optimisations to swap out lesser used apps to allow for the active app to take the memory..
  10. I agree, there were many times where he expected things to be windows like, when frankly, they are different OSs with different ideas. In fact I feel that windows has many more issues than OS X. I use windows at work, and to be honest, its hardly windows anymore. I can reel off at least 12 different 3rd party applications I use to make it bearable. On OSX for me its just 2, Karibiner and HyperDock. Admittedly window management on OSX isn't great, but I'd say its exactly comparable to windows. But then I use a tiling window manager in linux so I'm very biased on what is good window management. And I think that workspaces are better than an ultrawide, in fact I use workspaces on linux on my multimonitor desktop. Not a fair review because hw was looking for a windows system in a system that is not windows.
  11. Often things do not explain why something is like it is, i forsee problems because something is different from what linus is used to with no explination on why, i.e. the unified file system that linus hated in the OSX iSwitched, which makes sense when you explain why.
  12. So am I, but its more than just answering the questions, I think it would be more 'Tell me what you want and I will show you how'. It needs someone to be there next to him to show him why things are how they are. Which is why watchingthe OSX iSwitched made me cringe.
  13. I just want to say, as someone who actively uses all OS types (Windows at work, Linux on my desktop, OSX and linux on my laptop), the unified vitual file system is just plain better, and heres my reasons why Reasons why 1 large virtual file system is better than multiple drives,The good about multiple drives.Good separation of concerns, emphasizes easy sorting.Um.. (help me here.. I can't actually think of anything else)The bad about multiple drivesDrive letters are not standard, remove one drive and add another and the letter the first had the second one could then be givenDrive letters are limited, 26 Letters, some DOS systems allow up to 32 mounts through the use of some symbols, but theres normally a hard limit set of 26If a drive is mounted as example D, then something refers to a file on D:/somefile.txt, then the drive is removed, another mounted as D:/ then the first drive is then mounted again, but can't take the assignment D:/ because it is in use the thing trying to access the file on D:/ won't find that file, because it is now E:/somefile.txtThe good about a virtual file systemDrives can be mounted anywhere, standard says drives should have their own folder under /media/, one for each drive being used, a temporary mountpoint /mnt can also be used if the drive is only temporary. Example: I have my media drive(actually just a partition that can be read by both OSX and Linux) mounted as /home/lutzee/media. It makes sense for me to have my media files in my home directory, the file permissions are inherited from the parent folder (my home folder).Allows for unambiguous use of different file systems to work togetherAllows for the easy creation of RAM Disks e.g: mkdir /mnt/ramdisk && mount -t tmpfs -o size=2g tmpfs /mnt/ramdiskAllows for easy movement of any key folder of the OS to be moved to another drive without fuss e.g: So you want /Windows/System32 to actually be on a different drive? Great, copy the files, delete the original and set the new drive to mount under /Windows/System32, no big deal.Allows for the mounting of things like ISO files files as part of the file system, no need for a 3rd party virtual disk drive. Just mount them as a directory and you are good to go.The bad about a virtual file systemIts not obvious what drive something is on unless you actually check the mount pointsNeeds some more hands on management some of the time, some environments manage mounts for you
  14. If this happens, he needs to have someone showing him what is right and what is not. I forsee him spending 2 days trying and actually giving up because finding the correct things for him isn't going to happen on his own.
  15. As a single datapoint, my steam library consists of ~18% linux compatible games. You could look at what games work under wine, but it can be a pain sometimes. But as you rate gaming so highly I don't feel that linux is ready yet for gamers to move too. Feel free to dual boot, it will be a better option than going purely linux.
×