It always pains me greatly to read writers from times past about social issues whose voice rings distinctly true today still. Because it means that understanding the problem is completely uncorrelated to being able to do anything about it.
Under the creakingly ancient system the conservative holds to, man is a wolf to other men. Under the shiny new system the progressive touts, it's exactly the opposite.
(I hope you are either a masochist or don't read many social writers from times past. The Code of Hammurabi indicates social issues 3'700 years ago are similar to those of our day.)
Reference appreciated - there is one translated book:
Freinet, C.: Education through work: a model for child centered learning; translated by John Sivell. Lewiston: Edwin Mellen Press, 1993. ISBN 0-7734-9303-4
I had a laptop with a physical switch for WiFi/Bluetooth in 2006 or so (with a matching orange/blue light that would turn up when you toggled it). The problem was that this was actually all done by a software driver - when I booted into Linux with the laptop I was surprised to find that the bluetooth/wifi modules were on regardless of the switch's position.
At the end of the day, unless you have a really nice microscope, solid understanding of electrical engineering, and a few tens of thousands of hours ahead of you, you have to trust whoever you're buying the hardware from that it will do what they say it will. No amount of hardware efforts can solve the fundamental human trust problem.
I have a Lenovo Thinkpad T480. Its webcam switch is a slider that covers the webcam lens. You don't need a fancy microscope, or a solid understanding of EE, or tens of thousands of hours. You need the ability to see the slider cover the lens. Takes all of half a second and at least 1 eye.
And the hackers still win, cause no one remembers to slide it shut after a call, and they can hack the led so there is no physical indicator when they are watching.
I prefer aluminum foil under the tape that's over the lens so it can be flipped up out of the way easily but still block the view. But the cover does the same thing and doesn't take the effort of putting in a piece of tape.
It would be mildly impressive if a manufacturer made a fake cover with a switch to detect when it's "closed" and make the main camera stream filtered to look like the cover is real, while having a 2nd back-door unfiltered stream. Of course this could be detected by someone who took the unit apart.
On Thinkpads, the cover has a prominent red dot painted on it, that ends up in the location where camera lens would normally be. And, of course, you can visibly see the edge of the cover move as you slide it. So I don't know how you'd fake that.
It's like the halting problem. It's hard to decide whether a given switch works in the general case. But it's possible to design an obviously correct breaker.
Edit: the gnarly thing might be ensuring it doesn't harvest power through data wires or store power in covert capacitors or batteries.
I had another laptop with a hardware switch and a corresponding LED, and it worked exactly as it should - the hardware was completely inaccessible under Linux. So yes, it can be done and it's not rocket science.
Yes, what you describe is trivial - and it would be similarly trivial to design a module that appears to respect the switch (regardless of Linux/Windows) and yet records things surreptitiously, only to offload it at a later date.
Remember the amount of effort VW was willing to expand to cheat emissions testing.
The question isn't whether you can add a cover to the product after the fact, it's whether you can trust a switch on a product to do what the manufacturer says it does.
Yeah, that's my Romanian kitchen. The bottles are Transnistrian cognac, local red wine, and the empty glass that looks like a cooling tower is a Turkish tea glass. These are the rocket fuels that built Pinboard.
The white bottle is just Greek table salt, though. No fun pills.
There are anecdotal reports of doctors/nurses able to pick up certain typical "illness smells" from their patients. Not sure if it's ever been studied more in depth.
Caffenol is a pretty popular technique, you can find many detailed posts online comparing it with other developers.
I've used it a few times in a pinch when traveling, it's nice. Unfortunately I've never been able to find a fixer formula that's as easy/off the shelf.
It all depends what kind of work you do. I do things that touch embedded hardware and graphics and frequently find myself doing exactly the sort of things you described. If you miss it, it's certainly not gone :) (and I made a conscious decision to build my career around this, rather than fishing for npm modules).
I originally posted this (in 2013! reposted today prompted by HN's second chance pool) because it struck me how, with very few modifications, this exact article could be republished today. I find it fascinating that we can be having the same arguments that people a half century ago were having, with little to no awareness that we're repeating the exact same things. It makes me realize that perhaps software is not as young a field as we like to sometimes pretend (it's common to read on HN that e.g. software is so young and immature compared to civil or electrical engineering, etc)
It's also interesting to dig into the author's name - apparently a half century ago he had some reputation in tech circles, but as far as I can tell he's mostly forgotten today.
> it's common to read on HN that e.g. software is so young and immature compared to civil or electrical engineering
Just a nitpick, but civil engineering is at least two orders of magnitude older since it goes back to Babylon.
The really cool thing about programming's scientific maturity is that it's entirely constructed. We know all the ground rules because we created them. The engineering challenge is not making a mess of things despite having a potentially perfect understanding of program semantics. So despite building aqueducts being a couple order of magnitudes older than building programs, we actually understand the abstract rules of programming better than we do hydrodynamics.
> I find it fascinating that we can be having the same arguments that people a half century ago were having, with little to no awareness that we're repeating the exact same things. It makes me realize that perhaps software is not as young a field as we like to sometimes pretend (it's common to read on HN that e.g. software is so young and immature compared to civil or electrical engineering, etc)
True, a lot of these arguments have been beaten to death but times do change though. Every now and then some fundamental assumption on which arguments are underpinned changes. Often times these changes come from other industries. It's worth re-assessing the basics from time to time.
On the one hand, it's easy to dismiss any new proposal with the argument that "we've heard this 20 times before and it's never worked" and you'll usually be right.
But public clouds, for example, aren't really like histrical timesharing. Because the underlying tech, capabilities, and demand are so different that things really are different this time.
One of the big differences between now and then is network capacity. Once we've gone past basic text and into 3D, Photo, Video, Timesharing could not work effectively over the internet at the time, the bandwidth wasn't there yet. The only way to continue was to bring the hardware home. Now that we have the network capacity to handle almost anything, we're seeing things go back..
I am not sure why networking and could computing is in this thread. This is certainly the last thing you want to try or use (except for Internet access and all its learning resources) when learning to program. And it won't let you become as familiar with common computers logic as programming, say, a Tetris.
It depends on what your objective is and what you're trying to accomplish.
For a lot of people trying to just accomplish some specific goal, learning to program in C (as per the article) is probably not the best approach unless they're into OS kernels or embedded programming. Instead, they might well be better off stitching together some cloud services of various types. Not everyone has as an objective passing a leetcode whiteboarding interview at some ad tech company.
Yes, connectivity is a huge difference. On the other hand, as there's more and more data-intensive activity happening outside the data center, we're actually seeing a general trend away from everything happening "in the cloud" as was being promoted in the late 2000s. See e.g. Nick Carr's The Big Switch.
I agree that we tend to forget previous lessons learned and to rediscover decades old ideas as innovation. But on the other hand I can't think of any engineering discipline where the fundamentals have been changing as rapidly for such long time. I am pretty sure civil engineering would be thrown into some confusion too if concrete doubled its strength every two years for decades making old bridge designs obsolete.
I played similar games when I ran forums, but really you're just shuffling the problem around. Bored trolls/extreme ideologues will be delighted to play cat and mouse with your measures, and will feel particularly proud of themselves when they circumvent them creatively.
In the end, you have to decide what outcome you want - using half effective measures hoping that the racists will keep it down, or kicking them out and making it clear that they aren't welcome? You can't have it both ways.
> I run an internet writing forum that has also suffered over the years despite being a relatively massive forum in its hey day. What changed? I think these are just the affects of the smartphone era.
I wonder what the phpBB of social media/smartphone apps would look like.
Thing is, Discord is a chatroom, and chat and forums are fundamentally different. Realtime vs. slightly less constant. Forums produce less of a flood. More easily searchable, allowing quote replies (something Slack has Discord doesn't). Forums might be old-school, but I find them eminently more readable than commercialized chatrooms like Discord or Slack. And they allow for more powerful discussions than quasi-BBS like Reddit or Hacker News.
You could theme your phpBB forum, install mods, add lots of fun flourishing touches (like custom ranks), etc. Some forums displayed avatars and post counts, others didn't . All that made every single phpBB forum feel like its own distinct community. I don't see that with Instagram.