HNHacker News
TopNewBestAskShowJobs

tedyoung

516 karma · joined March 13, 2008

Java coach, educator and live coder.

Twitter (and almost everywhere else): JitterTed

Blog: https://TED.dev

Twitch: https://JitterTed.Stream

My Discord: unlisted, but DM me for an invite: JitterTed#4770

Email: tedyoung@gmail.com

submissionscomments
tedyoung··on Online coding school Treehouse lays off most of its staff
Would love to know what caused this to happen, given (as the article says) huge amounts of money being poured into (seemingly) similar businesses.
tedyoung··on Show HN: A free in-browser game across infinite universes procedurally generated
I wanted to try this, too, but after 4 minutes and no end in site, I closed the tab. How long is the opener, or is that it?
tedyoung··on Ask HN: New Platform for Software Tutorials
Slip.so perhaps? https://news.ycombinator.com/item?id=28141462
tedyoung··on Ask HN: How to become a ridiculously good back end staff eng?
Take time to reflect. A lot of folks focus so much on doing that they don't take the time to take a step back and see what's working and what isn't. You might be shipping a lot of good stuff, but maybe you're making assumptions too often, or making the same mistakes over and again, or simply not taking the time to just _think_.

Take time to share and listen. Teaching, mentoring, coaching, etc. others, especially those with less experience, is good, but is often done as a one-way transfer of information. Instead, find people who ask good questions (those with the least experience often ask the best ones) and be open to exploring those questions together. It's hard, because you will base your answers on your experience, which is by definition limited (it is for everyone), but it may not be the right answer in all situations.

tedyoung··on How Watches Work
A great read, but animations would have been soooo much better than the static diagrams.
tedyoung··on Growing object-oriented software vs. what I would do
It's true, "good" Object-Oriented Java code is hard to find, because it's not taught very well (or is taught completely wrong, e.g., using "getters" and "setters" to "encapsulate" data).

However, I think it's also true what the author says in terms of not everything is like an object, thought I would say that Domain-Driven Design's idea that there are multiple _kinds_ of objects: Entities and Value Objects, and that they serve different purposes. In addition, there are data-only things used to carry data around and especially across internal/external boundaries, those are Data Transfer Objects. With those three, I've found I can teach OOP to folks and get them to understand it as long as I get across one last concept: all method calls should be Commands or Queries.

When the author says:

> All calls between objects are unidirectional: no public method of an actual object (not a plain data class) returns any value.

That's close, because _most_ of the methods are Commands (requests for an object to change the state for which it's responsible), and anything left are Queries (what's your current state?).

> Does everybody else find it so obvious that it's not worth mentioning and I'm the clown that didn't realize it?

No, it's not said enough, and you're not a clown. The clowns are those that teach getters and setters right after they teach you about classes and don't tell you that the _entire_ purpose of an object is Behavior not Data. Alas, they teach this because it's what they were taught (and it doesn't help that the AP Computer Science curriculum in the USA explicitly teaches this).

tedyoung··on Launch HN: HyperLinq (YC S21) – Desktop trading terminal
Trying out new apps takes time, so it's really your job to show why I would want to take that time to properly evaluate your app. Asking potential users to "try our app" without answering the "why" isn't a good way to get people to, well, try your app.
tedyoung··on Positions, Profit and Loss
Yes, brokerages have all been doing this for a while, but while TD Ameritrade pays more overall than Robinhood, does it also do more trades (not in terms of number of trades, but dollar value)? Without that info, it's hard to tell who's worse.
tedyoung··on Reconsidering the way I explain programming (2020)
Some basics of how people learn that I've found is:

* What do they know now (or think they understand)? You can only build knowledge on existing knowledge, so first find out what foundations exist (this connects to the author's "listener's worldview" idea).

* Tutoring (1-on-1) will almost always be better than teaching (1-to-many) because you can (if you try) better understand what's being understood and what's not.

* Learning is construction of desired knowledge, so learners have to "do" something and be provided quick feedback to build the desired concept (which is why learning on your own with little feedback is subject to learning the "undesirable" thing, even though it might have "worked" for you).

I did a talk on this topic (Human Learning) that you can find on YouTube (JitterTed.TV).

tedyoung··on Ask HN: What is your favourite stocks/options trading platform?
I have a Schwab account, but I strongly dislike both their Web UI and their (iPad) mobile apps. They were built decades ago and for the most part they show it. The mobile trading for stocks (forget options) is just awful (including failing to accept my trade for no easily understood reason). My hope is since they bought TD Ameritrade that they'll dump their own trading apps and use TDA's.
tedyoung··on Ask HN: What is your favourite stocks/options trading platform?
The desktop TOS has a bunch of options analysis tools (mobile has some, too), but honestly I don't use them very much so don't know them too well.
tedyoung··on Ask HN: What is your favourite stocks/options trading platform?
I like TD Ameritrade (now owned by Schwab, but still has their own web site) for its generally good execution (as far as I can tell), but mostly because it still has the best mobile (iPad) app that I use for the majority of my stock and options trading. Note that there are two apps: TD Ameritrade and thinkorswim (aka TOS). TOS is the one you want, and their desktop TOS app is also really good, but I actually find the iPad app to be more than sufficient for most of my trading.

They continue to work and improve it (which I'm relieved about, because Schwab's mobile app is awful, Webull is worse, and I don't know how anyone uses RobinHood for options trading, it's so hard to do cancel/replace orders with them, which I do constantly).

tedyoung··on Show HN: Secure sensitive info while recording videos live or screen sharing
I like the idea of being able to save the blurred areas, having standard sets of these for popular sites (e.g., GitHub API keys, Twilio, AWS, etc.) would be worth paying for.

As others have mentioned, I'd like more secure ways to blur the area, e.g., completely blanking it out, or filling with random text and then blurring.

Edit: Would also be useful to replace the text instead of blurring, that way viewers could see realistic information without revealing real keys, etc.

Edit: Please allow the plus (+) symbol for emails.

tedyoung··on Nuzzel is going away for now
I'm a bit user of Nuzzel and this isn't entirely unexpected, but I'm disappointed. Nuzzel allowed me to catch up on links from my Twitter stream without me getting caught up in infinite scrolling and distracting conversations. It didn't replace Twitter, but let me use it in a different way.

Nuzzel replaced a similar -- but much better -- tool that I can no longer remember, after it shut down as well. At this points I'll probably have to create yet another side-project to do what Nuzzel was doing for me.

tedyoung··on Ask HN: People who enjoy coding in free time, what does your process look like?
Agreed. This is what I always recommend to those who are looking to learn how to (better) code: find a personal, meaningful project that fills a want or need for you. Not only will it provide you with realistic problems to solve, they will be personally meaningful, helping you stay motivated.

The OP issues may also be related to procrastination, where having accountability to others may be one (among many) solution, e.g., having a pair-programming partner (or a mob), or, what has worked for me, programming live on Twitch.

tedyoung··on Why OO Sucks by Joe Armstrong (2000)
Not only are getters/setters not necessary, they actively work against good object orientation. The whole point of OO was to work with things in terms of their _behavior_ and not their _data_. The way OO is taught by creating data-centric classes has misled generations of developers into thinking they understand encapsulation by making a variable private and then providing a getter & setter for it.

I spend a good part of my time training Java developers away from this idea in order to help them make their code more testable and understandable. Queries and Commands are not just pedantic alternate names for Getters and Setters: thinking about objects with respect to what you can ask it to do (Command or Request) and what you can find out from it (Query) significantly improves the code that gets written.

tedyoung··on Substack's UI and 1Password temporarily cost me $2k
I wish sites would test their forms with popular password management systems. This kind of thing happens all too often (thought perhaps not with such a high cost). Why not make it easy for people who auto-fill with these programs -- don't fight them.

(And I won't get into sites that won't let you paste passwords into their forms.)

tedyoung··on Apple’s M1 processor and the full 128-bit integer product
Not in the next 10 years. Why would they? Fabs are extremely capital-intensive and take years to get up and running, when (like Taiwan Semi) knows how to do it. Intel has shown how hard it can be to do this right. Let TSM work on production (and hopefully get more/larger fabs in the USA up and running) and getting better at packing in the transistors, and let Apple improve the design (and software).
tedyoung··on Show HN: Bestsnip – Draw animations online with automatic inbetweening
No Firefox support. :(
tedyoung··on Benefits of Domain-Driven Design in Nuxt Apps
> Domain-Driven Design (DDD) is the concept that prioritizes business concepts over other types of classification in your codebase (like grouping by file type).

Well, no, it's not. It's true that DDD-based architectures (like Hexagonal or Ports & Adapters) do provide guidance on code organization (I teach courses on this), but to say that code organization is DDD is misleading at best.

As others have said, DDD is so much more than that, and I'd summarize DDD as making Domain Concepts and Behavior primary, instead of the Data (and databases) being the focus.

tedyoung··on Ask HN: Do you have any tips for increasing code review throughput?
Stop doing so many code reviews and start pair or mob programming. Write more code using TDD and with Hexagonal (or similar) Architecture to make code easier to test.

Code reviews are a poor use of time and don't solve the problems (quality, learning) that people try and use them for, or, if they do, it's very inefficient (as you're finding).

If you must do code reviews, review them synchronously with the author.

tedyoung··on Ask HN: How do you create product videos and screencasts?
Videos like the first one are mostly animation or motion graphics based, which is a different skill. While you could certainly learn how to do it yourself, you may be able to find "stock" graphics that have what you want.

The Slack one could be done by recording the screen (using any one of a number of screen recorders such as Camtasia, Screenflow, Quicktime, or a bunch of free/open-source ones) and then using their tools to highlight via animation and record a voiceover or using a dedicated video application like Adobe Premiere Pro or Apple Final Cut Pro X. Not difficult, but another skill to learn.

Remember, these videos (and many like them) are created by teams who have dedicated graphics and video folks (or hire freelancers) to do the work.

tedyoung··on Last Phase of the Desktop Wars?
> "Ten years later, Azure makes Microsoft most of its money."

Well, no, not yet. Microsoft doesn't break out Azure separately. It's usually included in their "Intelligent Cloud", which is the largest segment, but that also includes SQL Server (a big money maker), Windows Server, GitHub, and other stuff. "Commercial Cloud" revenue (which is all the cloud portions of their products, from Azure to Office 365 Commercial) was $51.7Bln of $143Bln overall. So yes, Azure makes a lot of money, but not "most".

tedyoung··on Checked exceptions: Java’s biggest mistake (2014)
I've never heard the term "kleenex program", what does that mean?
tedyoung··on How to Run a Live Coding Stream on Twitch Using OBS
Twitch is a lot more "discoverable" in that you can easily search for folks who are coding _right now_. I get lots of new viewers this way.

For YT, viewers would have to already know who they're looking for and so they're not likely to "stumble" across your stream.

tedyoung··on How to Run a Live Coding Stream on Twitch Using OBS
While that can help, it's not necessary. What is necessary is increasing the amount and/or consistency of time streaming (sticking to a solid schedule really helps) and always be talking and interacting with chat. It may take many months to build up an audience, but you can do it.
tedyoung··on How to Run a Live Coding Stream on Twitch Using OBS
Besides VSCode's LiveShare that was already mentioned, there are several tools that allow folks to collaboratively edit code: Floobits[1] and CodeTogether[2] are a couple that I've used successfully (I'm an IntelliJ IDEA fan, so like to stay in my IDE).

[1] https://floobits.com/ [2] https://www.codetogether.com/

tedyoung··on Few thoughts on habits and touch typing
I think it's great to learn how to type more efficiently (especially if you're coding or demonstrating in front of an audience), but for coders, typing is not the bottleneck (unless you truly hunt-and-peck), so the comparison to a violinist is not valid. Learning shortcut keys is probably at least as important as typing fast.
tedyoung··on Most book clubs are doing it wrong (2017)
Joshua Kerievsky wrote a Pattern Language for study groups that came out of the Design Patterns Study Groups that we were a part of in the 1990s in NYC and Silicon Valley. Worth a skim: https://www.industriallogic.com/blog/pools-of-insight-study-...
tedyoung··on Show HN: I created a SaaS/Admin template using React
All that animation makes me dizzy.
← PreviousPage 4 of 8Next →