Yes! Half of our company is remote (mostly US timezones)
HN user
moserware
Kaggle | San Francisco | Full Time | ONSITE or REMOTE | Software Engineering
Technologies: C#; ASP.NET MVC; SQL Server; React; TypeScript; Docker; Azure.
You can read the job req and apply here: http://kaggle.applytojob.com/apply/GjSjOi/Fullstack-Engineer
Kaggle is best known as a platform for machine learning competitions. We have a community of over 650K data scientists. Now also building a sharing-and-collaboration platform (closest analogy is Github for data science: https://www.kaggle.com/kernels)
Particularly interesting opportunity for software engineers looking for exposure to data science/machine learning. Three of our engineers have come via HN posts, so we take HN referrals very seriously.
I created a C# implementation and explained how the math works in http://www.moserware.com/2011/11/life-death-and-splitting-se...
Thanks for the example! I especially found the commenting style and return type on its own line to be interesting.
Regarding placement of curly braces, did you see them on their own line or at the end? This article seems to imply that CNF had braces at the end: https://blogs.msdn.microsoft.com/peterwie/2008/02/04/pedanti...
I'm interested because it seems that lower-level systems programming at Microsoft put braces at the end (early .NET BCL, maybe even the first C# compiler's C++ code, TypeScript compiler source, etc), but that Microsoft documentation tended to put braces on their own line and then that became the more de-facto style that shows up in their open source code.
Do you remember any details from Cutler Normal Form? I'd love to learn more about this.
From a quick search I see that it uses braces at the end. I'd be curious if CNF encouraged subsystem prefixes (e.g. the "Ke" in "KeBugCheck").
I wonder if CNF had any influence on "Systems Hungarian" (e.g. "dwCreationFlags") that dominates the Win32 API or if that came as an accidental offshoot of Simonyi's "Application Hungarian"
Dave Cutler is a legend, but he keeps a relatively low profile, so it was nice to watch the rare new video interview with him at the bottom. I especially liked what he said at the end:
"I have this little saying that the successful people in the world are the people that do the things that the unsuccessful ones won't. So I've always been this person that, you know.. I will build the system, I will fix the bugs, I will fix other people's bugs, I will fix build breaks. It's all part of getting the job done."
When I was a kid, I enjoyed reading "Show Stopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft" that chronicled his move from DEC to build NT. Jeff Atwood has a quick review of it at http://blog.codinghorror.com/showstopper/
Anyone know if they're using React Native for this?
I wonder if they already knew about http://www.gustoemail.com/
On Ubuntu, you can get the latest version via:
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
git --version
Note that this is at "git version 2.5.0"This updated Git for Windows project brings that same version to Windows.
It's nice to see Microsoft supporting this now that they've committed to Git in TFS/VSO. It's also good to have the latest version of Git.
Git on Windows has been stuck at 1.9.* for awhile and always in "preview" because it was never really meant for production usage since the main contributor wasn't able to spend much time on it (and even then, he didn't primarily use Windows): http://episodes.gitminutes.com/2014/04/gitminutes-28-johanne...
I applaud the work that Johannes Schindelin (and others) did to get Git on Windows for these past years of increasing usage and look forward to this project taking it to the next level.
See previous discussion at https://news.ycombinator.com/item?id=9432952 . My advice in particular is at https://news.ycombinator.com/item?id=9433981
It's nice to hear of other people with a similar stack on HN (Azure, PowerShell, TeamCity, HipChat, and presumably C#/.NET)! It's working well for us too.
In addition, we're increasingly doing more with ChatOps with mmbot (as an Azure Web Job): https://github.com/mmbot/mmbot
One nice thing about mmbot is that if you use the DLL mode instead of the CSX mode, you get a great IDE debugging experience which makes it even faster to create meaningful ChatOps extensions. I've found it to be a more pleasant development experience that Hubot with CoffeeScript.
The best way to learn is to try to apply techniques on problems that are interesting to you.
Random Forest is a very powerful technique these days that's usually pretty good as a first-pass. Using it with permutation importance usually helps you identify important variables.
I cover several other machine learning "getting started" recommendations at http://stackoverflow.com/a/598772/1869
The issue that Paul Allen took running to Bill Gates at Harvard: http://www.americanradiohistory.com/Archive-Poptronics/70s/1...
When I saw Jerad's post on Hacker News, he looked like a good fit for a developer role at Kaggle. Our team interviewed him remotely and I met him in person and verified that he has the talent, curiosity, and life-long interest in software development that'll make him a great addition. We're really excited to bring him aboard.
Thanks HN for helping us make a rare find!
P.S. If you're into machine learning and/or have an interest in developing a great site for a community (like Jerad), we're always looking for more to join us: http://www.kaggle.com/careers
I didn't want to trust an online service for sharing credentials to these types of assets, so I created an open source program to split up secrets securely: http://www.moserware.com/2011/11/life-death-and-splitting-se...
It's probably over-engineered, but the alternatives seemed not secure enough to feel comfortable using.
Yeah, a simple check to see what nameservers the domain is currently using and then warning about the possible downtime and offering to switch ahead of the transfer would have been a huge win.
Agreed, it was a dumb mistake. I just wanted to let others know so they don't have to suffer the consequences as well of multiple hours of downtime waiting for things to finalize before you can change it.
I posted this after making this "rookie" mistake myself: feel free to add www.moserware.com -> 216.239.32.21 to your hosts file for the next few hours until I'm given access to change the DNS settings :)
I was directed to this page only after the transfer started (and thus after I could change this). Hopefully this might help others before you make the switch.
It's something we're interested in doing. I think Jeremy's video (that I linked to first) is a good start.
In addition, by working in the field, I think I'm in a better position to write blog tutorials like my TrueSkill one: http://www.moserware.com/2010/03/computing-your-skill.html
It's our hope that we can encourage a lot of our community to post insights of their approaches. That's what we already do on our blog with our "How I Did It" posts like http://blog.kaggle.com/2011/10/19/deceitful-beast-william-cu...
See section 9 of our terms: http://www.kaggle.com/pages/terms
In general, the competition host gets a license to the winning algorithm in exchange for a winner accepting the prize money.
We also have private competitions that do not appear to you unless you're invited. In these competitions hosts can offer appearance fees just for participating as well as access to more restricted data.
I recommend the video at http://blog.kaggle.com/2011/03/23/getting-in-shape-for-the-s...
I gave more recommendations at http://stackoverflow.com/questions/598726/overwhelmed-by-mac...
(Disclaimer: I work at Kaggle)
EDIT: Fixed second link
Thanks for the kind words! I joined a startup (kaggle.com) at the start of the year and that has used up most of my time I had for blogging.
I'm hoping to get back to writing again sometime before the end of the year. Unfortunately, it takes me a long time to write so I'm hoping to get at least one post in this year :)
I think it's fine. 4xx is a way of saying the client did something wrong that it can potentially fix (i.e. slow down requests). 5xx is more opaque meaning there is nothing the client can do to fix the problem.
You're right that there's more to it to build a full working implementation (including generating and sharing keys). I tried to show that by dissecting HTTPS (TLS): http://www.moserware.com/2009/06/first-few-milliseconds-of-h...
I didn't use stick figures in that post, but I used actual traffic with https://amazon.com. Amazon uses RC4, but could just as easily use AES.
I was a bit surprised to wake up and find this on Hacker News again! I had no idea how popular (~340k+ views) this post would become when I wrote it two years ago. I wrote it out of frustration after reading the Rijndael book that I linked too. I saw a very beautiful algorithm that was mainly obscured in academic-ese.
Some general thoughts looking back at my post two years later:
* I drew every cell with a sheet of paper and a sharpie and then scanned everything in. My living room was covered with all of the cells of this comic. If I did it again, I'd probably just use my drawing tablet. However, it worked out well being low-tech with paper because I drew a lot of the cells on vacation (i.e. imagine me drawing these scenes on a picnic table next to family by the lake thinking I was a bit crazy). Unfortunately, one unforeseen consequence of doing it by hand was that it became very clear that my handwriting was too hard to read, so I had to manually erase all the writing and redo it using a decent looking font. This took a lot of time. I had originally thought about using comic-sans but am very glad I decided to use the Marker SD font instead. You can see my actual handwriting in the "crib sheet" cell at the end. It was going to be way too much work to make it look pretty.
* I was most surprised by how many college professors use my comic in their computer security classes. Hopefully it helps the students.
* I tried to emphasize Rijndael's state matrix by having the stick figure guy carry it everywhere as a briefcase, but I don't think that came across very clear.
* Although I was inspired by XKCD's style, I didn't copy the critical part of a witty comment in the hover text. If I had to do it again, I probably would have done so.
Thanks for all the feedback; it's what encourages me to invest so much time in making posts like this.
I disagree. A better model helps them better understand customer behavior.
Disclaimer: I work at Kaggle and have been involved with setting up the competition.
Try using an private/incognito window/tab