For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more jbermudes's commentsregister

I would assume it's the former, but in the case where there's multiple thermostats hooked up to the same shared IP it might show you a list of all unowned devices and then ask you for which one you want to activate, and then telling you to go over to it and confirm. So in the scenario of the apartment complex you wouldn't get everyone's thermostats, just the unowned ones, and even then you're limited to choosing only the ones you have physical access to.


Unfortunately the "difficulty" of the ML class assignments was not in the material application of the things learned in the lecture but instead in the gotchas of Matlab/Octave vectorization. Most of the assignments were in the format of: "Here's a forumla that applies to the element, generalize it to the matrix so there's no for-loops." Which, while challenging for those not accustomed to thinking that way, was not a challenge of applying what one learned from the lectures.

The course was awesome for what it was: a chance for the average programmer to get their feet wet in ML, but the fact that it was hosted by Stanford seems to lead to a somewhat humorous irony that it was pretty accessible whereas Stanford's real-life rigor is supposed to be nothing of the sort.


While I agree with your general sentiment, note that at least in ML-class, you can resubmit quizzes as many times as you want for full credit. Thus over the course of an hour you can retake the quiz enough times to brute force a perfect score without breaking the letter (and arguably the spirit) of the honor code.

Another interesting aspect of this "online ethics" is that there's no technical measures preventing you from pulling up past quiz results, and even if there was, you could still keep previous sessions open in a browser and even if there were countermeasures against that (javascript erasing), JS could be disabled, etc.

The Programming Projects that ML class had were slightly better metric of performance as there's more work that would have to be plagiarized, and if you're just going to go through life outsourcing all of your work then I guess that's your prerogative. However, I think that if you wanted to be very serious about actually testing for knowledge of material then the addition of some sort of interview component (phone/skype session), while time-consuming, could help.


In a way, yes, the programming projects in ML seemed like a better measure of performance in that you have to actually figure something out. However, they have two (sort of) disadvantages vs normal homework:

1) you immediately know if you got it right or wrong when you submit, so you can to a lesser extent brute force the correct answer

2) with the exception of maybe the first assignment, they are all "fill in the blank" sort of programming assignments. You basically just have to find the equations they give you in the PDF, translate them directly to Octave, and bam you're done.


IANAECE but to me there's 2 issues:

1. FCC Licensing: There is an issue with FCC licensing in that you have to make sure your equipment has proper shielding, broadcasts in the right frequencies, etc. As long as the thing is considered one unit physically, even if the radio parts aren't yours and were already certified, it still has to be certified. Laptop manufacturers can get away without it by having the wireless card be a separate board that plugs into a slot under the laptop. Could Raspberry Pi do the same? Perhaps, but that's still a change of design, possible extra costs in design/layout, software, and parts.

2. Software: As anyone who's used linux for over a few years can attest, much of the firmware of wifi chips are a sort of black box and making software to work with a given chip is a nightmare unless you are working with the manufacturer. Why they didn't partner with a particular chipset manufacturer could boil down to price. They got lucky with the cheap licensing for the CPU and perhaps couldn't get something similar with wifi or didn't feel that it was worth the effort for all the extra space, cost, and design issues for this first version.


In regards to the ethics of profiting from the poor, while everyone has their own definition, one if the biggest issues I could see is if one is trying to leverage the common lack of education to make people get into situations they don't understand or leverage their financial situation to offer them short-term solutions that ultimately have long-term harm.

It's also interesting to note that some cultures have codified protections against the poor from exploitation. For example, in ancient Israel according to the Bible, there were laws regarding excessive interest rates and a global debt-clearing every 50 years or so. Furthermore there were also some instructions that fallen unharvested crops be left ungathered for the poor to come and harvest themselves.


Every seven years, not every fifty. That said, this rule caused all sorts of problems - because debts had to be forgiven on a regular basis, no one would lend to the poor at all.

In the first century BCE, Rabbi Hillel came up with a novel solution - the creditor 'sold' the debt to a rabbinical court, who didn't have to cancel it since (I believe - memory's a little hazy here) the letter of the law referred to individuals. The court in turn gave the creditor power-of-attorney to collect the debt at any time and the right to all the proceeds. Problem solved.

The mishnah (a codification of Jewish oral tradition) on this part of the Torah and Hillel's reinterpretation of it is really interesting - the rabbis aren't stupid, and they can see that Hillel's playing fast and loose with the original intent of the law, but write that it was necessary in order to 'repair the world'.

This wouldn't be the last time something designed to protect or help the poor completely backfired due to unforseen circumstances.


Agreed. I think the biggest problem with applying free-market ideals to these situations is that one party (the poor) is not in a position to act rationally, i.e. there is an element of coercion in their actions, due to hunger/sickness/etc.


Sorry but if you're hungry the rational thing to do is to acquire food. If you're sick the rational thing to do is to assess your options for immediate help. I use the word immediate here intentionally.

You're referring to difference in rationality but these are actually differences in time preference. A starving person prefers food NOW while someone who is well fed can wait a little longer and wait for a good deal to come by.

If you're on death's door, then long term financial planning is not a rational choice. Long term financial planning is probably the worst choice they can make as they'd be dead before any dividends are paid.

The poor are not coerced into buying food, they are making a choice and their choices meet an immediate need.

Recommending that people don't sell the poor food or that we never lend the poor money, what in immoral thing to say.


> Recommending that people don't sell the poor food or that we never lend the poor money, what in immoral thing to say.

I never even came close to saying that...

All I was pointing out was that when one side of a transaction is coerced into doing something, then the assumptions of a free market have been broken. Maybe "rational" is the wrong way to describe it, but when it comes to dealing with the poor, there are definitely issues of this kind.

Anyway, thanks for the troll!


Low blow.

Recommending that I don't sell food to the poor for "profit" is the same difference. I have to feed my family too and without making a profit I have no time to spend feeding the poor, so I don't.

The assumption of the free market that you refer to is specifically: no coercion occurs (it's not "your" assumption I understand that, but it is the necessary prerequisite of a free market). If that specific condition is not met it's not a free market transaction. The free market is not some imaginary utopia, it's what happens when two non coerced people trade. If you add coercion, free market theories don't apply because there is no free market.

It's not a free market transaction if the poor are robbed. It's not a free market transaction if fraud occurs. To be a free market transaction both parties have to voluntarily execute the contract; most times a simple verbal one like I do when I hand over my money for groceries.

Being sick does not mean coercion occurs. It's unfortunate and it would be great if someone could help for free. But it's even better that there are trained professionals who can make a living helping the sick as they can refine their skill set over an entire lifetime. To do this however, they have to turn a profit otherwise the activity is unsustainable; they too need to feed their families and can't dedicate 100% of their time to helping others without charge. Again this assumes no coercion, which unfortunately these conditions do not exist in North America; government regulation in healthcare by its very definition means coercion of healthcare providers by the government, under penalty of force and arrest for non compliance.


Education.


It's possible that just as pencils have erasers, that in the future were the stylus more ubiquitous pens might have their opposite side designed to be a touchscreen stylus


It's much more likely that there will be almost no pens or styluses.


If I may ask, what is your credential in? There seems to be quite a mess in regards to how to get in to the field since there doesn't seem to be a computer science credential, and coming in with a math credential will almost certainly get you assigned to teaching math classes and math teachers are always in demand.


I've got a bachelor's in CS, and teaching certificates in both mathematics and "computer information systems", which was what the CS certificate was called 15 years ago.

There is now a teaching certificate in just "Computer Science", although it wasn't offered in Texas for a few years while they were switching from one to the other.

Other states vary widely, I'm sure.


Sonic Retro has a writeup of the physics behind Sonic 2. Check it out, it's exactly what you're looking for and would be a good template to follow for other games.

http://info.sonicretro.org/Sonic_Physics_Guide


Yeah I've seen that and it's excellent. My idea was basically to expand on that sort of stuff.


It's interesting that you mention a "C with classes" as the worst of both worlds. There's a large group of people that are perfectly happy with C, and there's a large group of people that like the OOP that C++ offers, but there's a lot of areas of C++ that many people actively avoid or dread, leading to the old joke that everyone programs in their own subset of C++.

It seems that with that in mind, coupled with the recent surge of people working on systems languages (Go, Rust, D) that people are looking for a something else. It'd be neat if we could resurrect Stroustrup's orginal prototype of C++ that was literally "C with classes". I wonder whatever happened to that...


The most interesting part of C++ isn't the OO stuff, IMO, it's the generics. Modern C++ libraries aren't particularly OO but rely a lot on templates.

I'd much rather see somebody take a crack at a new systems language that put generic programming front & center in a cleaner context.


I always felt like templates were a kludge. Clearly the libraries make great use of them, but I've never been able to implement them in a way that doesn't screw up the build process. Probably because I never learned them the right way. That would be the tutorial I'd like to read: "Learn C++ templates as though they aren't voodoo."


The ideas behind templates are brilliant but, yes, as implemented in an already big & complex language they seem like a kludge. But if you designed a low-level systems language from scratch with clean generics as a top priority I think you could come up with something pretty interesting and a lot simpler than the OO mismash you tend to get with C++.

Think of something like OCaml but with a less intrusive runtime, for instance. C++ got a lot more functional with C++11 but there's too much baggage for the simpler statically polymorphic language inside C++ to emerge cleanly.


I disagree, templates in C++ are great! Just make sure you declare all the code (both declarations and definitions) in a header file, and it should work fine.


Having to put both declarations and definitions in the same header file is what feels kludgey to me. It is a break with the normal way of doing things.


In C++11 you can split the declaration and implementation with the new external template feature.


I agree absolutely: templates are only just a little less crappy than preprocessor magic. I personally never use them.


You're very wrong. C++ templates are very capable of expressing very powerful idioms. C++11 adds this to this power with variadic templates. std::function, std::tuple, etc are the future.

Please do not be offended, but if that is your attitude towards a major language feature of C++, you probably should not be writing tutorials about it.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You