HNHacker News
TopNewBestAskShowJobs

bpyne

1,237 karma · joined November 14, 2008

loves: family enjoyments: software development, drumming, martial arts, cooking
submissionscomments
bpyne··on A Learning Secret: Don't Take Notes with a Laptop (2014)
I have the same issue with notes. When I have to analyze what I'm hearing, I can't do anything other than listen. It's like my brain shifts between modes.

My intuition is that I would have been an A student if I took time to write notes after the class while the memories were still fresh.

bpyne··on Why Google+ Failed
I remember that my wife and I were late to Facebook, having been convinced by our daughter's babysitter that it made staying in touch with people easier. We built out a Friends list and were having a great time reconnecting with people from our childhood. When Google+ came on our radar the idea of trying to rebuild connections in another platform was not appealing.
bpyne··on Facebook moderators break NDAs to expose working conditions
From the article, we don't know how much a moderator "can take" daily. Perhaps studies haven't been done. Perhaps it's too complicated a subject for good tests. But, they could check with organizations who have experience already with employees having to watch horrific crimes.

The chief information security officer in my organization came from our state police where he headed the internet crimes against children division. People on his team had to watch videos like the ones described in the article. Despite having all hardened officers on his team, team members regularly cried at their desks while watching videos. His team members had to be taken off-duty for weeks every six months to recover. They had mandatory counseling even when off-duty.

I would think FB and other large companies could look at the measures taken by police forces with similarly disturbing jobs as a guideline for the contractors.

bpyne··on Absolute truths I unlearned as junior developer
"Understood as senior: Legacy code that I wrote myself is hard to read."

Your comment came at the perfect time. I just finished debugging a "high urgency" problem with a program I developed and maintained for the past 10 years.

The program started simple with a small list of rules to apply against data sets. Over time the list became a tree of rules that expanded in both breadth and depth. It was refactored once to get the design in line with the rules of the time.

The "high urgency" issue turned out to be the program working correctly. But, the functional user wasn't able to keep in mind some of the rules he set. It took me a half hour, with lots of "why did I do that", to explain it again to the user.

bpyne··on Protecting Sleep in the Hospital, for Both Patients and Doctors
When my wife gave birth to our daughter we had a room to stay in. Every 1.5-2 hours the nurses came in to ask questions and run tests. It was maddening. My wife had to finally cry and beg them to stop. Afterward, we managed about a few hours of uninterrupted sleep.
bpyne··on Remote working – Bringing sanity to mind and lessons worth learning
My employer let me drop to 25 hours/week when I went to grad school. Twenty-five turned out to be a sweet spot. I enjoyed accomplishing goals for my employer each day and had an extra 3 hours daily for family and personal goals. It was the happiest I've ever been in my career.

My manager let me work from home as needed during that time. Just having the power to make the decision gave me satisfaction. I used it when I needed it but went in otherwise.

bpyne··on Remote working – Bringing sanity to mind and lessons worth learning
Has the company looked at which departments need to be on-premise and then let the other ones have flexibility? If the departments who work remotely now and then are meeting the company's goals, it seems like a model to follow.
bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
You're dramatizing other people's statements quite a bit. Nobody is saying that the use of Git should be the subject of lectures, unless you're using Git's source code or software design to exemplify some technical points. But grade based on projects and require the use of these tools - e.g. Git, GitHub, Maven, and Python - to work on them. Then, as a teacher, you should know how to use them yourself because you SHOULD use them in your own development. (Even if you're doing research you should use a version control system. VCS's are practically designed for the scientific method.)

Again, let's keep in mind the premise: CS and SE are separate departments in a uni. Professors who gravitate more toward forwarding computational science are in CS; professors who gravitate more toward the science of building software systems are in SE. I posit that such a division would put people where they belong and make people going for SE better prepared.

bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
Some people are slow starters for various reasons, often lack of confidence. As long as I see some interest in becoming better, I'll gladly mentor.
bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
An SE is part of the "business". Often an organization has many projects that need to be done, so time estimates are critical to determine when the next project can start. It's an important skill to have.

You're not "playing" with tools. You're learning to use them to build stuff of value to someone. And that's the point: SE majors should work on real world projects using modern tools.

My contention is that SE should be a separate academic department from CS in the same way the EE is separate from Math and Physics. CS professors would continue to teach CS and very definitely not SE.

bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
Software Engineering has to do with designing and building information-based applications that do something useful for people. As such, SE students should be fluent in versioning and build tools, frameworks, languages such as Rust, Python, and Elixir by the time they graduate. They'll need to know about distributed systems and how to work with different data stores. Security, security, security...They shouldn't learn how to write secure software on the fly.

Data structures and algorithms are absolutely critical tools in the box. Should an SE student know the space and time complexity of them and what that means? Sure. Should every student spend time creating their own linked list, binary tree, hash map, or binary search algorithm? No. There is a value on the theoretical side of the house in knowing how to do it. But, data structures and algorithms used in the field are well-known and understood. Students should know when to choose what.

While taking quizzes and exams may have some value in reinforcement learning, SE grades should be based on projects. The projects should grow in complexity over the course of their college careers. By their senior year, they should be able to cost out a project for time and materials. The projects should become a portfolio for them when they graduate.

All of this assumes that the professors have some clue about building software. The professors would need to actively build software with modern tools.

The professors from my grad program were brilliant people who understood many foundational concepts. They expanded my mind greatly, which is what I went into a grad CS program for. Very few could build software though.

Students have so many conflicting deadlines that they aren't encouraged to experiment with tools they'll need to build software. They go with the quickest means to an end. A solid program in SE would give them the time and guidance.

bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
If two tracks were available, I think you'd see a large reduction in the number of CS students. The ones who did go the CS route would be the ones who had no interest in commercial software development.

The SE route would insure that graduating students have experience in modern tools and techniques.

bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
I think having separate Software Engineering and Computer Science tracks would probably help the situation. The SE track still covers some "good to knows", like data structures and algorithms and hardware basics, but emphasizes the use of modern tools to build software. Preferably, it requires an end-of-year project each year with the projects gradually becoming more difficult.

Meanwhile, the CS track leads to grad school and a research career.

bpyne··on Buyer's Remorse: High Debt and Low Pay Leave Some College Grads Rueful
If only more people had that self-awareness in high school. Unfortunately, the influence of parents and other social pressures often cause kids to make choices that aren't right for them.
bpyne··on Make School Hard Again
Yes, my understanding is the same except that professors are usually required to teach. My best professor in grad school, in terms of teaching ability, had a wife who was a high school teacher. He was head and shoulders above everyone else in the department. He clearly learned methods of teaching from her. He also had active research projects.

I'm a software engineer. I also coach girls basketball at the youth level in my after-work time. I read about teaching methods, how people learn, and I talk with teachers whenever I can. Often they can help me get difficult lessons across to the girls.

It's fine for professors to be great researchers. But, if they have to teach as part of it, they should strive to be good at it.

bpyne··on Ask HN: How do I represent a hierarchy in RDBMS?
To reiterate, without knowing about your application, it isn't easy to make recommendations.

It sounds like the Animal table is going to be the join table between Pet and the different types of animal tables. Correct?

You haven't mentioned a need to store differentiating information - e.g. species, genus, family - in the different animal tables (Dog, Cat, etc.). So it sounds like you could skip the one table per animal notion and just have the Animal table contain animal types like rabbit, dog, etc. Then it becomes the "one" in the one-to-many relationship with Pet.

bpyne··on Impossible Foods Responds to Glyphosate Allegation
Unfortunately, reason isn't at play here. It would take just a fraction of customers for the restaurant chains, supplied by Impossible Foods, to express fear of the burger's contents to cause chains to drop them. Large corporations are notoriously risk-averse. Even if people in the companies believe it's complete nonsense they aren't going to gainsay customers' fears.

Impossible Foods isn't in a financial position to have the restaurant chains pull out. So they're trying to "take control of the narrative". It was an absolutely fantastic response. They kept it factual, with a bit of sarcasm, and turned the light on the "mom's group". Kudos to whomever thought up the strategy and wrote the response.

bpyne··on Ask HN: How do I represent a hierarchy in RDBMS?
As other people are saying, you haven't really given enough information for someone to suggest a definitive data model.

By "Pet" class, do you mean a table for pet records?

Pets are animals that humans decide to take care of. Should a "Pet" be a state of an Animal? So, should it be a simple boolean column on the Animal table?

Having an AnimalRabbit table implies a many-to-many relationship between Animal and Rabbit. Are you storing different rabbit types as parent records? If so, why not avoid the join table, store "rabbit" as a record in the Animal table, and have the different rabbit types in the Rabbit table.

Without more detail on what you're trying to do from an application standpoint, it's tough to give recommendations. Entity-Relationship Modeling purists believe in defining entities and their relationships without implementation detail. I've always found that to be a crock. You need a certain amount of detail to model better.

bpyne··on Make School Hard Again
Curves sound like a tool for damage control while professors learn how to teach. It seems like it would be better to require professors to have a basic certification in Education so they'd know how to teach better. Teaching well is something you just can't pick up easily on the fly.
bpyne··on Make School Hard Again
I've never understood the use of "curves". Secondary ed doesn't use them as far as my experience goes. Intuitively, it seems like they're harmful because they leave students off-kilter, not knowing whether or not they understand the material. Confidence, or at least not being nervous, is such a key in learning.

What purpose are they perceived to serve?

bpyne··on America is turning against facial-recognition software
Yup. About half the US needs them for 3 or more months per year. And then there's the rise of surgical masks to prevent the spread of viruses.

I also foresee a surge in wide-brimmed hats.

bpyne··on Alexis Ohanian speaks out against “always-on” work culture
"Bread and circuses"

https://en.wikipedia.org/wiki/Bread_and_circuses

bpyne··on Alexis Ohanian speaks out against “always-on” work culture
And the most efficient way to keep people from reflecting on their lives, realizing how far from their "ideal lives" they are.
bpyne··on How I Run a Company with ADHD
Yes to everything, especially about having kids!

Many responsibilities in family life are uninteresting. Often I have to be patient for weeks in order to work on something I find interesting. Months ago I found a great programming project to work on. However, I'm caught in a period in which my wife is working a lot of extra hours, leaving me to deal with cooking, house repair, running my daughter to activities, finances, etc. I also work full-time as a developer. On top of it, I'm the president for my daughter's basketball league, which requires a lot of attention to administrative tasks. I'm perpetually at odds with my desire to work on the interesting project and getting done what needs to be done.

I'm coming out of a mini-depression now. As an example of what it's like, several weeks ago I was sent a link to post to our league's FB page. The link pertains to an event next weekend. Posting would have taken under 5 minutes, but I shied away from it until yesterday. The thought of one more trivial task in my day completely paralyzed me for weeks, but I felt increasing anxiety and the depression worsened.

In my younger days, I would have ignored needs to focus on what made me feel happy at the time. Nowadays I feel too anxious when I do so.

bpyne··on Nest, the company, died at Google I/O 2019
I can see some energy efficiency in the auto turn on/off.

Maybe we're using different terminology, but what do you use in lieu of light bulbs? (I call any of those tubular things, e.g. fluorescent lighting, light bulbs.)

bpyne··on I stopped using for loops and started mapping instead
Welcome to the fruit of programming language research from decades ago! No snark intended. Since learning of functional programming languages about 15 years ago, I'm continuously amazed that our industry is so slow to put this research into practice.
bpyne··on Nest, the company, died at Google I/O 2019
I can't think of a single compelling use-case for home automation systems. I'm trying to understand what other people see in it. I have to wonder if it's driven by the amount of interest a person has in "tinkering" with technology.
bpyne··on To ORM or Not to ORM
Ah, I see what you mean. I was thinking in terms of union'ing and the like where you can use set theory to compose sets of information from various queries.
bpyne··on To ORM or Not to ORM
"and because SQL is impossible to compose without substantial problems."

Would you mind providing an example of what you mean?

bpyne··on Deconstruction of a Failure
"If you’ve decided to buy a product but the particular capabilities it provides aren’t that special to you, it might make more sense to change how your organization works rather than embark on complex customization."

Having spent 9 years or so babysitting and customizing a COTS system my employer purchased, this quote rings so true. Often, I sat in meetings with the leaders of the user areas, who owned the software, and thought that their rationale for customizing came simply from the desire to say, "Hey, we're different from every other competing organization."

← PreviousPage 5 of 18Next →