Details
-
AboutEmbedded Software Engineer with Electronics Background. Also likes cats, homebrew, gardening, DIY, computer games, climbing and other stuff.
-
SkillsGo, C, C++, Ruby (no not Rails, Ruby), GNU Make, Linux (mainly Debian now, I can just about work CentOS), Yocto, IP networks, CI, CD (Delivery and Deployment)
-
LocationFarnborough, Hampshire, UK
-
Website
-
Github
Joined devRant on 7/17/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
It takes very different skills and values to effectively train people over time. Many seniors have a lot to do an can see the time spent dealing with more junior people as a waste of time when they could have done the work themselves.
The important thing to realise is that if you do have the skills to help improve the abilities of juniors your team will grow and over months or years you will end up with several effective developers doing the work instead of just one.
That being said many people lack the skills to train others or find it very difficult to do so. They maybe more comfortable just doing the technical work and not dealing with people. The challenge for a team or company is to recognise those who can tutor and support as well as those who would be better left to do their own work in isolation. -
This is how I like to do a log of things too. With variables passed in as parameters on the command line so that both manual local builds and CI use as much of the same scripting as possible.
-
It is not called DevPraise.com
-
@mr-user I cannot really advise on GUI stuff as I have managed a couple of decades without the need for a GUI in my work 😝
Sometimes someone else has maintained something or I have needed to integrate with semi-auto web generation thing but mostly it's been config files or CLI only for me. -
@mr-user in answer to the question of catching the answer is depends. It may make.sense for the lower level code to catch a couple of disconnections and try to reconnect before bothering the end user.
Knowing what to teach is always hard. If you bring up a tool/topic (such as exceptions) then I think need to give an overview of the good and bad bits about them. A few clear cases of what to throw and when to catch with a warning about the large gray area between the clear cases.
It's all about design, decisions and making the best choices you can for the end user after all. -
@mr-user that is fine but the cases I am talking about are where people say "it is the responsibility of the caller" all the way up to the operator poking at the CLI or the GUI that hides it all.
Much of the time not only do you throw but you are also the caller. Not in that line of code but often you are writing something that you call. The end user does not want to see you failing to handle a network blip or a full drive or ...
Handle all the thrown things or think about how to handle them is what I am saying. -
The balance of storing items or pointers to those items or smart pointers to those items is often important too.
-
I hope you also taught him to handle every exception that you program in and try to catch everyone that could be thrown by calling code too?
For me the answer to "Why do we throw an exception?" Seems too often to be "so it's someone else's problem". -
@Demolishun if a government wants to prevent people from earning a living for 18 months that means that the government must support and fund those people for 18 months. That at least seems to be the rough goal for most governments in Europe at the moment (although I am sure they are all hoping for 8 weeks not 18 months).
-
@DBX12 Oh and then there is the fun that Outlook Top posts so I can easily write extra text conversations into an email chain. True the addition of while lines won't do much to change that.
It probably is mostly some odd styling idea. Maybe to make Windows, Mac and UNIX systems all generation similar looking results when you get just a \r\n or a \r -
@DBX12 Well I do not know.
Just a quick catch up to our recent conversations with regards to your order.
We can only make it in Two shipments instead of one. Respond if you are happy to proceed under the terms discussed.
{This was a long block of blank lines but guess what DevRant does with them!}
You have 2 business days to reply or we will charge you $1,000,000,000 in late fees. Also this contract is governed by the state of whatever I agree to. And the price is going up 200% so there. -
@molaram meh if more venting happens and it is direct at me it is fine. Sometimes it makes people feel better to have a good rant to get out the stress.
I tried to obey the outlined rules and only empathise. Sometimes it is nice to know other people are going or have gone through some of the same troubles too.
Thanks for getting the bucket ready. I will hope I don't get those post capitations that make the mouth open and close. -
I hope the vent helped.
I think a lot of people often find themselves in similar situations and it is hard. I know I found it very hard to make the decision to leave a company that was not good for me for similar reasons. I was lucky and moving was the correct thing for me.
Those on lockdown are also finding all the little stresses that were always there are being amplified. Good luck to you and to everyone going through a hard time.
(Hopeful I avoided adding an opinion or a suggested solution) -
It is just as easy for the manager to ask for either.
-
It was a security thing from the bad old days I think.
Render some html or include some.text wwaaaaaayyyyyy done the page that no one will bother to scroll to be as damaging. Stripping out extra line breaks made that stuff visible so that the user could take action.
Think like an old MySpace profile but inside an email in terms of length (although that reference is probably too old for many). -
@Yamakuzure OOD != Dynamic allocation || (STL || std lib)
Once you are very use to C++ and object oriented design there are lots of problems simpler to solve with it than with C and procedural programming. No virtual classes also helps remove the main memory overhead that C++ should have over C.
It is a weird old world in odd micros and old specialised tool chains. Now days you are much more likely to have full standards support and bags of memory on an ARM or similar. There are times you still might be counting the IPS let alone the MIPS. -
Just wait for when you.get stuck on a micro or tool chain without dynamic allocation, exceptions, strings or some other fun obsticle. 16 MB is still a vast amount of memory in some places 😁
-
You have taken your first steps into a larger universe 🌌
-
But next week you will only spend about 20 hours debugging automated tests when the manual testing would take a few hours. Think of the long term lack of savings.
-
In any very complicated system the interactions between parts can have very complicated outcomes. Changes in behaviour may not just propagate but multiply through the related stages
Lots of programming practices are about coding in a way which should prevent that from happening. The simple example being having a value defined in a single place and the symbol reused everywhere so that you do bit need to hunt down values.
Things like unit testing, integration tests and system level testing (hopefully automated) will help you spot some of your new bugs early. They are unlikely to get everything and there is high initial time cost. Especially considering that doing your job near perfectly should mean it all works first time 😂
That or it is just job security by some devs sneaking in future work to do 😜 -
And some of the iffy companies can brick your device at a whim or simply by going under. Things should still work when the Internet connection goes down, not leave people without lights, ovens, washinmachines, kettles, toasters...
-
@Zaphod65 please don't do something like this just to make your typo everyone else's headache
-
@TafT well unless it is Java. Then you would be lucky to represent 8 vales in only 3 byte (meaning 3 lots of 4 bit memory).
C guys gotta do a little trolling now and then. -
Bits not bytes?
-
@bittersweet I'll suggest it is language specific although what I really want to say is WTF 3?!
-
I do find it odd that half the comments on here were devs saying "that video is rubbish! I have a Mac Book because..."
I'd expected more people to say they just are not using Mac at all. I just started working with my first developer that uses a Mac. Don't know where they were all hidding for my first decade or so of programming.
He is certainly devout. It would be nice if he didn't spend loads of time fixing things only the Mac compiler complains about, or made it so the CI system could use the Mac compiler, or used the Docker Container to do the actual compile like the CI does. Apparently him spending all his time fixing "bugs" that no one else sees and changing the build system to work on the tool chain only he uses and said build system taking 10 times longer to run on the Mac than anything else is all fine. Nothing for me to worry about.
Rant done.
I don't use a Mac, because when I try to operate one I've got no clue how to. Too many years of just Windows, Debian and Android. -
@aether I love git cola for being able to pick lines I go and don't want to commit. Number of times I've got some code that really has two of three changes in it that can be separated out. Commit lines, compile (maybe quick unit test), commit next set and repeat.
-
I start to twitch when I watch people changing one director level at at a time. Itching it is worse when they don't even do a listing so clearly know the full path. Maybe even know about tab completion but choose to type.it manually 😰