Tim Cooke

Marshal
+ Follow

Recent posts by Tim Cooke

Typically through the releases of the Java the feature updates are cumulative so I wouldn't be discouraged from picking up a book for the most recent version.
10 hours ago
Chapter 1 of the Horstmann book is called "Our First Program" so I wouldn't be discouraged.
10 hours ago
I don't know that book so can't comment on it.

My favourite Java book is Core Java for the Impatient, by Cay Horstmann. As well as covering all of the fundamental and most used parts of the Java language it is delivered with a healthy dose of opinion about how to get the best out of the language and how to apply your newly formed knowledge. This is particularly useful because often times there are multiple ways to achieve similar things and Cay does a good job of steering you in the right direction. Like a skilled mentor in book form.

I have the second and third editions, which cover Java 9 and 17 respectively, but I note that he has a forth edition that covers Java 21. My bank balance will not be happy with this discovery, whereas Cay Hostmann's will be.
1 day ago
Myth.

I work for a medical technology company where some of our software is classified as a Medical Device, and there's not a sniff of C# anywhere. We have a mix of Javascript, Typescript, Python, and Java.
1 week ago
Hello again Dani,

I've spent a few weeks hanging out at DaniWeb (as well as here, of course) and can certainly see where you concerns come from about its future. Some things I've observed are:

  • You get a lot of spam. Assuming your spam filter is as good as you say and catches most of it there is still a bunch every day that gets through. I have been using the Latest Posts view and most of the time it's just junk posts which makes it hard to filter out any proper posts I could actually help with.
  • You get a lot of posts about SEO and I expect they're quite hard to moderate. Because you yourself are a bit of an SEO expert it is perfectly reasonable that people will ask genuine SEO related questions at Daniweb, but because of that it's hard to distinguish the legit questions and the SEO "questions" for the purposes of achieving SEO. It's a lot easier for us here as we generally don't discuss SEO so any SEO topics are almost always spam and get canned
  • You have somehow attracted a niche spam topic of Router administration tools. I only mention it because we don't really get any of that, and it's interesting that you do and we don't
  • You had a bit of a public ding dong with one of your moderators about a response to a topic. I'd definitely recommend confining that kind of discussion to your private staff channels as it puts people off. For example, we never suggest that anybody at CodeRanch is anything less than perfect
  • There is little in the way of repeat engagement. In the few topics that I did make an effort to respond to, they just withered and died. I don't know if the author of the question read the response but they certainly never came back to say whether they solved their problem or not. That's a real shame as the folks who want to help out also want to know if they actually did help out.


  • I appreciate this doesn't really help much, but just thought I'd share my experience.

    The main competitor of the forum is now AI chat tools such as ChatGPT, Claude, etc etc. I read recently that even StackOverflow participation has pretty much stopped now too. I still think there's huge value in the discussion forum. AI tools will answer your question with absolute confidence and authority regardless of whether it's right or wrong, and regardless of whether you asked the right question. Whereas on a forum you're asking real people with real brains who can really get to the bottom of what it is somebody is trying to achieve, and the outcome isn't always an answer to the original question. Often times we question the question and take the discussion in a different, and often better, direction.

    So, how do we convince the World that discussion forums, full of real humans with real smart human brains, are and have always been the best way to get help with your software engineering challenges?

    I don't know. Maybe you do.

    (with all this SEO talk I fully expect this thread to become a spammer honey pot before too long)
    2 weeks ago
    Firstly, congrats on getting your job!

    I would approach the role with a level of optimism and be open to learn everything you can while working it. You say it's an intern role so I would expect the employer to be ready to provide a good level of training, or at least your colleagues will be ready to give you lots of help. Dive into it and enjoy it and in the near future you will be a Java and C# developer.

    To get you started, break down your knowledge of how to write Java programs into the fundamental building blocks and then figure out what the equivalent is in the C# ecosystem.

    For example:

    Writing code:
    Java language syntax -> C# language syntax

    Compiling code:
    javac -> ??

    Runnable artifact:
    class files, or jar -> ??

    Run program:
    java -> ??

    Figure out these things first so you can at least get a copy of the code on your local machine, compile it, and run it. Then start looking at the code itself and have your colleagues take you thought the functionality of the system and what parts of the code support those workflows.

    It'll be fun! Go for it.
    2 weeks ago
    Hello Brian, welcome to the Ranch!

    Is that a .ie TLD you're using there? You mustn't be far from me, I live in Co Down.
    In 1998 I had a job right out of college fixing ATMs (cash machines) in a workshop and the fella I worked with tried his very best to encourage me to learn Java. He even set me up with a computer in the workshop for me to use. Of course being a naive and ungrateful 19 year old I largely snubbed his efforts and didn't bother my arse learning any Java. Shame on me.

    Fast forward to 2006 and I'd just finished a Masters degree in computer science and got my first programming job. I worked for a consultancy firm and I got shipped off to Sony in Basingstoke (England) to work on a Java project, so I got put on a 2 week Java crash course. I believe it was Java 1.4 at that time. I don't recall whether it was at that job or a later job where I saw the transition to Java 1.5 and spend a few days hunting out all the places where we had used "enum" as a variable name, chasing compiler errors because enum was now a Java keyword.

    I worked with Java almost exclusively for the next 15 years, and only in recent times have spent less time on Java and more on TypeScript/Javascript and Node.js. I'm still a Java guy at heart and probably always will be.
    3 weeks ago
    Hello, welcome to the Ranch!

    Perhaps if you say what your rates of payment are for such a person it might help you gain the interest you seek.
    4 weeks ago
    Perhaps fulfilment just looks different with AI "accelerator" tools such as the ones you mentioned. Can you develop code quickly while maintaining your values? Is your code well tested? Is your code beautiful? Do you have confidence in your code? Can you put your code in production and sleep well at night?
    4 weeks ago
    Hello, welcome to the Ranch!
    4 weeks ago
    There's even a challenge before you get to the event processing part, and that's representing the given input as a single stream of arrival and departure events. I note that the given lists are not ordered chronologically.
    1 month ago
    In fact I can immediately see an improvement. Instead of having a stack, just maintain a count. Start with 0, +1 for an arrival, and -1 for a departure. If the count ever hits -1 then we're off to Hogwarts.
    1 month ago

    Piet Souris wrote:how many trains arrive between any two consecutive departures?


    I don't think that will quite do it Piet. Take the following example, where "a" is an arrival, and "d" is a departure and the numbers are the trains in the station.

    You only ever have 2 arrivals between consecutive departures, but the maximum at the station is 3.

    My first attempt would be to simulate it exactly as it would occur in reality. I'll not write any code just yet, but I'll talk through my thought process.

    I have 12 events that happen in chronological order, and I have two event types, arrival, and departure.
    I could represent the events as an ordered list, the station as a Stack, an arrival as a Stack Push, and a departure as a Stack Pop. If I kept track of the size of the stack after each event and remembered the max size, I reckon that would give me the answer.

    I'm sure there are some more time efficient methods than that but for the specific data set you have provided it'll do just fine.
    1 month ago