skysight-inc/HackerNews huggingface dataset:
Ask HN: Free,reliable SMTP service for sending emails from cron jobs in Mac OS X
Hi all,

I usually have several cron jobs running in the background that output their results to text files. I then have to remember to check these files regularly. I figured it would be more productive to just send these to my e-mail.

I use Mac OS X, and I found ways to set up Gmail so that I can use the command-line `mail` client (http://www.anujgakhar.com/2011/12/09/using-macosx-lion-command-line-mail-with-gmail-as-smtp/). But all of these require me writing my Google password in cleartext (?!).

Do you know of a free service that I can set up for this purpose? Since I would only use it for piping the output of these cron jobs, I wouldn't mind writing the pass in cleartext.

I figured I could open up a Gmail account just for this purpose, but that somehow feels like a bit of a hack..
Does that £15 per month cover international use? That's the reason why it was so steep for the author.
The biggest difference is that a clip need not remain in the weapon to fire it. A magazine has an active feed mechanism (I.e. a spring) that forces the ammunition into the breach of the weapon.

Almost no modern weapons use clips; the last popular one was the M1 Garand (standard issue US infantry rifle in WW2).

It's a more than a semantic difference because there are some weapons that are capable of accepting both magazines and clips. Though such weapons are rare and I can't think of a modern example, there is a good reason for being picky.
This is the point. You are most likely already testing your code (logging, printing, or the like).

I learned how to write tests and I was sold on the value of TDD only after I was in the middle of writing a non-trivial, multi-module client/server app. Right now, you think "I don't need to write tests for my penticons library, because I know it works." That's understandable. But as soon as you start incorporating it into other projects, or you extend it with other projects, having tests will make the process so much simpler.

Think about it this way: computing is essentially a way to repeatedly do things really quickly. I could take a pencil and a paper and write the numbers from 1-100 without too much trouble. But when that number is over 1000, or if instead of simply writing the number you perform some tedious formula, then you start to yearn for something like a `for` loop control structure.

The same with testing. Once you have a bunch of moving pieces, and every change you make you find yourself diving into the repl for 10 minutes doing the same thing over, and over, and over... you will actively WANT to know how to test.

So don't sweat it. Learn it if you want. Sooner or later, you're going to _need_ and _want_ to know how to write good tests, simply to save yourself the hassle.
What is he ruining by pointing out security vulnerabilities in this "fun hack"? (Something you're claiming in that blog post is beneficial, so I'm not exactly buying your retroactive characterization here.)

This sort of thing is irresponsible without the proper explanation of the dangers involved.
Haha, like I said, I too have been surprised at the general lack of negative feedback this has been getting when I have brought it up to family, friends, acquaintances, etc.
Strong recommendation from a frequent hirer: for each job, you should state what you accomplished, especially if that can be quantified. Supply the quantities! A list of what your responsibilities are is useless: did you actually do that stuff successfully?
I'm using a free ssl cert from https://www.startssl.com/. I think one of the caveats of it being free is that it's not supported by everything? I'm not sure though. It works for Chrome on Desktop it seems.

I just didn't want to spend money on an SSL cert for a project that's not intended to make a profit. Sorry for the trouble anyway.
After your equipment has been in the hands of a government, wouldn't it be wise to simply abandon that hardware? Who knows what kind of crap they've installed on it that is nearly impossible to remove.
I think Thoughtbot did a nice job of explaining TDD in this 1 hr video (playback speed was increased). Its part 1 or part 2 I forget.

My favorite part is when Josh Clayton excitedly said "Writing our tests is the fun part! Failed tests tell you what to do next!". It was a sort of an aha moment in Rails for me where everything came together.

Moreover, the emphasis was on integration testing (Capybara/Rspec), which I could more easily grok and see the importance, then say unit testing.

Here's a link to the Integration Testing Videos and I hope they could publish this for every one to see freely. I personally feel this was an eye opener to me, and could possibly be one for others as well.

https://upcase.com/test-driven-rails

P.S. I want Thoughtbot to make more real-world applicable quick-cut videos (e.g. Proper usage of the GH PR/Merge Model would be great). The weekly iteration is interesting, but its too conversational. I like rehearsed sentences that quickly convey the knowledge to me. That's the missing piece for me to subscribe.
Throwaway due to paranoia about visa status [1].

We both applied to YC summer 2014, were turned down. As the "business" founder (although I make a few commits every week as well) I sought clients out, and we found a medium sized retailer who had some backend issues almost by accident. We became their DBA for 100k USD a year each [2] (something we have a collective decade experience in) plus a work permit so we could live there, working half time. We spend the other half working on our idea, which turned out to be a good thing because the two AI problems core to our success took a bit longer than planned to be solved (our 40+ competitors all use humans).

I save around 50-60% of my salary, fly to exotic countries at least monthly (typing this from Australia, going to Japan in 3 weeks) without having to take leave, I live in a nice flat in the centre of town (next to the President's house) in a first world city with nice weather, I never have to wear a suit, and best of all, we don't answer to anybody because the client treats us as expert consultants, not an employee (there is a significant difference!) and we don't have investors and won't need any. The chilled out nature of an easy DBA job with good (enough) money means we can do research properly and build a good quality product. I have to say, whilst I understand PG's dislike of bootstrapping vs taking investor money (and it makes sense when your idea is new and first mover advantage is important)... well, it's a really nice way to start up I think. YMMV. I think financial freedom, and freedom from irrational management techniques designed to control you and not just your output, is by far the highest quality of life improvement I ever made.

[1] There is some fuzziness here about the terms of the visa from the gov. Technically, you're supposed to work for only one employer; that is, you can't just work part time and build your own business with the other half, nor have a split company visa. In practice, a lot of people do it and the government is very pro-entrepreneurship; but I'm not leaving a paper trail just in case.

[2] Cost of living and taxes are quite low here, so in SF terms that's probably equivalent to 200k.
They have written books on the subject:

http://guykawasaki.com/you_have_to_lov/
I'm with you.

We have separate events for women in sports because they wouldn't be able to compete with men for obvious biological reasons. Holding separate events for entrepreneurship or engineering in the same way we do for sports sends the message that women can't compete with men in these fields either, which isn't true.
You say that certain generalizations (which you do not believe to be true) are inherently unreasonable. But you have no problem making a generalization about something you believe to be true (only in this case it's qualified as fairly reasonable).

Do you not see a dis-congruity in that? Isn't it possible and/or likely that for someone else the opposite generalization would seem fairly reasonable?

For example to you law is generally complex. That may very well be true. But to some people a command-line or a circuit diagram is also something unfathomable.

But a person that's not a programmer can be good with GNU/Unix tools! Or at building circuits! I agree your average person might not be, but it's an obvious disservice to the rest of society when people talk about it as something mystically complex.
How to start a website project in less than 2 hours
Interviewing for a JavaScript Job
Mozilla has pretty good documentation for new contributors:

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g...

Code Firefox, a series of videos demonstrating how to download the code and build it (which, btw, takes less than ten minutes for a full clean build on my three-year-old MacBook Pro :)

http://codefirefox.org/

Bugs Ahoy!, a Bugzilla search engine for "good first bugs" with a mentor's contact information, filtered by programming language or feature area matching your interests:

https://wiki.mozilla.org/BugsAhoy

There are also friendly Mozilla developers on the #introduction IRC channel on Mozilla's IRC server ready to answer new contributors' questions.
Both sendgrid.com and mailgun.com offer 10.000 emails/month for free. I use them inside cronjob scripts on cloud hosters where the standard sendmail/exim setup was too complicated or where the IP is blocked by various anti-spam lists.
Passive aggression will do so as well.
Ask HN: Why do Atom.io and Sublimetext include spyware?
When your application calls home constantly, inadvertently tracking me, or calls back to some analytics server effectively allowing third parties to track me, this is spyware. Most half decent applications have two off-by-default options for this type of tracking:

* Check for updates on startup?

* Allow us to send anonymous statistics to help improve product?

Both Atom.io and Sublimetext do call home and Atom also calls out to some Google services. And yet they are missing configuration options to disable this tracking. Is this the result of developers whose education comes from the walled garden environments of mobile where you don't give 2cents about privacy anyway?
Money. The amount of Money one can make in finance is the appeal. I graduated with my engineering degree ~8 years ago, if I knew in college what I know today about what any "real world" work environment/income levels are, I would have gone into the finance sector, hands down. Its's not too late for you. Sell out, cash in.
Mandrill is a very good SMTP service. It's by the same people who do MailChimp

You can use traditional SMTP commands or use their API and it's free for up to 12,000 emails per month

https://mandrill.com/
It looks like the situation is somewhat better in Wayland?

http://mupuf.org/blog/2014/02/19/wayland-compositors-why-and...
How I made Over $500 from my first Blog Post
All of these are concerns, to be sure.

There is a reason cartridges are made of brass: it's hard, but it's softer than the steel that the gun is made of. So wear and tear on the ejector mechanism is lessened. Same with the bullet, which is a softer metal than the barrel.

And yes, the .45 specifically has a hell of a recoil, though the weight of the slide has a lot to do with it as well. Just remember your basic physics: if you're ejecting a 20g projectile at 1200fps, the 600g slide is going to travel backwards at 40 fps (which is still very fast).

Cyclic fatigue is also a thing; which is why you make sure to keep your springs lubricated and replace them periodically. A gun is a machine that must be maintained properly, like any other.
Great. I can't wait for domestic call charges and monthly fees to rise as a result.
I agree, I think immigration, to a point, just speeds up the speed at which social and economic change are happening, but doesn't drastically change the trajectory. If that's the case, I think it's largely a matter of whether you are optimistic or pessimistic about the future. There is, of course, the problem that advancing the speed to change causes disruption, and too much disruption can have cascading effects where are hard to predict.
You sound a lot like programmers I constantly run in to who claim to have 10+ years of experience and rate themselves a 10 out of 10 on everything known to man. But yet can't land a full time job and just coast from freelance to freelance work and take on projects that my 8 year old nephew and/or a chimp could have done/automated. Like some of the replies here, these guys come off super arrogant and are just not personalable. These are all major red flags. Not to mention they're just clever at being deceptive, not only to potential employers but also themselves. Because when pressed in technical interviews or tests they fold. They fold hard.

If you really want to break in, I would be honest with what you can do. There's no shame in being self taught. Use that trait as a strength to show your capability and interest to learn new things. That you're autonomous and motivated. Talk about how you were able to learn new things or how you were the driving force behind something. Don't be afraid to take a smaller role and listen to others. Your coworkers are assets not ladders for you to climb over. And most importantly, work with smarter people. Soon enough you'll learn that you're actually not that talented... or maybe you really are. Good luck.
Yes, see Qubes to understand the level of effort required for robust isolation between desktop AppVMs.
How do you make $30k per month?
Sorry, Did I say something negative about coworkers? And again, the talent I am referring to is the ability to learn quickly because of a great mentor I had when I was much younger. Not a superpower.
Not every country in the EU has ID cards, introducing them in the UK has a lot of opposition.
Totally. It's not a simple task, and what this post describes creates a threat model that I would generously term "dire."
Ignoring X11 security, I have also used this technique successfully in certain situations. See: https://github.com/samtstern/android-vagrant

That allows anyone on Linux to download, install, and run Android Studio with a single 'docker run ...' command, and for Mac/Windows users to do the same within a VM using just 'vagrant up'. It's not something I'd use to run Android Studio myself, but it's great to get someone quickly up and running without messing with all of the environment headaches (Android SDK location, Java version, etc).
That might have been a sensible choice about twenty years ago. As it is the other usage seems to have been established too much now. This isn't anything new, words change meaning and tone all the time.
This is neat.

But.

Docker isn't sandboxing in a security sense. It's sandboxing in a deployment sense: given a friendly app and a friendly host, the app can get an environment it wants without bothering the host to adapt too much. Given two friendly apps and a friendly host, the two apps can see different environments.

Given an unfriendly app, Docker is no different from running the unfriendly app directly.

I think the really cool thing about this is that, given how straightforward these examples look, you can use this as a deployment platform: go use whatever weird Linux distro you want, and still be able to run software that's only supported on an Ubuntu LTS.

But I think the comparison to Apple's sandbox is misleading, and also vaguely unfair to the good work that Apple has done in building a security sandbox.
I guess it depends on value (to him) of retrieving the data and the sophistication of your adversary (and if his reported/alleged boasting on irc is to be believed, and collusion/cooperation between the UK's NCA and the US, you'd need to assume the most sophisticated of adversaries is a distinct possibility).

It's too late to keep encrypted copies of the data out of his adversary's hands - they'll have imaged everything as their first step - so presumably he's either doing this because there's data there he wants, or he's just being a pain in the ass over a few hundred bucks (or pounds) worth of hardware (and more power to him if that's what's really gong on!).

If _I_ needed data off those drives, I'd get a "burner" computer that's not connected to the internet or any sort of local network, plug the drives into that and decrypt them, then get those files off the machine in the least technical way possible - transcribe them by hand, take photos of the screen, print to a usb connected (burner) printer, if the data is too big for those sort of options (or binary blobs) I'd use a serial port connection to a second trusted machine.

Then I'd melt down the drives and the burner machine.

But mostly, I'd avoid becoming a target of the NSA's attention in the first place - if I were him I'd be suspicious of any hardware known or suspected by the NSA to be used by him ever. I'd assume supply chain exploitation of any new hardware with deeply embedded firmware/hardware layer exploits. I'd only ever use (for "private" purposes) 2nd hand hardware bought for cash from strangers... If you can get "targeted" for surveillance and exploitation just for occasionally using PGP and working at the wrong company (like the Gemalto guy from Thailand), how much scrutiny would you have to expect to live under if the US military thought you'd rooted their internal networks?

Glad I'm not him...
Personally, I believe this is a chicken and egg problem. Lack of a good way to accept online payment is partly the reason why online services here couldn't take off as fast as they should, and that in turn caused the lack of pressure for innovation in the space you speak of.

However, with the recent stories of Ookbee and Stock Radars, or even how Uber becoming a real threat to Taxis, I'm sure the demand is only growing larger and larger, even more so now that prepaid cards are really easy to get (you can buy one at 7-11). If the payment experience is good enough that it increase sales, people might eventually quit bothering about the fees. So to me, the missing link right now seems to be a payment gateway.

I have been working with Omise under contract for a while (I'm omise-python[1] maintainer). I'm not sure to what extent I'm allowed to speak about the plans, so I can't really answer your question (sorry). In my opinion, I'm really glad that Omise is tackling the payment gateway problem. Especially how nearly all other players in Thailand require redirection to their payment page to accept payment (some even require successful redirect back to merchant's callback url to finish a transaction) having someone who say "you hate that redirect? we too!" is really reassuring.

[1]: https://github.com/omise/omise-python
Complete immersive VR model of Starship Enterprise (2012)
Relevant here: http://en.wikipedia.org/wiki/Food,_Inc. (the last time I checked this was available on Netflix)
Why not just route HTTP and HTTPS through vagrant with https://github.com/tmatilai/vagrant-proxyconf and use squid to do caching?
Are we talking about engineering or "software engineering"?. I'm a "software engineer", and what I actually do is web development, completely self taught. There are about a million ways you could teach yourself the skillset that I have.

I don't see how that compares to something like nuclear engineering or chemical engineering. No one teaches themselves to build nuclear reactors, and no one is going to get a job in that field as an autodidact unless they have already worked in a closely related field.
If one of those workers ever got hurt, they could rest easy knowing the resident medical student helping them in the ER has been on shift for the last 24 hours.
You wrote, "I know that the rest of my system is completely unaffected from anything the app does." This is unfortunately not true.

It's a fun hack, and I think if you said it was a fun hack instead of a security measure you'd have gotten a different reaction. (I agree it's a fun hack! It's just not a security measure.)
Cron already supports sending email for jobs (or at least the cron's on Unix/Linux machines do so). Just don't redirect the output anywhere and cron emails it to the owner of the cron job. Assuming that MacOS's cron is not too far modified, all you need is a replacement "sendmail" command, in the location that MacOS cron would look for it, that submits cron's output to an SMTP server for delivery.

Given that MacOS already ships with Tcl/Tk, if you install TclLib (http://wiki.tcl.tk/1246) such that the native Tcl/Tk can find it (note, I have no Mac, so I have no knowledge of 'how' to install TclLib on MacOS) then you need a four line Tcl script to create a replacement "sendmail" command:

#!/usr/bin/tclsh

package require mime
package require smtp

set mesg [::mime::initialize -string [read stdin]]

::smtp::sendmessage $mesg -servers smtp.server.name.com \
-client this.machines.name.com \
-originator email@address.to.use.as.from.com \
-recipients destination@email.address.com

Replace 'smtp.server.name.com', 'this.machines.name.com', 'email@address.to.use.as.from.com', and 'destination@email.address.com' with the appropriate items for your environment and you (on Linux, at least) will be good to go. Hopefully MacOS's cron is not too far afield from standard Unix cron.
Make lots of little projects. Put them out there. When people contact you about them, let them know you're a consultant who sells his expertise and time.

I made a tempr for my cousin who was suffering similarly. Take a look: http://tempr.org/54e91123b3f95.html
Yes, this is probably one of the better industries for that.
This is the sort of thing that Rust is meant for. Correct, well-designed low-level tools. It's not an application language; it's a systems language.
I appreciate you being blunt. I'm not going to get anywhere if people tip-toe around any issues they may be able to bring to my attention. I'm not easily offended.
I appreciate the last point. Career vs. Job. Yeah, I could go answer phones like I did when I was sixteen but that would just be stupid.

Thanks for that comment!
> Citing Einstein as a prototypical example is somehow conceding the parent's point, don't you think?

I'm not citing Einstein as a prototypical example by any means, but I'm citing the idea about how we verify knowledge in a subject.

If a guy from a Burger King comes and says, hey I've got a result in theoretical physics, or hey hire me as a developer - we have a method to verify whether they can do those things in a practical way and this shouldn't require platitudes about complexity and history of jurisprudence etc. (or the equivalent for those fields).

>This I can believe; but then, law has very little to do with formal systems and the sort of informal "logic" used in legal reasoning is absolutely uninformed by anything but the first week or so of a standard intro to mathematical logic course (most legal theory/systems pre-date the advent of modern logic in the late 19th century).

Formal logic logic as far as reasoning about non-mathematical subjects is probably not that far from where it was in Aristotle's days. I don't know about the actual application of law - indeed your average jury may very well be swayed (I'll quote from yesterday):

"Ladies and gentlemen of the jury. We will show you how the defendant used the notorious hacker tool known as 'strings' to facilitate his vendetta against Lenovo."

But that a Jury would be swayed by something like that and that it's the business of prosecution to make such arguments (hypothetically) is I think precisely in support of my point about the law.

On the other hand the authors considered to be authorities Jurisprudence are, I think, very well informed in formal logic.
I think the world will need an open source home automation. That's why, I've started to build something like this, Since I am a student and also a part time developer, I could only managed to build a prototype server app that runs on any JVM supported hardware and a simple android app to send commands&files(mp3) to the server.
I hope you'll make a complete and open solution for home automation, good luck