skysight-inc/HackerNews huggingface dataset:
PGP uses the pubkey to encrypt a randomly generated symmetric key, because it's much faster to asymmetrically decrypt a small key and then symmetrically decrypt the entire message. For multiple recipients, this symmetric key is simply encrypted once for each recipient pubkey.
Unfortunately RWT's David Kanter was recently hired by MPR and announced a near-hiatus from writing RWT in-depth articles.
CSS `do-*`
Callgraph. Then document the larger chunks, working your way down.

It's like having a map versus having no map at all.

And 100M lines? Are you sure there is no code generator at work here?
You haven't really described your goals: What do you want to extract from your analysis? Metrics to tell you what's "wrong" with the existing code base? Some sort of model of the system's semantics?
I still think HN is full of mostly relevant discussion and a good bit of it is higher quality than you find elsewhere. I really think it's still reddit before reddit became mainstream. Reddit was technical/intellectually focused from what I remember. Now it's a bunch of trolls in most places (some sub reddits seem to avoid this). Hopefully HN is niche enough to stay about where it is now.
4.2 km/h to whom feel confused by imperial units.
Maybe drone delivery will be a bigger success in countries where people don't have guns and some start shooting things in the sky for fun.

At least, over here in Norway, I don't see how this could be a problem, unless drones can be shot down by BB-guns.
"The Firefox Nightly and beta versions have HTTP2"
Seems an extremely long bow to draw when it is only affecting a tiny group of beta/nightly testers...
Verbosity was a huge argument against <picture>. People were ridiculing it with complex use cases that required awful amounts of markup.

Hixie was against using elements, as it's harder to spec (attribute change is atomic). Eventually <picture> got a simplified algorithm that avoids tricky cases of elements, but at that point srcset was a done deal.

At least we've got separate media, sizes and srcset instead of one massive "micro"syntax.
Adobe –Java Developer- Bucharest, Romania and Basel, Switzerland (Remote is a possibility for the right candidate)

We're looking for Java developers to join the Adobe Experience Manager (AEM) development team (formerly Day Software). AEM is a high class, industry-strength CMS developed over open source projects: Apache Sling [1] , Jackrabbit [2] and Felix [3].
If you want to work for a leading international company and evolve within a team of strong contributors to the Apache Software Foundation [4], send me an email at psilviam at adobe dot com.
You can find more details about the job here: http://adobe.taleo.net/careersection/jobdetail.ftl?job=25034...

[1] http://sling.apache.org/
[2] http://jackrabbit.apache.org/
[3] http://felix.apache.org/
[4] http://www.adobe.com/content/dotcom/en/devnet/opensource.htm...
> I think Agile is (was?), in the end, yet another attempt to make software development behave like other areas of engineering -- a domain in which processes can be trusted over people

I don't know where you got that idea from, given this vital line in the original manifesto:

> Individuals and interactions over processes and tools

http://agilemanifesto.org/

The entire point was to get past the "one size fits none" solutions and just build some stuff.
Start at the main function. See how things get setup and walk through the code from there. Keep notes on the structure and flow of things (if any). There isn't really an easy way to do this unless it had been documented properly before.

AstroGrep is a good Windows based tool that allows you to search within file so you could use it to find which files spit out a particular output to screen.

Not sure what you mean by using ASTs though.
At a guess, understanding and ability to fix/change, that's the usual with projects like these, bringing the code back into a state of maintenance which could be described as 'under control'.
why would you need the ast?

if given a large chunk of code to maintain i'll usually run doyxgen on it to generate the xmlish kind of chart that it makes. at least it gives me a roadmap to start, but it's not super great.
> I can see this being used for items with value high enough to justify the drone delivery costs (say, > $20) but not too high to the point where having a drone deliver it would be too risky.

Like pizza?

Pizza delivery drivers are regularly robbed, not for any cash they may be carrying but for the pizza.
Browser update stops once you reach the last version supported by your OS. From there, you have to upgrade OS and that is not as easy or risk-free, unfortunately.
I think the answer is more simple than that. We had the news 3-4 weeks ago of a Russian group propagating a file with over 1 billion user accounts[1]. I bet someone went through that list, found the celebrities and used that information to access their iCloud accounts.

[1] http://www.politico.com/story/2014/08/russian-hacking-gang-u...
We'd love to know what these lines do. For example what part of this codebase deals with the DB and what part does not. And then go deeper.

The final goal is to re-do what these lines do :(
I think it's possible to look at this without getting dragged into the puritan free market vs regulation paradigm.

I think that regulation of taxi & public transport and/or the survival of these regulations post 1980s is a product of problems in that industry. The Taxi market often develops pathologies. Safety issues. Ripoffs (specially tourists). Congestion. etc. Those problems are real.

But… Uber solves or can love many of those problem just as well as regulation. Safety is improved because there is a record of everything. The ripoff/bad service caused by lack of repeat business is mitigated by the reputation system. They specialize in solving congestion problems with their supply-demand stuff.

The regulations just aren't needed to regulate what is sometimes called 'black cabs.' The fact that they compete with flag down taxis is irrelevant. These problems are not acute for this kind of service and forcing Uber to comply is not helpful.

Insurance, licensing, permuting & such are unsolved problems. Uber might be able to work out the insurance at some point. But.. these are more artificial problems, artifacts of the regulation as much as they are regulations there to solve a problem. Regulatory authorities should work to fix these themselves, to enable new kinds of services.

Uber puts more power into the hands of consumers. If this removes some of the need for industry regulation, industry regulation needs to adapt.
AST = abstract syntax tree.

With 100M lines your process will take many years.
Seconded.

> I have to analyse [...]

> We've started parsing it and tried to work on extracting abstract syntax trees and all that.

Why? How will this help? What are you really after?
I notice that the low frequency components represent the large scale features of the image while the high frequency components seem to fill in the details.

Maybe we could use this to build a human powered custom compression algorithm since they work by discarding components which don't make much of a difference.
Annoyingly, Google seems to consider my installation of Chrome 37 on Ubuntu 14.04 an "old" browser, so I now get an outdated version of Google.
The One Reason for Quitting I'll Never Be Mad About
Yes, you can't send an SMS with an "attached" video with your phone unless you update to a phone with a video camera ... you can still do the SMS but the side-channel and video capabilities are missing.
Show HN: Funtober – Fall/Halloween site by non-tech nights/weekends founder
Indeed, Nantes is much better ! ;-P
It's code that's been developed and it's been running for decades, I'm afraid.
Both Uber and Airbnb are currently in the process of being killed of in Germany. If they started here, they definitely wouldn't have gotten of the ground.
Just curious: what application needs 100M lines of anything?
A few ideas that have worked for me in the past:

Map the control flow. This code/app/whatever is doing something in production right now. What tells it to start? How does the control flow from the start point to the stuff that takes in data to the stuff that writes the output or does whatever this app does? Whatever the options for how it works are, where are they set, how do they make it into the core of the application to affect whatever it does?

Map the data flow. Input must be coming into this thing somewhere. Find where it reads it in, where it writes it out, and how it gets from one to the other, what data structures and methods it passes through on the way.
This is a poor argument. The first three "myths" in the article are all straw-men. First, Agile isn't a design process, it's an implementation process. How you arrive at those user stories is up to you, and nothing in Agile proscribes using OOD, SOLID, patterns, or any other software design process your heart desires. And please show me the Agile article that says that you should constantly refactor working code, or that technical debt should be accumulated freely because it can always be repaid. Myth #4 might make the basis of a good article (and has), but it hardly means the end of agile to suggest that just blindly following agile rituals doesn't guarantee agility.
> The final goal is to re-do what these lines do

That is quite possibly a huge mistake. (And a very costly one too!)
Not a single line. The whole Java codebase.
Not true - they don't pay this money out of charity. I am guessing other companies with interest in having a leading search engine (MS and Yahoo primarily, but also Apple, Amazon,...) would probably be happy to take Google's place if they backed out (maybe not for the same amount though).
How does that stop you from making a callgraph?

(On the off chance that you don't know what that is: http://en.wikipedia.org/wiki/Call_graph)
My Software engineering Prof. Once wrote, those agile methods were first used by highly skilled teams that knew what they wanted. There has never been any evidence for them to be a silver bullet.

This is the case for pretty much anything new and cool.

Big planning slows down experienced engineers, but can help the unskilled quite well...

Plans serve (at least) two purposes.

One is so that you know what you're doing. This doesn't have to be formal and can live partly inside your head. Experienced people probably do more of this, they just do it faster and don't bother writing as much of it out (because recalculating on-the-fly is faster and less error-prone than looking up last week's overly-detailed predictions).

The other is so that other people know what you're doing and when you'll be done with it. For this the proper amount is whatever provides the most useful information (for all combinations of "most" and "useful"), without taking so much time as to cost more than it's worth.
It's not just one application. It's many of them.
As a first pass, try deleting as much code as possible :) If there are files or whole projects that aren't needed anymore, they're just slowing down your analysis. Also some dead-code analysis could be helpful, at least in broad strokes. You could instrument the code with a test coverage tool, then run the code instead of the tests to see what code gets reached.

Edit: You could also look for duplicated code, and quickly refactor that to just be in one place.
Just use a decent language like Ruby instead.
Great idea. Keep up the good work man.
Upgrading from Windows 1.0 to Windows 8 on Actual Hardware [2013]
Also remember what happened on the PowerPC side, it wasn't just x86 victories but also fateful PowerPC moves:

Motorola folded from the market, focusing on embedded.

IBM put out the PPC970 aka G5, a cut-down version of their POWER4 server chip. It had competitive performance vs x86 on desktop.

PA Semi made a good laptop chip which, despite Apple buying PA Semi, never made it to a laptop before Apple's x86 transition.

PA Semi chip coverage: http://arstechnica.com/uncategorized/2005/10/5486-2/

Really Apple jumped ship because they were the only major customer for the PowerPC CPUs they were buying, and not really large enough to securely sustain their suppliers.

Now they are large enough, hence their own ARM CPUs.
On Eclipse http://www.nwiresoftware.com/products/nwire-java
Am I missing something or are you saying that making an AST like a compiler will help you understand a huge codebase better and faster?
It doesn't. I was just answering about the code generator thing you mentioned.
My point was they're kinda taking your word for it either way.
Comcast Forced Fees by Reducing Netflix to “VHS-Like Quality”
One interface, many truths
Show me where in the agile manifesto ANY process is recommended: http://agilemanifesto.org/

This is the entirety of the issue. Once one refers to it as a process their entire argument is flawed.
If you're a UML guy here's a great option http://www.altova.com/umodel/uml-reverse-engineering.html
Corruption definitely exists in Germany and nobody seriously doubts that politicians listen to special interests.

However the taxi lobby has argued for years now that the fees they are allowed to charge are too low without gaining any ground. They quite obviously lack any notable influence.
No, an AST will not help but a call graph certainly would (it shows you how the various routines are organized in graph form, who calls who).

An AST for 100M lines would be absolute madness, a call graph just might work and I'm somewhat hoping that it turns out to be either a ton of generated or duplicated code.

I also wonder if the OP isn't out of his depth based on the question(s) asked.
https://github.com/openpgpjs/openpgpjs/blob/8a278662252cefd2...

Basically - generate a session key, encrypt the session key with for each recipient, at the end add the text of message encrypted with the session key.
A simpler solution might be

<img src="image.jpg" sizes="640,800,1024"/>

Then then the browser can choose the most appropriate size based on the screen size. The filenames would simply follow the convention, image-640.jpg, image-800.jpg etc. older browsers would simply use the original src.
For rewrite from scratch projects, I always start by identifying the use cases covered by the application. You don't need the code for that. Just run the application and identify what it is that it does. Then, work backwards. For each use case, use the existing code as specification of the use case behavior.

At 100 million lines, I'd suspect this is either an extremely large project, where a rewrite from scratch is inadvisable, or that there is a code generator at work. If it is the latter, you want to analyze the code generating source, not the end result.

Anyhow, generically, for a first contact with a new code base, code coverage tools are a good start, as is a call graph debug run of the project. It'll let you spot dead code as well as hot code (code being called at every run of the application). It'll highlight the important and non-important code parts, allowing you to read less code and get a grasp on the architecture.
that's because there is no engineering yet in software development. it is at the stage of middle ages production, a manufacture in its original sense.

client says 'i need a shoe' and developers start from scratch, everytime. it's as if you're tasked with buidling a house and first you design bricks, nails, ... (libraries, frameworks, languages).

the fact that shit like i18n to this day is not natively handled by the frameworks itself and does break software in 2014 is amazing. oh you entered a date with saudi locale and their business days do not match ours? oh shucks.

outside of large scale public infrastructure projects construction is entirely predictable and safe now.

it all starts with education and there is no software engineering one - engineering is all about known entities, process and safety margins. best practices, gathered for hundreds of years.

it also explains these massive successes with software right now - it is a very young industry, public utilities do neot exist yet. you can reap massive rewards by offering sewage removal in a better way (facebook).
Before you started working together, did you discus what would happen if things did not work well? Was your salary closer to that of the norm in Sweden, or that of the Portuguese? The difference is substantial. Did they think you where amazing at first and had too high an expectation? If you salary was closer to the Swedish norm then they may have thought that 2 weeks pay was a very substantial amount.

In Portugal, I believe, that unless you let people go before the trial period is over, then a whole lot of protective measures kick in.

For anybody looking to hire anybody abroad it is having the conversation about what happens when things don't go well.

It would be good to hear the Unbabel side of the story.

[Disclosure] Two of the founders are what I would call acquaintances of mine.
Luke Gorrie is one of the guys that started SLIME.

Most of us still program with a slow edit-compile-test loop and that makes me sad.

Everyone should try SLIME once (or at least a language with a great REPL).

http://www.lukego.com/

Andy Wingo writes about Guile in such a high-level that a layman can't make much of it (and thats ok).

I'm a fan of those guys...

See also: http://www.joelonsoftware.com/articles/fog0000000023.html
My conclusions are similar. My follower/following ratio has been stable at about 90/100 for a while now. Those that lose quality in my eyes or are no longer relevant to me (because I do not use their product anymore, etc.) I unfollow rigorously. Signal to noise ratio is one of the best out there IMHO, even with annoying promotions. I would really welcome any suggestions for something better. Only small thing I would improve is enabling people to answer on pms, even if they are not followed by the account that pmed them.
Your ISP may be holding your network speed hostage. Dark Clouds on the horizon
The thing is in a democracy that respects the rule of law, if you don't like an existing law, then you work to change it, which has never been Uber's strategy. Instead they just put out PR releases about how they're going to ignore some local law or regulation _again._
Dangerous Sunspot AR 2151 Aligning for Possible Cataclysmic Encounter
Releasing devo.ps 0.5.0
You don't know what the OP has been through it done. I'd avoid giving financial advice without knowing more about their situation.
100M lines of java code developed 'line-by-line' would make it one of the largest software projects that I've ever heard about.

Without telling you directly that you should disqualify yourself (after all I don't know you), if you don't have the knowledge about the tools employed to deal with medium sized projects (say up to 1M lines) how on earth will you deal with 100 times as much?
Source to UML: http://www.architexa.com/

Getting call paths: https://github.com/gousiosg/java-callgraph

Line coverage from instrumented jars: http://emma.sourceforge.net/

For this type of request, I'd push back and say, let's identify very small parts of this and begin rewriting those one at a time in an isolated project. Kind of an agile rewrite that will combine the legacy project with the slowly rewritten one. Use the tools to identify parts of the project than can be isolated. Build new interfaces or services to let the old project communicate with the new one. Get a history of the source repository to see where recent edits are and prioritize those to be rewritten first (presuming they want a rewrite to lower maintenance costs).
I've never used one but I understand there are plugins that load a particular URL in an IEframe. So there's no need for the user to know that they need to use IE for one thing and FF/Chrome for another.
Maybe he has to support a family or relatives - who are you to judge how he spends his hard earned money?
But it's not in your face the same way. Most people I know likely have no idea that they can view the source of a web page, or what the "source" of a web page might mean. There are far fewer "bread crumbs" leading people towards activities that expose them to the plumbing underneath the services they consume.
While cheerfully acknowledging there is controversy, I dispute your immediate dismissal of these reports. For other readers, then:

http://krebsonsecurity.com/2014/08/qa-on-the-reported-theft-...

https://www.schneier.com/blog/archives/2014/08/over_a_billio...

As to why it may be on-topic here: the activity reported by NameCheap in the OP lines up pretty well with the reports of a large collection of compromised accounts in the hands of a criminal group.
... the last lead dev couldn't understand the immeasurable benefits of model binding

So if the benefits can't be measured, you're suggesting that the front-end should be rewritten as a matter of pure faith in model binding?

(Honestly, that's my impression of how most people decide to adopt a JavaScript framework. "Yeah, we don't really understand the whole, and there are all these edge cases where you have to work against the framework, but overall it's immeasurably better because of philosophy and purity.")

I can't wait to have just one designer unencumbered, available and talented.

Good luck with that at a large corporation, I guess... :)
What are you actually trying to accomplish? "Analyze" is a broad term.
Can't speak about the M$oft world that I left long ago. However, as far as I understand, the issue is the OS, and many people simply prefer XP.

But Mac OS is no different. I've been on OS 10.5 and when Google stopped supporting Chrome there, it suddenly stopped working with Youtube. Luckily, I've found a hack and wrote a script launching Chrome without that disable setting. Which proves that there was absolutely no reason to forcefully disable what worked for users for many years.
Me too! I posted this a long time ago on here and was disappointed nobody checked it out. Makes me happy so many people are enjoying it.
Geeksnow Download to Jailbreak iOS 7.1 – 7.1.1iPhone jailbreak
Look into Structure101 (http://structure101.com/) to use static analysis to see the structure of the application.
nice links! :)
I just habe finished reading Petzold's Code after having it in my reading list for several years now. I expected something along the same lines as Code Complete and got something entirely different. And boy, I was in for a ride. I read it in two days straight. I think this book can offer an answer for us who were too late for the type of computer mentioned in the linked article. Has any of you experience in giving this book to people who don't have much to do with technology or even children?
> they were probably in the right for letting you go.

They violated his three month contract. They are not just morally wrong, but legally so as well.

If anything it sounds like they're pushing him around because they don't think he'll make the legal effort to get 1.5 months of pay.
The truth of it is that the startup life isn't for every engineer. Startup code is messy. You don't have architects who draw UMLs for you, you don't have the luxury of time to do things right. At a small startup everything is often falling apart at the seams. Morale can rise and crash, repeatedly, like a roller coaster. Small startups often have to visit the iron bank of technical debt and take out a huge loan to put in that feature a very important customer wants right that second. Tests are very important, but spending too much on them can waste precious time. You're always flying low to the ground. You're looking at the short term: days and weeks, not months and years. That said, technical debt sucks and should be avoided at all cost, but priorities aren't the same when you're a three or four person team with about a year's worth of runway.
Seriously, I thought this was what request headers were for. Have the goddamned browser request the most appropriate size, don't hardcode it into the markup.