skysight-inc/HackerNews huggingface dataset:
That's a cool project.

Something I'd find irresistible is messing with the protocol to find the limits of your watch receiver. I mean sure the spec is 500 ms pulse for a one and 200 ms for a zero, and we can safely assume anything from 499 to 501 ms is close enough, but I wonder how far those limits can be pushed. Is the crossover from understanding 1/0 the arithmetic mean or geometric mean or some arbitrary limits or does the firmware crash or go into easter egg mode or ...

Another fun game to play is the AT44A is much weaker than the 8-bit home computers from the 80s that could synthesize live audio in real time up to a couple KHz. A somewhat more advanced chip in the 2010s could numerically synthesize live 60 KHz signals, which might be fun instead of altering hardware PWM. Then you could play with amplitude and keying signals. Its well trodden ground that square wave modulation of a morse code signal is extremely wide bandwidth. A fancy raised cosine would be very smooth. Perhaps you'd get better SNR at the receiver with less keyclicks, so you could reduce power, or it would be more reliable per watt transmitted. Or it might not matter. But live realtime synthesis would none the less be entertaining alternative to modifying PWM registers on the fly. A cleaner yet simple modulation method might be let the PWM fly free and use a digital pot with a I2C interface to smoothly AM modulate the output, probably only cost one chip and might provide some performance gain. Most digital pots are just FET with some buffers and drivers, they seem to be spec'd to 44 KHz sometimes 192 KHz so I assume 60 KHz would be no big deal.

Another funny thing about ferrites and reciprocity is how interesting their output is when they saturate, and how low the power level is when they saturate. That's why very little ham radio work has been done with ferrites as transmitting antennas, compared to the more conventional yet still rather obscure air core magnetic loop antennas. Ferrites are cool, strange chemical magic. Anyway a simple air core coil made resonant-ish might work better as an antenna than you'd think, maybe better than the ferrite. You get best performance with the correct ferrite core material for the frequency band selected. Probably the gutted radio clock you used, used the correct core material, or maybe it used the cheapest one that mostly worked (although not in your dorm room as you mentioned). Trying to use Amidon core material 17 would be quite futile at 60 khz, a bar of amidon material #3 would probably work at 60 KHz assuming you could find it. Manufacturing your own optimized antenna large enough core to handle some power and with the proper ferrite core material would be an interesting 3rd experiment.

Daydreaming about ways to continue iterating on a design is fun.
Why the sudden bump to a 1.0 version number? And why the planned jump to 2.0 in February? (I'd really like to see that blog post you're alluding to. :)

Congrats on the release!
Of course it does, otherwise a malicious mirror can (theoretically) work to find a collision between their malware and the legitimate file and serve you the former.

There's no good reason not to use a secure hash function.
This doesn't answer your questions (others already have), but if this interests you, you might also find WWVB's "sister" stations interesting: WWV (at the same site) and WWVH (in Hawaii). Those transmit a voice signal (but no carrier/time code) on 2.5, 5, 10, 15, and 20 MHz. If you have an SDR that will tune that low (or a shortwave receiver), you should be able to receive at least one of them on at least frequency at any given time of the day.

See also "The Current Readability of the WWVB Time Code": http://tf.nist.gov/tf-cgi/wwvbmonitor_e.cgi

As a teenager with the newly issued amateur radio call sign N9WWV, I used to set my wristwatch to WWV as I would constantly get asked, "What time is it?" anytime someone heard my call sign.

It sounds like this: https://en.wikipedia.org/wiki/File:WWV_time_signal_-_2009090... (.ogg, via Wikipedia).

When I started reading the article, I assumed the author would be using the PPS signal from the GPS for synchronization. You can do this w/ cheap GPS receivers and a small embedded computer (i.e. Raspberry Pi, BeagleBone Black, etc.) and synchronize your computer to it for extremely accurate time.
I love this.

I have to pay Comcast for TV when I just want internet, that'd be bad enough but my parents pay 2x more for 20x slower connection (5mb/100b).

Kinda inspired me to talk to some of my neighbors and ask if they'd like to share internet.
I guess I need to clarify I was talking about read/write location determinism, and not timing. Timing could affect things, but it also might not. The question is only whether the same bit was touched, not whether the entire system state is identical in every aspect.

I assumed that swap wasn't involved, and I was even going to mention it but decided against. While it is remotely possible, there's not much reason to suspect swap, Handbrake was actively running, doesn't normally use enough memory to start swapping, and people ripping DVDs usually know not to be doing other things and/or using all their memory while ripping.

That said, are you saying swap in the OS really is non-deterministic by design, or just hard to predict? And what does Genode have to do with this, assuming he wasn't using Genode?
> There are (), :, and whitespace. You have if, elif, def,
> and class (I'm not counting pass).

I'm a big fan of Python, but I'm not sure what you're trying to say here. There are way, way more than four reserved words in Python (including ones like `False` which aren't immediately obvious as keywords due to the different capitalization). There are also way more symbols used than those you list: [] for lists/comprehensions, {} for dicts/sets, single/double asterisks for unpacking, @ for decorators, all the familiar symbolic bitwise operators that C has, \ for line continuations, ; for multiple statements on the same line, etc.
I want to learn to draw mediocre comics. Eventually, I want to be able to draw tutorials like https://jvns.ca/strace-zine-v2.pdf or http://lawcomic.net/guide/?p=22
(Yeah; I meant Broadcom, not Qualcomm.)

No specific allegations. I just find it odd that Broadcom apparently still sell these chips at a low price only (?) to the RasPi foundation - just because of a personal relationship - someone who worked at Broadcom then created the RasPi foundation.

What does Broadcom get out of this exclusive relationship? (Is it still exclusive?) It just smelled odd when I first heard about this way back in 2012 or so when it first launched. Four years later there's lots of volume, but the same arrangement is still going strong. I find this peculiar.
I get what you are saying. However, the comparison is to whiteboard interview questions. If these don't pass your bar... Think long and hard about what this implies about who you would not hire.
I think there's something really endearing about this, I love the idea of a group of people coming together to effectively bootstrap their own ISP
Patience. It's early for Go. Remember when it took Deep Blue to play grandmaster-level chess? Now your laptop can do it. All of the better commercial chess programs now play above human level. Well above human level; the top programs are rated around 3300 on a good laptop, and the highest human rating is currently 2882.
Well, it's a different matter to depend on one standalone tool then to depend on a specific coreutils.
Think that's a different class of old PC. They're talking about computers with 512MB of RAM, you're getting up towards 4GB before spending money on an SSD is going to be a sensible I'd say.
Specific and punctual activities? Getting together to chat with like-minded individuals does require showing up at the right time, yes. But like, how else will you meet people? You have to agree to show up at a time.

The topics I discuss at meetups I attend - software development, business development, and just geeky folks who like to discuss what they're hacking on - don't particularly have punctuality needs.

You have to organize it by some location metric. It would be cool to have more options - let the Meetup folks know what you'd like!
SSDs and extra RAM are the two best upgrades to improve how fast and responsive everything feels.
Argue all you want, I do all my work and browsing in virtual machines and those usually just have between 1 and 2 Gb RAM and 1 CPU core. Works just great.
On a related note "Victorian Internet" is also a good read regarding developing and wiring up for telegraphy.
Could you attack WWVB receivers by overriding the transmitted signal and change their time?

edit: Not something I'd want to do obviously, just seems like a rather insecure technology.
I'll second DVD Decrypter. I archive DVDs with that, then use handbrake to pull all the useful bits (the film and special features, or programs in the case of TV series) for Kodi.
And Philip Seymour Hoffman in 2014
Nice but, I'd pay money for built in SAZ support. Maybe just exposing the web interface to colleagues might be sufficient, but generally if they can't open it in Fiddler, it may have never happened, even if I provide complete instructions for opening the flow.

(And I've spent a nontrivial amount of time to make the SAZ post processor thing to work but after spending an hour or two trying to get compatible versions and python's environment setup, I gave up, installed a Windows VM and made a Fiddler capture...)

edit: Now I feel guilty for a feature request in an announcement post. Thank you for mitmproxy! It's definitely something I use weekly and I very much appreciate the support that Maximilian has given me in various GitHub issues, Slack, etc.
Many thanks to you, cortesi, and the rest of the team.

I hope this doesn't mean that the command-line interface is going to become a second-class interface? The CLI is what originally attracted me to mitmproxy. Having CLI keyboard shortcuts helped me immediately speed up my workflow faster than I was ever able to customize ZAP or Burp.

I love mitmproxy and use it for all my web application pentests. The flexibility is amazing, and allows me to quickly adapt, or write a rewrite rule or plugin, in any situation. Regex rules for limits and intercepts are amazing too.

Keep up the good work.
I haven't read the Century Trilogy, but his Pillars of the Earth is a similar multi-generational story (about the construction of a cathedral) which I enjoyed a lot. If you haven't read it, check it out.
Found the Comcast shareholder....

They literally lobby to make the laws.
Looks cool! How does this compare to Burp Suite? I am specifically looking for something more lightweight.
For python, this is the book that I learned from: http://openbookproject.net/thinkcs/python/english3e/ and this is a good book that teaches web development: http://chimera.labs.oreilly.com/books/1234000000754/index.ht...
Both are free.

For learning deployment, first download vagrant and try deploying on a vagrant box. Then, get a digital ocean account (here's some free server time: https://m.do.co/c/6dade5c581b8) and deploy on that. This guide is a good walkthrough: https://www.digitalocean.com/community/tutorials/how-to-set-...
Awesome,I'll check it out!
Does anyone else remember Slashdot and the endless threads about Beowulf clusters? That was back when "parallel computing" was overly complicated and rather opaque. And most of us had no idea how to take advantage of multiple machines.
I dunno, as a latecomer lisp-enthusiast, that cadaddaaadr stuff seems heinous to me.
Install https://selfcontrolapp.com/, https://chrome.google.com/webstore/detail/momentum/laookkfkn..., and https://freedom.to/
I've taken to using gnu parallel over xargs at all opportunities because I find it much easier to use. I find the parallel commands much shorter and easier to understand. Added to the fact it's more featureful and I find it pretty much everywhere already, why not?
> There are modules which can automatically receive the WWVB radio signal and output the high/low pulses ...

Yep, and you can feed this into ntpd also!
Guy L Steele: Organizing Functional Code for Parallel Execution
EduRoam
I meant that in most distros (I know more about Debian than Alpine), the first step is packaging rustc + cargo, then applications built with it. So I imagined it'd go the same way. rustc and cargo are much harder to package, so after that's done, other applications in Rust tend to be easier.
Not having examples in documentation is a non-starter for me. It seems like there is a superiority complex there, that the Haskell community thrives on. That's ok I guess, I've never heard a practical use for it and I'm sure it will remain in it's insular state for the foreseeable future.
Merry Christmas from All of Us – Ferrari, Bugatti and Porche
Yes, I was wrong, and I concur. I have since my post completed puzzles which do not have the goal to reach checkmate. For example, I had the goal of 'deflecting' an attack where I was in severe disadvantage. Its refreshing to have different goals, and forces the player to think outside of the box for such a goal thereby increasing the difficulty.

FWIW, I do not agree is (always) more powerful than a knight, but generally they are (while a queen is more powerful than a rook or bishop which is almost always better, a knight has a unique utility).
Full ZFS root support, lovely stuff
For unintentional sound distractions, I've found that Bose's active noise-cancelling headphones work pretty well. (They also reduce noise-fatigue when flying.) Not cheap, but worthwhile.

For many other distractions, including my own generally poor focus: I got tested and treated for ADD (after a stupidly long delay).

Properly treating my ADD made a night-and-day difference for my ability to tune out most distractions, and recover from the rest. I'm pretty bummed out that it took me so long to get around to dealing with it; I wasted a lot of my early-career potential because of that.

For my case of ADD, each of the following helps: (1) A good night of sleep, (2) lots of caffeine, (3) Vyvance, and (4) generic Adderall.

Even under the care of a physician, one needs to be careful using something like Adderall: it can lead to over-focusing, resulting in staying on a particular task longer than makes sense.

For intentional distractions: skype, email, etc.: I made a conscious choice that I was okay with not responding to everyone right away. At first that felt rude, but once everyone's expectations regarding my response times were adjusted, it proved to be a net win.

For Slack specifically: (1) I turned off audio notifications on the channels, and (2) If someone really needs to talk to me urgently, they can start a Slack voice call. I don't ignore those.

Another solution is to have a team-wide discussion about people sometimes needing to concentrate, and how everyone will let that happen. If you have a well-functioning team where people care about each other, they should be able to hammer out the details.

Any such team-wide agreement should also account for differences in how people are wired:

- Persons with poor social awareness might require the "I'm busy" signalling to be something they can clearly recognize. I suspect that in most cases, these people want very much to be respectful, but just don't recognize all of the subtle social cues that people have to say, "I'm busy; please don't get my attention."

- Persons who don't perform highly detailed work (especially salespeople, in my experience) tend to have noisy conversations in locations where people need to concentrate. I don't know if it's lack of awareness, or lack of empathy to the frustrations this can cause. But these people must be helped to understand the cost of breaking the concentration of people doing highly detailed work.
Engineers talking about engineers that should act ethically is good, but self limiting, and even self defeating.

For every engineer that builds a terror weapon, every architect that builds a McMansion, every chef that brings out unhealthy food with not fresh ingredient, every school district that fails at educating kids adequately, there is someone with a checkbook that decides who/what gets paid for a goal. All bad or unethical product is ultimately possible because of someone writing the checkbook.

If one or even all engineers of an organization disagree and leave due to ethics, the checkbook writer will just go out and hire next batch of engineers.

In the fictional story or Star Wars, someone had money (or credits in Star Wars universe) to put the stormtroopers, Star Destroyers, Tie Fighters, a planet with beautiful tropical islands with sandy beaches and competent engineers (but often incompetent security force) to work at building the Death Star.

Sure the Emperor has the force to get it done, but in our life, someone gets to dictate what gets built with a checkbook.

So, discussing ethics in engineering is great, but even more important imho is, who writes the checks.
Apple publishes its very first AI research paper
slides: http://xahlee.info/comp/i/ICFPAugust2009Steele.pdf
The console interface will always remain a first-class interface. We plan to bring mitmweb up to feature parity with the console, after which we'll make sure that neither tool has capabilities the other doesn't. I'm super excited about the new possibilities the web interface opens up for the project (watch this space), but the command-line tool is wired into my fingers. :)
I believe you can if your signal is strong enough relative to the real one, which can be pretty weak in certain areas (hence the need for this device).

My high school's math and science club tried to do this once to the school's clocks as a prank. We never got the transmission circuitry working, but I did write a program for my graphing calculator that computed and outputed the correct signal sequence for a given timestamp through its 2.5mm jack.

Edit to add: As I recall, our particular clocks synced at midnight or if you hit the reset button. I think that was to increase the chances of a good signal.
rip expanded universe. sith where so much more nuanced.
I used to use Awesome during college, and it was as the name suggests, an "awesome" experience.

I am required to use a Mac at work, and I don't have the time to invest in maintaining a config file for a tiling WM on my personal machine anymore. I really miss having a tiling window manager, though...
This is a really interesting idea, thanks for sharing!
Animals Strike Curious Poses: On Prince's Under the Cherry Moon
> I really want to learn so many new recipes and improve my cooking skills.

Consider watching Alton Brown videos on youtube. I find he does a good job at explaining cooking at a lower layer of abstraction. Also, a big part of cooking is keeping your kitchen organized, so think of the physical layout of your cooking space as a UX/information architecture problem. If you have a disorganized kitchen and are trying to just follow a recipe, then you will feel overwhelmed as you aren't able to hold things in working memory.

Also, for recipes, check out https://paprikaapp.com/ and https://www.reddit.com/r/slowcooking/.
> I hope this doesn't mean that the command-line interface is going to become a second-class interface?

No worries - the command line interface is definitely staying a first-class interface.

We're also planning to mirror the CLI keyboard shortcuts in the web interface (to the extent possible). Some are already in, others are coming. :)
It's getting there, and if you hate Burp's Java UI and mostly use Burp solely to capture and manually edit requests, it might be an acceptable substitute.

I don't think pathoc/pathos are really close to what the Burp "Intruder" fuzzer does (and I'm not in love with Intruder either). A lot of people also rely on Burp's spider, for which there's no mitmproxy analog. Obviously, there's Burp's scanner, but I think scanners are a bad idea and wouldn't count this against mitmproxy.
Show HN: Punchabunch, a highly concurrent SSH port forwarder
I meant to start. They may be pervasive throught the community but you don't need to know about them as you may not even see them for the first little while.

Decerators are something I am also not going to count as they aren't going to be the first thing, or even one of the most basic things, you will encounter. It's like counting "register" as a C keyword. It is buy you're likely to be able to go an entire lifetime without seeing it in a codebase.

In Python 2 True and False are not keywords. You can reassign their values. But I see what you mean and yes my list isn't comprehensive. It's an example.

The list would probably be more like (), {}, [], <, >, !, =, \, ',', :, ;, *, and @. For a basic programming experiance you you're probably not going to see or even care about a most of the nitty and gritty ones you describe in the contexts as you describe. You could even avoid using [] and {} by just writing "list()" and "dict()".

Basically I agree but again the point still stands. Python has far less clutter then what is demonstrated here. While python may have many really cool magic single-character operators most of them aren't really in your face. "!=" may be the most in your face one along side ":". In total the clutter is just not dumped all over your code or at least it doesn't seem like it is.
I have used mitmproxy for performing web application pentest for years.

If you want something to create/intercept/edit/tamper/replay requests, this is your tool. If you want to script any of those things, this is still your tool.

However, burp comes with a lot of bells and whistles that don't make a lot of sense to build in to mitmproxy, but you can script yourself. For example, there is no intruder, spider, or scanner tool. But, they have an easy to use interface to write scripts that will be run on every request you make, or individual requests.

Or, you can just pass all mitmproxy traffic out to burp and get the best of both worlds.
The Reckoning: The Story of Claire Wilson
Air and water in my neighborhood are more polluted[0][1] thanks to byproducts of the petroleum storage and refining industries finding amenable (read: desperate and politically and economically disempowered) conditions here. This is the cost I pay that you aren't paying.

0. https://www.epa.gov/petroleum-coke-chicago

1. http://www.chicagoreader.com/chicago/toxic-tour-of-northwest...

The native people of Standing Rock are fighting to prevent contamination of their water supply, a risk that was unpalatable to the people of Bismarck. The predominantly white city was able to force the rerouting of the Dakota Access Pipeline. [2] They are fighting to not be forced to pay the cost that you aren't paying.

2. http://img.huffingtonpost.com/asset/scalefit_630_noupscale/5...

Not only is the oil industry tax-subsidized, they are also granted use of eminent domain-seized lands and have their interests protected by militarized police forces from across the country. [3]

3. http://www.motherjones.com/environment/2016/12/standing-rock...

There are costs measured not in dollars, but in blood and misery.
That's right, but I would go one step further and have F(irst) and R(est), with obvious composition as follows: (using kruhft's examples from another thread)

(ff x) == (caar x) == (car (car x))
(rrf x) == (cddar x) == (cdr (cdr (car x)))

I would argue that it's worth sacrificing the 'f' and 'r' symbols for such a common construct.

If not, a common prefix (lacking in HD and TL) could be used:

(.ff x) == (caar x) == (car (car x))
(.rrf x) == (cddar x) == (cdr (cdr (car x)))

Yes, I realize I'm 55 years late to the party.
That's interesting to me. Can you describe your Burp workflow, and how you accomplish the same things in mitmproxy?

One of the things we're doing this year for our clients is selling them on the idea of doing basic security integration testing as part of their normal dev process, which might involve these companies buying copies of Burp for their team. But I could probably be convinced that mitmproxy would work just as well.

(I am, for what it's worth, extremely familiar with Burp, but only casually acquainted with mitmproxy).