I think it depends on what you are interested in with regards to programming. While my old Macbook Pro is fine for certain programming tasks, the more I developed the more I wanted more power out of my computer. There's very complex stuff you can get into like Natural Language Processing, or Machine Learning in general that if you want to make some cool stuff with requires a lot of powerful hardware.
So I think it depends on what your interests are and if you think those interests will expand in the future into other areas.
We are a setup of 2000 machines and dealing with challenges in Inventory, agent coverage and reports which are never consistent. Support team has to get manual inventory or manually install agents.
We have Symantec DLP agents and System center configuration manager (SCCM) agents deployed to all the client machines (PCs) through group policy.
We allocate machine to a user who roams along with user for his time with the company, when he changes his project or Team. Host name stays the same but IP address changes to his current projects VLAN. Which as per me has downsides –
1. Inventory records change. Machine IP address change that may cause agents to misbehave.
2. Machine has to physically be moved to other project.
3. Machine has to be rebuilt as per the allocated projects development environment which consumes time for both person waiting to get started for that project and support person who ensures system readiness.
4. Support members have to frequently do physical verification , install agents on machines that for reasons are not reachable or update them.
My query is what is the recommended practice widely followed by different enterprises. To allocate machine to user or allocate machine to project so that the machine stays with the same project which as per me has following advantages –
1. Inventory is mostly consistent as we always know hosts allocated to a project.
2. Developer environment is always as per the projects requirement.
3. A user allocated to the project can immediately continue with his work.
Our IT Management has long been following practice of allocating machine to users and not projects and these challenges are bothering us a lot. I am seeking opinion what is the practice followed by most enterprise setups and is recommended as preferred practice.
I am considering doing a coding bootcamp and getting a job as a web developer after that. However, I am not sure I can commit to web development for a career. I may be pursuing something else 1.5 - 2 years after the coding bootcamp. Do you think it would still be possible to get a web development job even though I may not be able to commit to it as a career? Will employers ask about the future in interviews or is demand high enough that I can still secure something?
I'm not sure how about the USA but here in Ukraine all those big words like "commit my future to web development" are just HR bullshit nobody pays attention to (except of HRs of course). What everyone cares is your skills to your salary demands ratio.
As for me throughout my 6 years of career, I've never switched to positions where technologies matched with my current skill set and it's perfectly normal for a developer as IT is an ever-evolving field.
Hope that helps
The first thing you need to do is find out what jobs are available in your location. There is no point aiming for a web developer role if all the local companies are looking for database designers. You also need to consider what levels of experiences they want. Bootcamps are fine as a starting point but are any intern jobs available?
On my decision, C++ is a mind-blowing programming tongue for an item build. It has multi-dimensional focal points. It is the most 'open' lingo, in any occasion as I might want to think. It's Dissent Arranged thoughts of composing PC programs is mind-boggling. It may show up fairly questionable if you are a student anyway it is a magnificent choice if you really need to wind up an item originator, site or application analyzer or in case you needs to make an application in solitude. This will assemble your knowledge about programming and what's more about the system and its diverse setups.
You can in like manner consider learning Android Studio(only after you learned C++) if you are possessed with Android stage and needs to diagram an application for Android.
As mentioned by other users you can use any language of your choice.
This might seem kinda off topic but I'm very concerned about this. I'm storing serialized objects in binary files as a data to load, there will be a lot of these files and I'm afraid that it might get corrupt because I want these files for a very looong time.
1. There is no way I can prevent it?
2. If you don't use/interact a file there is a high chance of getting it corrupted?
3. Will the file get corrupted depending on its weight like if its 1 gb or more?
4. What is the best way to store/keep my data clean for long time usage?
5. I know there is a huge chance of files getting corrupted if a windows crash occurs while I'm saving it. But what about like after the file is saved and if a windows crash occurs? will the file still corrupt?
PS: My english sucks, hope you had a fun time reading it!
Hello, I hope I'm posting in a place that is ok with discussion and not just question/answer. I know my question will receive some opinionated responses but not necessarily and regardless, it is something I really would like to ask people who are already working in the field.
I got into a developer's position a few years ago and it has been quite stressful for me. I feel I'm an intelligent person, I like technology, video games, programming etc. I have a passion for programming although sometimes I find it fading but I try to remain optimistic.
When I was interviewed for this position I made no effort to oversell myself. I was very upfront and honest about what I knew and didn't know. I provided code examples of what I had worked on and took a test that was assigned to me all before being hired. The position was supposed to be more of an entry level position.
At first I was really excited. So happy to finally be a developer. I wanted to learn as much as I could. I didn't necessarily want to stay with the company but I was happy to have got the position and wanted to learn all I could while I was here.
Problems soon arose and it's from these problems that I'm trying to get some insight into the industry to see what the job life is like for programmers outside of my little world/company.
The company I work for is a fortune 500 company, they are huge, all over the place, international, they're everywhere and you know them I promise, I prefer not to say though for privacy reasons. That being said, I was happy to get into this "entry level" programming position in this huge company cause I knew it would be a great learning experience.
I soon found out that I was being relied upon quite heavily and with very little guidance. My position, although I'm required to be in an office location, is virtual. Meaning, every programmer is at a different location, including my supervisors and management, and some (especially management) work from home.
One of my pet peeves is that, although I have a company laptop, and there's little to no collaboration taking place, I can't work from home myself, I have to carry my laptop with me and plug it in at the office I work at. While this irritates me alot, I can totally cope with this if the rest were ok.
My biggest gripe is the lack of collaboration, guidance, communication, and give a *@!$. I am given projects, with little to no background information, most the time via email, and that is it. I am told to ask questions if I have any. The majority of the time, my entire time spent here is one big question.
I'm trying to figure out, is this how it is where everyone works? Is it normal to hire entry level programmers, provide them with little to no guidance/training, and just assign them tasks to see if they'll still have their hair by the time it's all said and done?
This is something I'm really honestly curious about. I've been doing this for about 3 years now. I've learned things and manage to complete all of my projects on time but it's the process and the way things are managed that drive me nuts.
There are also long periods of time where I won't be assigned anything. I'm virtual so I come into an office that has nothing to do with me and sit. Sitting and waiting has been a large majority of my duties. My work life is a bit of a roller coaster. There's a very slow incline and then I'll get a project with no information or guidance and then it's a steep drop till I reach the end...
Half the time I feel it's just me, the rest I feel that it's just this place. That is why I'm on here to get an idea of what a programmer's daily job life is like.
Do you often find yourself with no resources or feel like you're kind of just there lol... I laugh but this has been the strangest and not so funny situation I have ever been in.
I also find patterns among people, ways of thinking among management. Things seem to be severely lacking. My idea is that the grass is greener on the other side but I'd like to hear from you all to see if that truly is the case or if I just need to suck it up and enjoy it somehow.
To give you an example, I was given a C# project recently, as I have many times in the past. I'm fine programming and figuring stuff out, I enjoy it, but there are times you just want to ask someone a question.
The person that was working on this C# project is no longer with us and I just found out I'm pretty much the only one that has any experience at all with C#... So me, an entry level programmer that had hoped this position would be a great learning experience is now more of a dreaded daily nightmare...
I do my best to accept and deal with the situations at hand and try not to panic but it can be hard at times. My thing is, why does it have to be like this and is it like this everywhere?
I'm not a dumb person, all I need half the time are some simple questions answered but I can't rely at all on the group I work for and it seems like they simply expect me to be Albert Einstein or something.
Then there's the guilt I feel for not knowing or feeling like I can't complete a task that gets assigned to me and fear of failure... It's just ridiculous.
Just to elaborate on the sitting and waiting. There are times I'll be assigned something, complete it, and I don't hear from anyone about anything for days or weeks. This feels like a giant waste of my time and I know it is.
Sometimes I won't be assigned anything at all so I'll email my supervisor and just say "Hey if I can help with anything let me know" and I may or may not hear back for who knows how long. I kind of stopped doing this though because now, I kind of enjoy not having anything to work on cause it tends to be stressful when I do.
My next steps are dealing with this a bit longer and spending my free time doing some coding of my own, brushing up my skills, and finding a new job. This is another reason why I ask this question because I want to hear what I may be getting myself into.
If you've read all of this thank you and if you have anything to share please do.
First of all, I know it's a bit late, but welcome to the community. Know that your experience is not unique, is not even rare, but is generally par for the course. There are very serious pluses and minuses to being a dev, but let's talk about something else first: soft skills.
By and large developers tend to regard logic, efficiency, and technical ability as positive traits. This is not the case with people in the lion's share of other disciplines, and over time this leads to many devs being a bit more reclusive and less invested in the work of others; to the point where the caginess of programmers is pretty much a stereotype. Now, this caginess is not reserved for "outsiders", but rather anyone that does not meet each individual's bar for competence. This is the first primary contributing factor in the response that you've received, and don't be so self-centered as to assume that how people interact with you has everything (or anything) to do with you.
Now to where my own caginess might show: the things that you're complaining about are actually the job. Yeah, writing code is nice and all, but it's not the hard part of the job. Expressing yourself in code is a baseline, and every knowledge domain is different, so each new project will, largely, throw you right back into a pit of not knowing what's going on, not having a foundation in the subject matter, or generally not being sure of where to immediately go. This is entirely the reason we have an SDLC and why the things that may not have seemed terribly important in school are very important in practice.
You're also not expected to know everything, despite how it might feel at the moment, but you are expected to be able to figure things out that are in the knowledge domain of the company that you work for. You are expected to understand some patterns and practices when it comes specifically to engineering, but that's part of the trade. Never, ever, play "smart" when you're lost: questions are invaluable, ask them!
Learn to provide realistic estimates (the Scotty rule can help...) so that you don't always feel under the gun. Sharpen your research skills; Google is the ultimate expression of RTFM, and being able to read up on APIs or even check source on GitHub is a gigantic leg up. Utilize it without shame or fear.
When you don't have a current project, experiment. Play with a language or technology. Look for holes that you can plug. Make a space for yourself within the organization.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
I'm unsure if I understood everything correctly. Is the following correct:
1. A Text encrypted with PRIVATE_KEY can be decrypted only(?) with PUBLIC_KEY
2. A Text encrypted with PUBLIC_KEY can be decrypted only with PRIVATE_KEY
Thank you very much for help and sorry if the question is stupid...
It does not solve my Problem, but it answers my question
Close. Depending on your use case, you will have a PUBLIC ENCRYPT and a PUBLIC DECRYPT key. These are completely separate key sets that are associated with PRIVATE DECRYPT and PRIVATE ENCRYPT keys respectively.
Generally, you encrypt a hash with your PRIVATE ENCRYPT key to provide a digital signature, as it can be verified using your PUBLIC DECRYPT key. For actual message encryption, your PUBLIC ENCRYPT key will be used to encrypt it so that only your PRIVATE DECRYPT key can decrypt it.
With the PKI model, you can freely hand out your public keys (or they are stored in a central repository, such as on a domain) while your private keys needs to be properly secured to prevent compromise.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
The logical to remember with Public , Private Keys is about 2 crypting channels.
From both sides, 2 differents Keys will operate.
Like all cryptos, one can be reverse , not the other.
But the A to B, B to A must transmit all datas, and verify them.
Look at what can be switch : ( What is surrounding ? )
Computer A , Computer B
Keys A , Key B
Private function crypto
Public function crypto
Clock from A(all in) , Clock from B(all in)
checksum A , checksum B
while you ensure no errors of receiver .
The work is all done.
I got -50 points around for this article Improve-the-Way-of-Writing-Functions . But as per the code project documents when author gives down vote author should give proper reason. Please help me if I am wrong.