Hacker Newsnew | past | comments | ask | show | jobs | submit | mowfask's commentslogin

Sigrok is amazing! The killer feature for me is sigrok-cli. With it you basically convert from electrical signal to Unix pipe.

Super useful for running e.g. timing measurements and quick-and-dirty plotting. Or grepping through millions of signal transitions to pin down a nasty race condition.


Looks like you can install the Apache-licensed Docker engine + CLI via Chocolatey:

https://community.chocolatey.org/packages/docker-engine

https://community.chocolatey.org/packages/docker-cli

So it seems the Docker Inc. enterprise licensing is all based on the "Docker Desktop" UI. Can someone confirm this?


Has anyone else here done AoC on a microcontroller?

I'm still at it, using an STM32 part with 40KB of RAM. Have never touched Smalltalk, instead I'm using Rust. It's going ok, though I'm only at day 12.


My approach to solving problems that span complex systems:

1. Instrument 2. Measure 3. Interpret 4. Act

Iterate as necessary.

I have come to see this pattern working on electronics design, embedded software, industrial control systems, networking and webapp backends.

Breaking it down:

1. Instrument

Understand subsystems and their interfaces. Use tooling around these interfaces to trace the interplay between subsystems. Make sure all tooling is synchronized so you can correlate information across tools via timestamps. If you can't instrument remotely, bite the bullet and reproduce locally. This ties back into the design phase: Design interfaces to be instrumentable, ideally remotely. Test points on PCBs, traceable APIs in software, using network protocols that tools like wireshark can decode. Pub/Sub systems are great for this, as you can easily add another subscriber for instrumenting all communication. Don't rely on "what happens to be available" for instrumentation. AWS CloudWatch will miss that one crucial piece of information. Your oscilloscope tip will not make reliable contact on a QFN pad. Simply stated: Become good at interfaces and make them accessible.

2. Measure

Take the time to properly run tests and gather data. For issues in systems spanning mechanical, electrical, digital and software domains, you won't have one tool to do it all for you. Data preparation and cross correlation will be a manual process in most cases. That is ok.

3. Interpret

This is about understanding your problem and digging down from high-level symptoms to low-level root causes. Don't jump to conclusions. Let the data sink in to identify second order effects. Don't rush it because of pressure from your boss or the customer.

4. Act

Now that you understand your problem at a deeper level, it should be straightforward to apply corrective action. This might not solve the issue yet, but you will get closer to the root cause.

Two notes:

* Never stop after step 4! Always iterate once more so you can be confident the issues is actually solved and not just hidden by some effect.

* If you're a team player, document each step. A short note and screenshot in an issue tracker go a long way.

About engineering mindsets:

I find it infuriating when people calling themselves engineers don't follow any practice like this. Yes, you can solve problems through sheer experience or by hitting your head against the wall for long enough. Alone. On simple systems. But working together on complex systems you have to apply some methodology. Doesn't have to be my methodology, just not no methodology. For me a big red flag is when engineers don't understanding why something works. Not understanding why something doesn't work is ok. We are human and systems are complex. But getting something to work, wondering why it does and then sending it to the customer? That's not engineering, that's tinkering. It's asking for trouble.


> I find it infuriating when people calling themselves engineers don't follow any practice like this.

Andy Grove's (the engineering legend) wisdom is summed in one sentence: "Everything is a process, which can be improved."

If you don't have a process for solving a problem (where problem is as implied by the parent), you are not engineering.


I agree. Note also that if your process resembles sacrificing a goat you might also not be engineering (a process is necessary but not sufficient).

IMO an alternative way of putting it is you need to apply the scientific method.

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

edit: grammar


25cm birch logs surely are fun to split. With any kind of axe.

We use to chop 1m (~3feet) logs of a lot more compact wood (oak, beech), and this looks like a toy to me. Has anyone seen it used on more serious logs?


You can get pretty fast fairly easily. Just got the first 256 tile in 35 sec, first 512 tile in 1:12.


"I knew, for instance, that the Euro was in crisis the first time I ever saw a euro"

So it wasn't for economical reasons, after all!


So allied governments are basically idiots for not thinking the USA would spy on them?

That would mean they should have put into place institutions protecting them from said spying. Which would be taking (defensive) military action because of the actions of an allied government. Now what kind of alliance is that?!


No, if it's anything like the Cold War, everybody is spying on everybody else, and everybody knows they are being spied on. They just kick up a fuss in the news when they happen upon a piece of proof, to use in the PR battle.


Looks like I totally missed the parallel to the Cold War, could you elaborate?


I didn't say this is the Cold War. I said if it is anything like the Cold War.


4.7gb * 212 ~= 1000GB. But the article says 1000TB!


Those possibilities are especially embarrassing since doing it a lot better takes little effort:

TrueCrypt container which contains sensible project-data;

.ssh somewhere on that container with ~/.ssh linking to it;

Keepass for passwords, it's quite convinient.

Maybe Pray or something similar, haven't set it up myself yet...


Prey really takes seconds to setup. No excuses ;) Don't forget to set it up so that a guest account is created as well.


I know that creating a guest account as a honeypot is the recommended technique, but I wonder if there are (Mac OS X) vulnerabilities to get access to your main account from the guest account (in which case full disk encryption would not protect the data).

I guess in the end it boils down to: do you prefer to leak the data, or lose your laptop ? :-)


The built-in guest account runs on a separate copy of the OS, booted from the recovery partition. It is a limited OS image that only runs Safari.

A normal account would require unlocking the disk, which would expose everything.

Last time I looked at Prey (over a year ago) it didn't support installation to the recovery partition. But they may have added support since then.


If you're already relying on OS X's FDE, it's not a huge step to link your laptop with iCloud. You can then do basically all the things you can do with a lost iOS device: beep, send messages, or wipe it (instantaneously if FDE is on, it just clears the keys).


Out of curiosity, could you explain why creating a guest account as a honeypot is the recommended technique? My first guess would be to help identify who has the machine.


If there's no way to use the computer the thief will instead wipe the disk making it impossible to track.


if you don't need a login to use your laptop, then a guest account is not needed.


Isn't prey possibly illegal in some states due to wiretapping issues?

I don't want to escalate a lost laptop to a felony charge.


That is an extraordinary claim that requires some evidence.


http://blog.internetcases.com/2011/08/29/using-lojack-to-fin...

Apparently, it's federal, not state based.


Thanks for the link. That is sad news.

The key point seems to be:

> the court was saying that Absolute went too far in collecting the contents of the communications being made on the stolen computer.

So location tracking and snapping photos of the user is acceptable, but intercepting the users communication content is not. Unfortunate, and poorly decided, but not complete failure.

As usual, the government reserves rights for itself to perform specific acts that it considers criminal when private citizens engage. (And of course, the government offers no replacement for citizens who are prohibited for taking defensive actions on their own behalf.)


I think snooping on sexual episodes was quite rightly decided to be an invasion of privacy. I think a tort would have likely been more appropriate than criminal charges for it.


Thanks for the link. That is sad news.

The key point seems to be:

> the court was saying that Absolute went too far in collecting the contents of the communications being made on the stolen computer.

So location tracking and snapping photos of the user is acceptable, but intercepting the users communication content is not. Unfortunate, and poorly decided, but not complete failure.

As usual, the government reserves rights for itself to perform specific acts that it considers criminal when private citizens engage.


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

Search: