skysight-inc/HackerNews huggingface dataset:
Ask HN: First job in IT, what best practices should I get in to?
I started a new job 2 weeks ago as a general purpose IT professional for an electrical contracting company. Although I am essentially the one man IT team, my responsibilities include essentially patching up their current MSSQL instance (20 horrendously designed databases created by someone who had zero knowledge of database design, no indexes, no pks, etc).Once I have finished patching up their current database, I am to completely redesign their back-end and front-end systems, moving them away from access front-ends, and migrating them to native applications and web services.

In terms of software development, I'm fairly proficient, but DBA is not my strong suit, but I'm picking it up quickly.

So far, I've been fixing little errors in the database here and there, creating backup jobs (there were not in place), and extensively documenting everything I can decipher. Because I don't have any sort of mentor or senior to guide me, I'm somewhat flying blind on this. What recommendations do you all have for me?
The "puzzle" to be solved is a hash (of recent transactions and an arbitrary number) with certain required characteristics, and finding a valid solution is a matter of chance - basically through brute force. The fastest supercomputers do have greater chances of finding a solution (because they're testing more hashes per second), but they aren't guaranteed to win every time.
Not at all pejorative. In my experience, the odd thing about mathematics is that the people who seem to treat it the least seriously are mathematicians. Everyone else thinks of "math" as a set of immutable laws. Mathematicians are the only ones who can see & treat math for what it is: a set of human languages designed to interpret and communicate ideas.
@Pantaloons: Right on all counts. One clarification: .NET Native and MDIL are orthogonal. MDIL was used in Triton to split NGen into conceptually two pieces: the optimized part (in the Windows Phone Store) and the part bound on the customer's device to the installed Framework.

.NET Native produces completely native binaries. MDIL/Triton produces NGen binaries that still need a runtime and, occasionally, a JIT.
If you're unfamiliar with Wu-Tang you may enjoy this video which is GZA rhyming about the big bang. Wu-Tang is pretty much the opposite of what the stereotype about rap culture is. They are intelligent and try to spread positivity in the world. https://www.youtube.com/watch?v=Ajs48XRlOqc
Disavow dirty links or spammy links (heck all of them) submit for reinclusion. Then wait. If approved switch to new domain :)
I set up Cats but I found it was super buggy under Linux Mint :(
Its not code its algorithms, backus naur notation, software patterns, etc.

The differences betweem an architect and an civil engineer is the math.
While V8 changed a lot, as I understand this particular post is still up-to-date.
While the author does react quite unprofessionally, there has been a commit adding the license to the required position: https://github.com/opencart-ce/opencart-ce/commit/dfaf2e8fb4...
I think a legitimate complaint is that de-regulation is correlated with ex-post regulatory capture. And the same is present in things like media regulation and telco. The 1996 telecom act was gutted by the RBOCs who killed the CLECs and pivoted to roll up the mobile independents. The POTUS vacations withe the CEO from Comcast now. It really doesn't matter the party or the policies. It seems the inevitable conclusion of the process. Similarly the so-called banking de-regulation in the 1990s...that was codified and locked in place via the WTO treaties. This has left us stuck with a neither-here-nor there ability to lighten or strengthen regulations. WIPO and IP issues have been similarly ossified as proponents have tried to "open up" markets for IP.
Finding the next block is a random procedure. Miners try to guess a number that 'solves' the block puzzle. It could take 2 seconds or it could take 30 minutes. On average it takes 10 minutes. Faster computers can try more numbers but slow computers have a chance too. The faster your computer the better your chances.

Does that make sense?
I am a mathematician I don't need examples. What is your formal definition of a mapping.

In mathematic it is normally used as a synonym for a morphism in a given category and in the category of sets this would be a function. So in our context a mapping is a function.
Over here - http://www.infoq.com/presentations/j-language - there is discussion in the video of removal of the background.
I'd call that the static compiling approach, not just the Go approach. It's possible to statically compile in a wide range of languages.
One reason (as I see it) is that TypeScript is implementing ES6 features along with the type-specifc stuff, so it's going to end up in a place where it's very compatible with the 'future' of JavaScript.

CoffeeScript will always be something quite different. I love it, but that difference makes me nervous. ES6 ought to bring a lot of the features I like about CoffeeScript into JavaScript.
Most people are not expecting Bitcoin to completely replace any government-issued currencies. If you take a job with remuneration in Bitcoin it will likely be a certain dollar amount worth of BTC rather than a certain amount of BTC.
Al Arabiya hacked by NullCrew
This isn't exactly true. Free speech just means you need to respect someones RIGHT TO VOICE their viewpoint. There is a difference between respecting someones right to free speech and respecting the actual person and/or their viewpoint. If the viewpoint someone expresses is repulsive you are under no obligation to respect that person or their viewpoint. Criticizing bad ideas and calling people out on them and applying social pressure to those people for their bad ideas is what makes the market place of idea's work, it stops bad harmful ideas like racism and LGBT discrimination from propagating. Criticizing someone and saying you don't respect that person anymore because of their ideas is not the same as disrespecting or taking away their right to free speech.
In my experience, PGO is something that relatively few C/C++ programmers know about or at least use... roughly the same percentage of java programmers know how JIT works. But all java programmers get to benefit from JIT.

Don't get me wrong, a lot of java bugs the hell out of me and I'm personally much more comfortable writing c++. I'm just pointing out that a code running on a virtual machine isn't some horrible back water.
News Corporation has about 379 million non-voting A-class shares and 200 million voting B-class shares on issue.
Perhaps. Service providers ensure the services they provide are often needed to get the job done in a timely manner. More subtle, but effective. All companies have to make money.
Yahoo unveils encryption measures to protect users' data
I wonder if you'll get to listen to their album on "Beats" by Dre.
Would be a good question to cross post on Inbound.org - some pretty knowledgable SEOs hang out there...
Completely agree. 9 times out 10, something compiles and works as expected, and can stay working in production for years. I don't know of any other language where I can do this and keep developing (and prototyping) the codebase.

(This is not to say that testing isn't necessary--in fact Haskell offers an amazing framework for fuzz testing, QuickCheck--but 100% code coverage unit tests is a pointless endeavor in Haskell.)

I will say that "rapid prototyping" of new applications is a bit tedious in Haskell (mainly because of the cabal etc. bootstrapping work you have to do), but prototyping new features in existing ones is smooth.
> deflationary (this pretty much means it would have a hard time to act a real "currency" based on nowadays economic thinking)

This argument makes no sense to me. If Bitcoin's deflationary nature prevented it from acting as a currency, it would also prevent USD/CAD/dogecoin/etc. from acting as currencies because people would chose to buy Bitcoin instead of spending their inflationary currency on anything else.

Every time you spend USD on something, you can instead buy an equivalent amount in Bitcoin. Not buying bitcoins can effectively be thought of as buying them and spending them.

In fact, the truth is that no one knows if Bitcoin will be inflationary or deflationary within the next year due to its current small market cap and risky nature. But in an hypothetical world where Bitcoin does become a stable and deflationary currency, why would any selfish actor chose to hold an inflationary currency?
I'm starting to see a lot of similarities between managers/executives and beginners asking questions in programming IRC channels...
Sweet! Looks like they're responding to the MasterCard competition: https://www.simplify.com/commerce/
Naturally mono probably has some quirks, which you need to keep in mind during development. However, you can make successful apps using it. The Unity3D engine uses mono on linux, and the games using it run fine (even on my laptop).
Not quite - getUserMedia is one part of WebRTC. If you use the 'full' WebRTC (i.e. RTCPeerConnection), you're tied into a certain architecture, which isn't generally useful if you already have a server architecture. getUserMedia is more useful in general for developing web conferencing solutions IMO.

I think a lot of browser developers (Safari/IE) are baulking at implementing google's WebRTC. I would hope they would at least offer getUserMedia even if they don't implement the full WebRTC.

If you've looked into WebRTC you'll see it is horrendously over-engineered. I was hoping to grab the AEC code, but gave up on that idea after looking into it in more detail.
This isn't specific to Bitcoin, although Bitcoin prompted the question. For a non-superficial answer, you'd want to read papers by Austrian economists.

If you want amateur opinions, which I'm willing to bet is all you'll get on HN, it's been discussed to death on bitcointalk.org. Start with https://bitcointalk.org/index.php?topic=222845.0;all
> If the messenger encryption doesn't feature end-to-end PKI, or at the very least some form of session-based cipher that is not sharing any private keys with yahoo's network, it's ultimately ineffective.

Exactly how do you do that without changing how Yahoo makes money? continue to provide what they do currently (spam filter, smart label etc, ads recommendation)? Multiple devices? Key management?

One way is simply encrypted with user's password but Yahoo knows your password.

Simple concept but complicated setup. I am not aware of any efficient and effective methods yet to solve all the above. I'd happy to learn.
> and yet none of them make money except search advertising.

I actually think lots of them make money -- over $5 billion in non-advertising revenue in 2013 [1]-- its just they are dwarfed by the scale of the revenue from search advertising ($50 billion in 2013.)

> they haven't successfully SOLD anything to date.

If they haven't sold anything but advertising, they must have just conjured that $5 billion in non-advertising revenue (and that total, and the proportion of non-advertising revenue to total revenue -- has been growing every year) in 2013 out of thin air. Which, you know, would be even more impressive than selling stuff.
I can understand why people like to read these, but I'm seeing them so often and in so many places I'm starting to get sick of "aspiration quotes". I'm not sure if its a matter of selection bias, because I'm now an entrepreneur, or if there just happen to be a lot more of them, and they're everywhere: Google+, Twitter, LinkedIn, FB, etc. Its rare that I ever read one that makes me think: "Wow! Yeah. This is totally going to take away all my anxiety and tomorrow morning I'll realize why I'm doing what I'm doing and now my problems are going to disappear." Now if I see people I'm following posting more than a quote a day, I just stop following them.

Quotes like this one by Tony Hsieh especially irk me: "Chase the vision, not the money, the money will end up following you." Did he say this when he was a nobody or after he got Zappos got bought by Amazon. The reality is that a lot of entrepreneurs can only chase the vision for so long. Other obligations sometime have to take precedence: rent, healthcare, spouses, kids--and then chasing the vision is just impractical.

Most entrepreneurs know that, by definition, the decision to take this career path is a risky one. And in MOST cases--again, referencing Hsieh's quote--the money will NOT "end up following you".
Terrible, but a necessary evil I guess. Sometimes you gotta just let sleeping dogs lie and start removing unused code as you go.
I see it as somewhat complex but in the end I sort of agree that it is a definition. Let's start with a problem:

0/0

The problem with this is not that the equation itself is meaningless. the limit of n/x as x->0 is infinity for any positive real number, and negative infinity for any negative real number. In essence 0/0 ends up reducing to 0 * infinity, which isn't very helpful.

I would argue that discontinuity in a form like this can never be unique to a single point in an otherwise continuous function, if the limit approached from both sides is the same, unless that point as a specific, defined value. This is because a point is arbitrarily small. The limit of 1/x as x->0 is discontinuous because from the negative side and the positive side, the limits are different, as anyone can see when you plot it on a graph.

However here we have x/x, and the limit stays at 1 from both sides. It may be formally undefined at the exact point of 0/0, but the limit from both sides is the same, and it remains constant as you get arbitrarily close. Therefore it is simpler, system-wise, to treat it as 1, than to make an exception for it.

> In the case here, you're free to reject the convention that defines 0^0 as 1 and reason with the result;

But you add complexity which is neither helpful nor desirable.
I wouldn't bother using Bitcoin if it was more of the same bullshit, just digital. For instance, if it depended on my government, I would never be able to use Bitcoin, just like I'm not able to use gold or any other currency that the government can't use to steal from us through inflation, seizures, etc. People from first world countries have a hard time seeing the real benefits of Bitcoin.
That is a beautifully clean and simple design.

I'd like to see what you're going to do with other form inputs, as only text is a bit limiting.
Gwit. Twue gwit ithz wut gathwers us here twoday.
Harvard is different. Their endowment makes them more like a big hedge fund that happens to educate people on the side.

Check the numbers at any mid-tier private university or engineering school. Maybe things are different now than in the 90s.
Yeah, I guess if you want 3rd party integration via an API you're probably looking for Apple's Passbook. It'll be interesting to see what MSFT does here and how long it'll take for all three to merge into a similar set of features.
We know this. I was explaining to you what the word means by example.
Voice Search integrated with e-commerce could be the killer feature. Imagine saying "OK Amazon buy those shoes" that are currently displayed on your TV. One or two more steps to confirm the transaction orally and it's on its way. You've already got Prime and you trust that you'll get a competitive price from Amazon. So why not just buy right away?
If a company like GE can pass the baton from one CEO to another, you can do the same. Sell it, retain a stake, and get some passive income coming in.
With that logic you would never ever again be able to use a new library...
Great customer development recommendation.

People saying something is worth the oxygen it took for them to say it. If they put up something of value, then that's worth pursuing.
Thanks for offering an alternative, Dan. Not sure if it's worth the hassle. I do appreciate your effort.

I would like to point out that the baity video is satirized commentary on many enterprise cultures. Though the presentation layer is light, the content is heavy; thus spawning discourse.
The other thing is, you have a bunch of wasted calls to a logger if you don't want any logging to take place. Minor, but if you are working on embedded systems etc... you won't be using a logger, you'll more than likely just comment out debug statements and leave them in.

It all really depends on the application and how much performance is an issue.
A Method for Comparing Chess Openings
It reflects a shifting of necessary government services to debt service used to cover past excesses, and massive shifts of budget $ off books to Social Security especially to fund more recent excesses.
Have to disagree with you there. Windows is older than COM. It's actually older than C++. The classic core Windows libraries and interfaces like GDI are plain old C. Not even a hint of C++.

COM is language agnostic. You can consume COM servers in Delphi that have been written in VB. Again, no C++, not necessarily. The only "true" C++ API I'm aware of is GDI+. Everything else to my knowledge was and is either straight C or COM.
But here's your problem:

infinity * n = infinity, right?

0 * n = 0, right?

0 * infinity = ?

Ok, this is relevant here particularly because:

Lim 1/x as x -> 0 from the positive side is infinity, right?

So 0 * that is.....

lim 1/x as x -> from the negative side is negative infinity, right?

So 0 * that is.....

That's why 0/0 doesn't work as such. You don't know how 0 is derived or what it means. If we have x^2/x, and take the limit as x -> 0, we get 0. If we take x/x^2 and take the limit as x -> 0 we get +/- infinity.

But that doesn't mean that x/x or x^2/x are not continuous functions, any more than 1 or x are not continuous functions.
Metaprogramming to DRY out code
> 10min transaction time, resources wasted in mining, programmable aspect is very limited, deflationary, nowadays economic thinking

Getting really tired of these arguments. Transactions take 0-2 seconds. The resources are not wasted, they are used to secure the network and are way lower than what VISA or any other big company use. And It's deflationary because people like me are suffering from this form of theft called inflation, and we desperately needed something like Bitcoin. Besides, without an economic incentive why would people risk money? Nowadays economic thinking is pretty much a pseudoscience, just like Psychology.
U.S. to let public see how Medicare pays doctors
Matlab home use license now available
An activity tracker that sync with mobile phone using LED light
I categorize everything using Evernote :)
April 2, 1986: A ‘Laptop’ Computer
I agree with the point you're making, but I want to be a little pedantic: It's true that addition is a definition, but 1+1=2 is not--it logically follows from the definition of addition.
This question doesn't have an answer because, as this post suggests, the meanings of the first 0, the second 0, and the (^) are overloaded. The reason mathematicians don't mind the overloading is that they all have "kind of" similar meanings.

So we can talk about a recursively defined function on naturals where it's convenient to "define" 0^0 = 1. We can talk about various kinds of limit techniques in the reals where 0^0 is not actually a value but instead a shorthand for a particular kind of limit.

This probably forms the most interesting notion of what 0^0 means where we define it as the limit of a particular kind of path in the complex plane and then notice that 0^0 can take any value we choose---depending on exactly what path was taken to get there. [0]

[0] http://en.wikipedia.org/wiki/Complex_logarithm
I hate this suggestion. What's the point of writing a toy compiler if you skip learning how to write one of its most critical parts?
> I am a mathematician I don't need examples.

I gave the example not to teach you, but so that we could get away from terminology and get to meaning. Look at the question I posed: "how many arrows would it take pointing from the student to the teacher to illustrate every possible assignment?" So, if you have two students Alice and Eve, and two teachers Bob and Carl, there are four arrows: Alice->Bob, Alice->Carl, Eve->Bob, and Eve->Carl. How many arrows are there if there are no teachers and no students?
Most infamous bugs in the history of Software Development
I think you break algebra if you start treating y = x^2/x as distinct from y = x, and the both the former and x/x have the same problem with x=0.

Edit:

As has occurred to me, you might actually have a point, in that x/x may be a continuous function, but so is 0^x, which gives you a different limit. So it may actually determine whether in context it makes sense to treat 0^0 as x/x or whether it makes sense to treat it as a limit of 0^x as x -> 0. This may be application dependent.

Edit2:

Ouch. 0^x can't be defined for negative numbers, so I am back to siding with 1 for reasons that any other answer breaks algebra.
Well. Assuming an efficient market, and given equal levels of price stability: taking a loan in a deflationary currency should not be more any more risky than taking a loan in an inflationary currency. Nor should the real price substantially differ.

Of course, psychological perceptions are a trickier matter, which is why we hear about "sticky wages"...
There are a couple of ways to define this part of mathematics, I believe I have seen some definitions that do in fact define `1 + 1 = 2`
I do machine learning, I don't particularly care about object layout - almost everything I deal with is just arrays of floats, doubles, or longs. I'm also not bothered by GC issues as I simply iterate over the same arrays many times. Lastly, with the type of code I run, JITing of hotspots is done long before the first iteration over the data is complete.

A coworker bet that java would be within 30% of similarly structured c code. I didn't believe him, so I rewrote two of my companies computationally expensive algorithms; a variant of matrix factorization and a neural network.

The production version of the C code did some tricks that would not be possible in java, so I rewrote the C versions to be a bit simpler. I then ported the simpler C programs to java, a fairly straight forward and mostly mechanical job.

The MF code was 5-6% slower than in C, the RBM code was about 1% faster than C.

Granted the tricks I was able to exploit in the production versions made those versions decisively faster than the simple java version, but java was and is much better than I realized.
CBS Apologizes For “Audio Error” Of A Loud Car Engine Dubbed Over Tesla Footage
> A few currency scenarios might pop up, for example countries with unstable government or corrupt governments

Sounds like most of the world would benefit from Bitcoin then.
Console.js: easy colors in your browser console
The typescript playground[1], which lets you try TypeScript in your browser, looks so professional and finished when compared to CoffeeScript[2] or Dart[3]. As someone who attempted a half-baked Rust to JavaScript transpiler[4], I am floored with the packaging of TypeScript (tutorials, specs, editor integrations, npm, playground). At the moment, the only missing feature that my jealousy could point out is autoscrolling (see lexer example in my demo)!

By the way, is playground using v1.0?

[1] http://www.typescriptlang.org/Playground/

[2] http://coffeescript.org/ (Try CoffeeScript tab)

[3] http://try.dartlang.org/

[4] http://bilalhusain.com/rust-lexer/syntax.html