skysight-inc/HackerNews huggingface dataset:
Wow, Mohamed, this is great. I'm glad I stayed up late enough tonight to see your post. Please feel free to give me a shout via the email address in my profile - I'd be more than happy to kick around any ideas to help you get started.

What kind of computer do you use - Windows, Mac, Linux? I'd like to give you some suggestions for programming tools (mostly free, some you might pay for), but of course the details will depend on which OS you're using.

I second nailer's suggestion that you may want to start with Python for some of your initial learning. It's an easy language to get started with, but also very powerful. Even if you end up using another language later on, your Python skills will remain valuable - it's great for writing anything from little scripts up to large apps.

Ruby is also really nice, you wouldn't go wrong with that either. And of course you'll want to learn JavaScript eventually too, regardless of what else you do. You could start with any of these really, but Python is probably the easiest to begin with. What you really want to start out doing is to get the basic concepts of programming down - and these carry over from language to language.

One suggestion I'll make right away: in every language you work with, find and learn how to use a good debugger. For JavaScript, every browser has a nice built-in debugger. (I like the one in Chrome, but they are all pretty good.) For Python or Ruby it will depend to some degree on which OS you use.

And a good IDE with built-in syntax checking, autocomplete, and all that is really great to have.

Some people will tell you not to use IDEs and debuggers and things like that, as if it were a sign of weakness to use good tools. Or that if you follow Test Driven Development you should never need to use a debugger. Don't listen to them!

I see so many people asking questions on Stack Overflow that they could have answered for themselves in a few minutes if they only knew how to debug their code. Testing is important and you should learn all about it and do it, but debuggers are for more than just fixing bugs. They help you explore and learn how your code works, and what the APIs you're calling really do, in an interactive and visual way.

Here's a Stack Overflow post of mine from a couple of years ago with screenshots of a few Python debuggers:

http://stackoverflow.com/a/16474706/1202830

Don't worry if there's a lot of stuff in those screens; it will all make sense as you get into it.

You'll also want to get into version control sooner rather than later. Most people use Git these days, although Mercurial is very good too. I recommend avoiding the Git command line though, at least at first. You have enough to learn as it is without having to deal with that arcane system. But there are some nice visual interfaces to Git. I like SmartGit a lot and recommend it. It's free for noncommercial use. Or you may want to start with something even simpler like one of the free clients from GitHub.

Again, let me know what OS you're on and I'll make some specific suggestions for various kinds of tools.

p.s. Top of Hacker News on your first post! Not too shabby...
A common problem in QuickLetter before I fixed it was that it had very large local (stack) variables - big arrays and structs. My first fix was to malloc() anything larger than a couple dozen bytes.

MacCLint was a piece of work; I would be unsurprised were it to have local variables that were megabytes in size.

That is I don't know the depth of recursion but I do know that it blew out the 32 kB limit by megabytes.

MacCLint is also the reason why I always use explicit returns in C-like languages. It would crash - which on Mac OS System 7 would drop my box into MacsBug - if I just fell off the end of a void function.

Dave Johnson, the owner of Working Software, had already advised me to use explicit returns because he once used a compiler that generated incorrect machine code if he didn't do so.

Even without buggy tools explicit returns are handy for setting breakpoints. Some debuggers enable you to break just before return even if you fall off the end but not all do.
Russian APT launched a new phishing campaign on the Pentagon
The thesis of this post is that merge conflicts basically negate all of the other benefits a branched workflow provides. I'm not sure how the workflow the author suggests deals with concurrent changes to code otherwise though, and I feel like merge conflicts are preferable to changes that overwrite other changes. Not taking advantage of branching destroys much of the benefit a DVCS provides.

In order for this workflow to be reasonable for any development team of a size greater than about 3, each commit would need to move all the code in to a working state. While a reasonable pattern in theory (Don't TRY commit breaking changes!), it is frequently useful to track code in an intermediate state. Sometimes (read frequently), this code may not be representative of the final state of the technology or may not even work as it should. Not maintaining individual branches means that these changes are exposed to the entire team and can be very very messy.

All in all, what a silly approach to revision control. Take advantage of the latest patterns and a system that provides the loosest coupling and highest distribution. If we do as the author advocates, we might as well all just switch back to CVS...
Welcome, Mohamed..

A little word of advice that I hope will save you a lot of time and frustration:

- Don't wait to complete your training to start your project. Start with the knowledge you have and tweak it over time. If you have no knowledge right now, start by sketching in English. It seems stupid but just the fact of abstracting human needs that seem obvious to us and formalizing them into logical steps will help you tremendously.

- Write code about random stuff you think about. It will be ugly and you'll laugh at it, but you will be lightyears ahead than if you wait when you finish your training to start writing code. It doesn't need to be great, awesomely useful or something.

- Compare yourself with yourself. "..wrote 3,000 lines of Python in a day to build a Segway" made me hate myself. Fight that urge. I know I still am. Reading biographies of great people, seeing what people are actually doing and building makes me feel miserable, incompetent and good at nothing.

- Understand that the points above are for you just in part, they are mainly for myself :)

Here's something to make you feel less inadequate:

http://carlcheo.com/fascinating-posts-from-tech-founders-who...

Work to get better. When the itch presents itself, you'll have the skills to scratch it.

Good luck.
I like Neil Young. I have a lot of his albums, but this will probably just result in me listening to his music less. Streaming music just provides so much more comfort, and must people will not be able to hear the difference through cheap ear buds.

I would've respected his decision a lot more if he just said that it is about the money. There is definitely a hidden agenda here, especially considering that many of his albums had a pretty miserable recording quality to begin with.
Lasers are the future. http://www.space.com/23350-laser-space-communications-incred...

Easier for shorter distances (I think Facebook is researching this for satellite networks?) however it becomes more challenging the deeper we go into space because the beam is narrow - but the bandwidth is fantastic.
I'm also a big fan - for a tight team anyway, might be harder for a more distributed project - you should eat your own dog food - more incentive to not check in crap and an incentive to fix broken stuff fast.

Having an autobuild system to build every checkin is a big plus.

I worked on a chip once where we decided to make everything a branch, at one horrible point we didn't have a mainline, we didn't know what we were building, we had to put people on full time merging trying to figure out what to test.
All the best. My advice to you would be to try and think how you can provide real value to people (which rules out 90% of "startups" in Silicon Valley) and make a positive change in their lives.

This does not mean you have to solve world hunger, it can be as simple as having identified a loophole which allows for corruption in jails and you use technology to close that loophole.
I think, as a community, we all have to make a mental note, that this shit is tough but with struggle comes the reward. We could learn a lot from pro athletes. Our general rule that we are "lazy" is so bad. You should not be lazy. Do the damn thing. It will be hard, but you are doing it for a reward.

It is super hard to remember that fact, when you are deep down in Node.js trying to figure out how streaming and event loop goes on. But thats where notes and big posters come in :)
One of the comments is What's with the anthropomorphism? It's weird that you keep calling a piece of software a "she". and I have to say I fully agree: it made the entire article just weird to read?
the flags will need to be configurable through config file (e.g nginx, apache). When you explicitly grant more access because of a plugin, you know what you are getting into.

But assume nginx supports tame now, you know at least what the process can do and what it cannot do explicitly. If one day a zero-day attack was discovered in nginx, nginx running tame will have a lesser security impact, at least in theory.
Chickens coming home to roost. While the employees have been making their required contributions during each pay cycle their employer has been blowing off their part. I guess, since most city comptrollers are elected or appointed by those elected no one cared that the books weren't truly balanced. The problem wouldn't manifest itself for a few decades.

If you look at Detroit as an example, the politicians will blame the pensioners for being "entitled" to their pensions, declare bankruptcy, and their retirees will be forced to eat cat food.
Because it does not make sense. His music is and has been played on radio stations, their quality is worse than every streaming service.

I stream stuff when I am on the go and to discover new things. He basically dropped out of my casual listening and discovery framework and all I will remember him for is "Rocking in a free world".

Plus, he is trying to sell his Pono service - meh.
Would it be possible to develop a drone that avoids airplanes, people, etc? Not that the operators should rely on it of course, but more as a fail safe. No one worries about birds flying into aircraft because they are usually scared of them. Perhaps we could make drones afraid of them as well.
Jane Street Core has to all intents and purposes solved the standard library problem. I admit I had my doubts in the past which one of Batteries or Core would be the "winner" so avoided them both and stuck with the default standard lib, but I think anyone starting a project today should start it on Core.
The story behind Koken – a lesser known CMS for photographers
Spotify uses Ogg Vorbis.

Google Play uses MP3, which is kind of sad these days because Ogg Vorbis or Ogg Opus would both be much better choices.
Good luck with your endeavors! Regarding learning to code, I'll just reiterate what others have said that Python is an excellent language to learn with (that said, it's not ideal for everything, but it is a great learner's language).

Also, if you haven't already, I'd suggest switching to Linux or OSX and get used to working on the command line. Most developers in the start-up scene will be working on OSX or Linux, and learning how to use the command line will benefit you enormously.
You've got it backwards. This concept long predates the existence of the web, let alone JS.
I have two problems with web programming. One is that the tools (e.g. HTML, CSS) seem to be designed for non-developers.

The other problem is that it is really, really hard to build a business on intellectual work, since eventually all good ideas end up as open source.
Several contemporary settlements have been excavated: Nevalı Çori, Jerf el Ahmar, Mureybet. So we know what the houses, communal buildings and granaries looked like. Göbekli doesn't look anything like that.
The location also reveals that it wasn't used to live, gather food or trade: It's built on top of a rocky hill without access to food or water. You don't extract 15 tons pillars, carve them and move them atop a hill to make things prettier.

The buildings themselves are the biggest proof. No roof, inconvenient and small entrance, holes to let the soul escape. The carvings found at Göbekli were also found on other sites which were associated with religion and death. One example would be the carving of vultures and headless bodies. Vultures which are associated with death and the ritual of excarnation: the floor of the buildings were made waterproof and sloped to allow the draining of bodily liquids. We know that people in that area would bury bodies without their head or even reopen the grave to remove the head. They also have been known to put plaster on skulls and keep the heads around.
Why you want your CMS both decoupled and integrated
I have had ADD/ADHD since childhood. The H part is mostly gone though. My workplace is actually getting me a set of sound isolating and cancelling headphones so that I can play something similar to this website on them. We just moved into a new space that has concrete floors and wooden/metal ceilings, with half sheetrock/half concrete walls - my productivity and ability to concentrate has plummeted as a result.
So buy the cd and encode that?
Looking for a cofounder? Find one by talking
Awesome. If you ever wanna chat about coding or so. discuss geeky stuff. I'm always idling on IRC (freenode) on the nickname `arianvp`.
If David Cameron bans secure encryption he can't intercept
Do people actually do this? Can the accellerations you reach with laboratory centrifuges induce sufficient concentration gradients in salt solutions? Surely the salt begins dissolving as you stop accellerating?
Probably not.

I was there.
AM radio kicked streaming's ass.
Analog Cassettes and 8 tracks also kicked streaming's ass,
and absolutely rocked compared to streaming.
Or fix that exploitative phone call system in jails.
Yea, my first thought was "Just shoot them down".. Then I realized that's probably harder than it sounds ;) Plus the risk of stray bullets etc etc.. Still, there's likely something that can be done besides wandering the area and kindly asking the people with drone control's in their hands to stop.
We have a team of 50 and single branch works well for us.

> merge conflicts are preferable to changes that overwrite other changes

Nobody is saying that. The difference is really merging as you go vs doing one big merge at the end. I personally fall on the side that it's far easier to merge as you go.
I was at the beach the other day, and this drone was flying too close to my friend in a skimpy bathing suit. It was probally innocent, but got me thinking about a drone hack
I read a year ago.

Basically, this guy put together a hacking drone that I believe uses Aircrack-ng, and node-ar-drone(I have never heard of this program?) to capture signals of the target drone. Once captured, the hacking drone flys off with the target drone, and takes it home.

The parts are :Using a Parrot AR.Drone 2, a Raspberry Pi, a USB battery, an Alfa AWUS036H wireless transmitter, aircrack-ng, node-ar-drone, node.js, and my SkyJac

http://samy.pl/skyjack/

Has anyone tried this hack? just curious? I would definetly stop irritating drone operators?
while I Believe Hobby Drones(with height limitations built in the software) Are An Overstated Danger To A Aircraft; There should be laws prohibiting them at emergencies/events, with low flying aircraft.

If I saw a drone interfering with an emergency situation, or hovering over my residence; I might take a chance and high jack the offending drone--if this hack worked?
Mohamed let me tell you about my little sister. She was the opposite of me in that she hated school. Truly hated it. She said she'd never set foot in school again after graduating high school.

But, she wanted to be a police officer, and that required college. So she put herself through school by being a prison guard. My little 5'3" sister running around bossing grown men like it was nothing.

She made it through school and got hired as a police officer. She spent the next five years as a dispatcher. Nobody wanted to put her on the streets. But she persevered and eventually she won the day and became a patrol officer. I dare say except for getting married it was the happiest day of her life.

Don't let anything stop you, man. Smart isn't everything: perseverance counts for a great deal.
Frankly, I have a hard time believing that the misanthropic commenters on r/programming are major opensource contributors. The most prolific programmers simply don't have time to waste on comment threads.
Yes, I can back up that this "plausible criticism of the industry" has no roots in reality whatsoever.

>Sign: "It has been [0] days since the last new Javascript framework." Web developers must run very hard to stay in the same place.

We are talking about front end frameworks here, right?

Ok, here is data for usage of front-end frameworks for a top million websites:

Angular is used on 0.4% [0]

Ember is used on <0.1% [1]

React is used on <0.1% [2]

jQuery is used on 63% [3]

What conclusions are evident from these numbers? Modern "[0] days since..." JavaScript frameworks are used on the minuscule number of websites and therefore, empirically, an absolute majority of web developers must NOT run very hard to stay in the same place.

Even Backbone which is a reaaally old framework in JavaScript world is used only on 1.1%[4] of top websites.

So what do you say to this?

[0] https://trends.builtwith.com/javascript/Angular-JS
[1] https://trends.builtwith.com/javascript/Ember
[2] https://trends.builtwith.com/javascript/React
[3] https://trends.builtwith.com/javascript/jQuery
[4] https://trends.builtwith.com/javascript/Backbone.js
Large birds fear for their safety and avoid the helicopter, I'm guessing at least some drone pilots - especially those willing to fly their drone over something like this - have less fear for their drones "safety". Hell - They may even be trying to get "the action shot" by trailing the helicopter etc etc.
You merge as you go in branched development too?

Master is typically periodically pulled into the feature branch to ensure you're working against the most current version of the codebase.

EDIT: Yes, this can create an ugly revision history, but that's what rebasing is for, right?
Great article about a previous innovation of Michelin that failed: In the 1990s Michelin developed a revolutionary new kind of tire with sensors and an internal hard wheel that could run almost perfectly for 125 miles after a puncture. They forgot to involve the ecosystem.

http://www.forbes.com/sites/frederickallen/2012/03/05/why-gr...

(edit: not being negative on this new product, just providing some context)
So you claim that a many-stranded argument can be reduced only to its "basic argument" and argue against that. The letter SPECIFICALLY states two cases that don't fall within your "basic argument", viz:

- Technological breakthroughs that specifically pertain to space, i.e. survey satellites.

- Breakthroughs in international co-operation driven by space travel bringing a scope to the world far beyond national boundaries.
I totally agree, and this is why I am quite angry with the "basic is bad for your brain" statement from Djiktra. I understand the sentiment, but the idea that starting with very basic "non-rigorous" language is not only a waste of time but will even hold you back make me lost several years on my programming career.
In intellectual pursuits like programming, it is easy to fall into the trap of thinking that only intellectually hard things are worthwhile. Which in turn leads us to think of an intellectual ladder with mathematics at the top. This causes us to disregard the creativity and effort required to produce useful things (such as websites) even when no intellectually hard problems need to be solved. I think this is a toxic frame of mind for anyone who is not a mathematician.
Always extending a helping hand :) Muhammed: arianvp serious chief geek, and a very helpful/resourceful one!
Apart from the withholding of income tax (which I was already counting), I think they only pay social security (23.75%).

Considering that many professional programmers with a college degree in Software Engineering make ~$1300/m (net), the remaining $2700 is plenty to cover all taxes and expenses for both parties.
We make tests to solve subtle merge bugs like the article's example about dialogs, and watching what the other team members are merging help miles too.
You have experience with Jails and guarding things? I would ask you to figure out some type of problem that requires the protection of some type of asset.
Isn't that a little at odds with the idea that the author is describing some variant of the OpenBSD development process (unless I misread the thing) and beside being a large and ongoing project, they've been reviewing code since before it became fashionable?
It's not that difficult, just takes up to a couple of hours per wheel

Once you know how to do it properly that is. The key to that is mentioned in the article: applying tension while building the wheel. Lots of it, in my (borrowed) experience.

The first couple of wheels I built was before I had internet access and I just copied the lacing pattern from an existing wheel, then tightened and trued the wheel. It were the worst wheels I ever had and impossible to keep true (though I was riding trials back then which does require more from wheels).

Then one day I found http://sheldonbrown.com/wheelbuild.html and would basically put all sorts of tension on wheels while building them. Lean on them, hammer the spokes, pull them together, smash the wheel against the wall and so on. This, together whith experience gained from many iterations, yields wheels which do not make the slightest sound when ridden for the first time and stay true even under heavy circumstances (I ride street/dirt on a 24" bmx now). As another comment mentions: wheelbuilding is definitely some sort of an art.
American and Chinese education learns to balance each other for the average students. for the ultra smart,they do what they are good at.
when I was at high school in china, I can solve complex algebra and geometry problem which I don't know how I did that today. I never thought public speaking or organisation skill etc is skill. I have the wrong belief like how you can talk about it if you are not expert of it. now in china people already start to reduce difficulties of maths problem in exam and pay a bit more attention on soft skill. in US, people might think to equip american kids with more math skill so that in future they can embrace more discipline. one example i see good programmers not willing to do computer graphics because they are worried about their math skills. maybe that is why post like maths you need to know for programming is popular
> it doesn't matter if it's vim or emacs or notepad

Yes! it matters if it's plain vanilla notepad, notepad++ would be better, you don't want to see someone else code opened in notepad, tabs and spaces and newlines will mixed like spaghetti.
Magnetism, Radiation, and Relativity (1999)
You can become conscious of them, and then you can choose how you act.

The real question is, when does a person have free will? Ever? We consider people to be adults at some point. What that means is autonomous agents. I don't want to live under laws that do not assume this.
maybe your MVP will actually matter to lots of people and become useful for humanity since you are working for this specific sector that innovation is rare.
Join Github.com, show up, create something, dont tell; show.
Reapp – Hybrid apps, fast