Tom Joe

Ranch Hand
+ Follow
since Aug 26, 2018
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Tom Joe

Tim Holloway wrote:The joys of European living.....Ran out of milk.....anyone?

Have you considered freezing milk ? I always buy one extra and freeze it. It works quite well.
17 hours ago

Stephan van Hulst wrote:Yeah that's pretty much me.

Although my girlfriend is home more as well, so we play board games or do jigsaw puzzles together more often.

Side note - I have always seen nerdy people & couples playing games that require a lot of thinking, even after their day job of "thinking" (ex. programming). I wonder how they get the energy and will to do even more thinking. I guess I'll never know because I am not really nerdy or sharp.
22 hours ago

Campbell Ritchie wrote:Counting loo rolls.

Get a bidet and count liters instead.
22 hours ago
I have dog cone around my neck to prevent scratching and 6 foot disc around my belly to enforce social distancing. I am mostly in front of the computer, learning stuff to prepare for interviews.
22 hours ago
We could say that learning and using Generics can be hard because of things like type erasure. Many rules to remember. Is there anything that can be done to make generics easier to use ? Is it being done ?

PS - This seems like an ok candidate for meaningless drivel forum.
22 hours ago
I am trying to learn the Factory pattern from the Head First Design patterns book for the second time. The book says that there are two types of factory pattern - Factory method and Abstract Factory. The book uses the Pizza and PizzaStore example to illustrate the pattern. Basically, we have a PizzaStore that depends on Pizza objects. We have to develop a generic PizzaStore software which allows people to order pizzas. The logical process/steps of Pizza ordering remain the same - create(String pizzaType), prepare() or setupIngredients(), cut(), box() etc. The create() method belongs to PizzaStore and the other methods belong to Pizza. As we work on the project, we have to add new types of pizzas often. But, we don't want to keep changing our generic PizzaStore code every time a new Pizza is added. After all, the pizza making and ordering process always has the same logical steps.

The book has separate code for each of the two types of factory. For example, the Pizza class below has only String members for name, dough, sauce etc. in factory method. But in abstract factory, it has classes for Dough, Sauce, etc. Why can't Pizza have the same type of members in both patterns ? In factory method, we could have just one type of Dough instance instead of String dough. In abstract factory, we could have any number of Dough instances. I don't understand the reason for this inconsistency. Is that inconsistency required by the example or did the author just do it to save some effort in typing ?

Factory method - Pizza :

Abstract Factory - Pizza :


Factory method -

Abstract factory -

1 day ago

Bear Bibeault wrote:
As Steven pointed out.................It all depends whether you want to be up-to-date with modern tooling, or write code as if it were still 2012.

I want to be up-to-date with modern tooling only.

Bear Bibeault wrote:What does your test automation engine support?

I don't know. I am not working with any test automation engine now. I am new to JS and I am learning it for myself. But, I would like to use popular automation testing javascript tools and libraries like selenium, protractor, chai etc.

Stephan van Hulst wrote:I'd go with ES6, but you might need a transpiler to convert it to "vanilla" JavaScript, as not all browsers support ES6 natively, I think.

Thanks. I searched more on Google and ES6 seems to be recommended more often. My confusion comes from these two udemy courses - course1 and course2. The same instructor has created two courses, one on JS and the other on ES6 JS. I don't know why he'd have two courses. Probably the JS one is for working with browsers and the ES6 one is mainly for working with node js and such, besides browsers.

Junilu Lacar wrote:

Sam Muller wrote:an expert team guide your learning, i.e. the traditional University Training, is a plus, but I have seen some disadvantages to that also.

My $0.02 about "traditional University training" with regard to real-world programming is not very flattering in general, I'm afraid...

+1 for the comment about university. When it comes to practical skills (source control, unit testing, mocking etc.), chances are that the average college student will be at the same level as an Ivy league student. Not surprising when you look at the colleges syllabus.

I wish we had trade schools for software engineering. It could be a cross between a traditional university and a coding boot camp. It would have the bare minimum needed for the average software development job, i.e. NOT developing compilers, medical software etc. But, developing websites, backed components etc. It would not be too long and full of useless stuff like a 4 year degree, but it would not be too short and superficial like the average 3 month boot camp.

Anyway, coming back to this book. I have tried it and it does not fit my style of learning (video courses). I wonder how a book with about 200 pages could teach me about real world software development or at least give me a clue to get started. Real world dev does not seem like a topic that can be covered in sufficient depth in just 200 pages. It feels more like a multi volume book of several hundred pages or a 50 hour video course. I wonder if the book is a demo for paid training courses.

Suggestion to authors - Please consider making a video course for this book and put it on oreilly, lynda or udemy. It would be nice to have another course after this book which would be more detailed. You could start a kick starter or indiegogo campaign to get the funds for it and also see the interest level. That way you also get to cut out big, bureaucratic publishers.

Royale Summers wrote:
I just completed a Boot Camp cert in Java...

Which boot camp is this ?
1 day ago
I want to learn basic Javascript so that I can use it for test automation. I see some video courses which have "vanilla" javascript and ES6 (ecma script). ES6 was released in 2015 and the latest version of ES is 2019. Should I take the ES6 version course ? If not, then which version of JS (vanilla, ES) should I learn ?

Thank you !
To the authors - Will you make a video companion for your book ? If yes, then how soon is it likely to be available ?

IMHO, video would be helpful for those who learn better by watching things. Many books from O'reilly and other publishers have companion video courses on O'reilly online. For example - Java - How to program by Deitel is a book and video too. Some authors only make video and no book. I hope your book will have video too.

PS - On some days, reading a book puts me to sleep quickly. But, a video on the same topic helps me stay attentive longer.

Knute Snortum wrote:I'm not an expert in Streams, but I think that in the second method, .map(Person::getCar) returns a List<Optional<Car>>, not just Optional<Car>.

map() always returns a stream as seen from its method signature below. In the OP example, it returns Stream<Optional<Car>>. We can collect the map elements into a desired collection such as list by using collect() method.

6 days ago
Will any design patterns change significantly or become obsolete because of the new features in Java 9 and above ? Are there any good and comprehensive articles on this ?
I was able to find only one small article for the Observer pattern

EDIT -  the last 4 chars of the correct link are 35f7. The forum loading is slow and looks like it is not saving edits.
6 days ago