HN user

jpmec

4 karma
Posts2
Comments19
View on HN

replace "25 year old" with "hot". Is it discrimination to hire someone you'd rather look at all day and possibly have drinks with after work? Just sayin, it happens

BTW, I'm not condoning this situation, I think it is bad. But unfortunately, this is still a very real situation that does influence people's decisions.

Do you have a wife or children? What about senior relatives? What about childrens' children?

I think we Americans will soon see the multi-generational household as more the norm, especially with the high cost of care for our elderly.

It seems that if they constructed scenes appropriate to the artist, the forgeries would be even more real?

For example, Bob Ross wasn't necessarily famous for portraits. I'm sure if you gave it a picture of a landscape and used a Bob Ross painting as a learning model, you would get a fairly close forgery.

All in all very cool tech!

good answer, that's the kind of thing I was wondering about.

I figured since HN was mainly "hackers" (builders, tinkerers, doers) that this would be a good forum for this type of open ended question.

I was primarily interested in if the answers would be centered around self-preservation, rebuilding of society, rebuilding of technology, or preservation of the arts and philosophy.

Second, I was interested in real, pragmatic solutions that people were implementing.

For example, since the paper book is becoming less and less important in our daily transfer of information, then less and less is being written on paper about knowledge in building, agriculture, and technology. If "google it" becomes impossible for the common citizen, what would they do for information?

I know in my own personal life, I am reasonably accomplished in the academic area, and working professionally as a software engineer. However, I have not bothered to commit to memory the breadth of information required to sustain myself and my family if we were suddenly thrown into a "dark ages" situation.

The people, the culture, the projects, the money. Probably in that order.

If I could work with a superstar team, where I am guaranteed hands-down to be the dumbest person in the room, where I can practice leading edge software development, contribute to fantastic projects (some of which were decided by me), and get paid very well, then sign me up.

With the amazing power of the internet, even remote jobs aren't really that remote. I would say benefits like sending employees to conferences, making sure they have good equipment and comfortable surroundings, allowing change in the organization, and making sure that the entire team is always seeking to improve are good ways to attract talent. Money is also good.

I think the thing that separates a good programmer/developer/engineer is they enjoy doing it and, luckily, they can get paid for it. It is probably something they would be doing anyway if they weren't doing it professionally.

At 30, it is time to take stock and ask yourself, "do I enjoy doing this" or "do I enjoy the idea of doing this"?

If you enjoy it, keep doing it.

Some things I would recommend:

* Get a Github account and put some of your work out there

* Get on Stack Overflow and try to answer some questions

* Pick a small, self-interest project in an area you would like to work in and do the project from start to finish, as if you were getting paid for it.

* Look at other similar projects on Github and see how other do it.

I write software for money, and the thing I think most teams want is someone who can: + write good code that works + plays well with others + does stuff like they do

For instance, you may write totally amazing software, but if it is in a different language, with different tools, and your an arsehole, then nobody wants you on their team.

There is also a minimum level of entry because not many busy teams want to have to train someone from the ground up.

For that problem (i.e. self-training), I would try to find other people with about the same level of understanding with similar programming interests. Then try to do a project as a team. It will give you great insight into how to communicate as a software engineer (i.e. mainly through disciplined use of a version control system like git). If you can learn how to make great git commits, then you will find yourself in demand.

Good luck!

I was objecting to filling "all" the domains. I was referring to classes as inherently C++. For example, constructors, destructors, virtual functions, namespaces.

For example, AFAIK you cannot have a naked struct in C++. A struct is a class, and therefore can have methods, thus can have constructor and destructor.

Also, exceptions are a big part of C++ that I don't think you can remove?

If you want simple, obvious separation of data and logic, and you don't want exceptions or name mangling, then C is probably a better choice for that domain.

I like C++, but it is not C and is unlikely that one will ever replace the other in all the domains.

OTOH, if you want to write OO and you like C++, then it is not a bad choice.

I think both are being used to write new systems, so neither is legacy :-)

Nope, can't do it unless you strip out things that are inherently C++. C++ does too many things "for the programmer's benefit" to allow it to fill the domains that C is good at. They are different languages with different benefits.

What languages do you already know? What problem are you trying to solve?

I would learn C++ if you need to know it to get your job done.

Like others have said, C++ is a complex language. Some people don't like it as a "language", some people like all the features it has. But at the end of the day, it is complex to learn and understand.

Also you have to think about a lot when programming in C++. You have to think about objects in terms of their life cycle. Compared to a garbage collected language, this accounts for mental overhead that could be applied elsewhere.

A couple of other negatives about C++:

1) Its harder to interface than C.

2) It has many different flavors that vary depending on what platform you are on.

3) Up until C++11 it didn't have built-in regex.

A couple of positive things about C++ and learning C++:

1) The STL is great, and has patterns that you can apply to other languages.

2) Generic programming to write re-usable code in C++ can be quite fun, and you can learn how the compiler can help you during compile time (+).

3) Learning OOP in C++ can be an artform, and can be fun. There is a lot of bad C++ out there, but there is some very elegant C++ out there as well.

4) You will learn that C++ is not C. You will also learn to chuckle at anyone that writes "C/C++". (Hint, if they write this, then they do not know C++)

(+) Note on this point: Some people from the more dynamic languages might poo poo this as not needed, and that in their favorite language you don't need to define types. This is a mixed bag, on one side, that is true and can let good programmers work faster. However, they either have to not test, or perform all tests at run-time. A compiler and linker can tell you much faster if you have done something stupid like call a method that doesn't exist. In a dynamic language, you have to write tests and hope you happened to test that branch of code where you made the mistake.