Older blog entries for dmarti (starting at number 501)

Software development links, again

Making the rounds...

Git branch / merge: not as easy as advertised

Cray-zy progress! We have boot!

3 things I set on new servers | Simon Holywell - Web developer in Brighton

Components Becoming Major Source Of CVEs (via Wild Webmink)

A short introduction to TPMs (via a technology job is no excuse)

git? tig! (via Hacker News Daily)

coolwanglu/pdf2htmlEX · GitHub (via One Thing Well)

HTTP as Imagined versus HTTP as Found

A Saudi Arabia Telecom's Surveillance Pitch (via Center for Democracy & Technology)

Git prompt: Tell me more

The Go Programming Language Blog: Go 1.1 is released (via LWN.net and The Promised Planet)

Why Go? (via dzone.com: latest front page)

PostgreSQL New Development Priorities: Scale It Now

Your Jabber ID as your Persona identity

Alternatives To Git Submodule: Git Subtree

Volatile and Decentralized: What I wish systems researchers would work on (via Journal of a Programmer)

What Is Persona?

Francois Marier: Three wrappers to run commands without impacting the rest of the system

pybit 1.0.0 - distributed, scalable builds direct from VCS or archives

Always define the language and the direction of your HTML documents, part 02: Backwards English

Prefetching resources to prime the browser cache for the next page

Linux System Programming, 2ed (via Techrights)

Adobe Typekit improves the Rosario typeface family

New Security Feature in Fedora 19 Part 3: Hard Link/Soft Link Protection (via Techrights)

Elevator pitch for Haskell short enough for an elevator ride

Meet the cloud that will keep you warm at night (via Advogato blog for pedro)

Vermont Is Mad as Hell at Patent Trolls and Is Not Going to Take It Anymore (via LWN.net)

Improving the security of your SSH private key files — Martin Kleppmann’s blog (via Hacker News Daily)

About NixOS (via Hacker News Daily)

Don’t abandon XMPP, your loyal communications friend

Stop Using Arial & Helvetica (via daniel g. siegel)

Creating Shazam in Java | Redcode (via dzone.com: latest front page)

Deploying a Web app in 14 days, No HTML.

Syndicated 2013-05-29 13:56:48 from Don Marti

QoTD: Bob Hoffman

Online advertising was supposed to be interactive. It was supposed to rescue us from having to force people into looking at our ads. Consumers were going to want to interact with us, they were going to want to have conversations with marketers, they were going to want to have relationships with brands.
It was all fantasies and delusions based on naive interpretations of consumer behavior by people who had a whole lot of ideological commitment to the web, and very little experience with real world marketing.

Bob Hoffman, Ad Contrarian

Syndicated 2013-05-24 14:17:52 from Don Marti

How can I break the Facebook habit?

I understand all those I'm quitting social site posts, really. The open web is much more fun, useful, and promising in the long run than hanging out on whatever current site has taken the place of AOL, CompuServe, and MySpace.

But, really, just quitting a site? Might be harder than it sounds. Habits are hard to break, so here's a list of things to help add some motivation to social network quitteration.

  • Awkward friending. Every week or so, connect with a person who isn't really your friend, but would find it difficult to turn you down. Be a creepy ex-coworker. Don't spam, though.

  • Social marketing FAIL Find the most awful "engaged brands" in the ads on social sites and follow or friend them. Keep yourself from being tempted to return to a social site by knowing that your feed there will be full of FREE WEBINARs.

  • Social marketing double FAIL Befriend the most heinous companies and astroturf organizations you can find. The "American Sugar Alliance" and other groups looking for corporate welfare usually do it for me.

  • Klouchebaggery. Do a search for "social media marketing" and do the first tip you find. These change all the time, so be creative.

  • Open the RSS spigot. Set up an account on a site such as dlvr.it to automate posting your blog's feed to the social site. Good for breaking a social networking habit. (If you're all like, I just need to get on and post my one blog link, and before you know it you've been on for an hour, this is better. And yes, dlvr.it works for me.)

  • It's always Hug a Spammer Week. Someone named Melissa wrote to tell me, I like your picture and you look cute n awesome. Well, Melissa, I think you're cute n awesome too. Friend request accepted, and welcome to my social graph.

Bonus link: Silicon Valley’s Problem by Catherine Bracy.

Syndicated 2013-05-24 06:20:05 from Don Marti

Can I uninstall Java?

The answer is almost certainly yes—unless you're a Java programmer. It can't hurt to remove it if you don't need it, and can probably help.

I've been running without Java on the desktop for years. The only thing that I've needed to put it back for has been with one extremely "legacy" behind-the-firewall application.

There are some old corporate applications that still depend on Java in the browser. If you're in the situation of having to use one of those, don't mess with the software installed on your company system, because the IT Department probably has a required setup that you're supposed to use, and you can just use that. (What are you reading random blogs for? Call your company help desk if you have questions about that machine!)

For your own computers, the instructions for removing Java depend on the OS. On Linux, you can use the regular system package manager to remove Java. On other platforms you can read How do I uninstall Java on my Windows computer? and How to disable Java on your Mac.

Syndicated 2013-05-24 06:02:51 from Don Marti

What's up with the Q and A posts?

Just realized that I have gotten into the bad habit of writing stuff on a web questions and answers site instead of here. (cue kid from The Simpsons saying HA HA!)

Saving some, deleting the rest.

Syndicated 2013-05-21 03:27:46 from Don Marti

What are the benefits of participating in open source?

Depending on the project and your role in it, you might get lots of different benefits.

  • Learn new languages and tools to keep your skill set current.

  • Practice techniques that you might not be able to justify putting time into in a corporate environment. (For example, coding for extreme security or efficiency or minimum power and memory usage.)

  • Make connections with people outside your company.

  • Signal your technical competence and ability to work with others. Often, willingness to put time into open source depends on the job market for high-skill non-management programmers. The more that the hiring process depends on formal education and certification, and the less input it has from peers, the less incentive that a programmer has to Signal his or her skill using open source.

  • Talk with real users about bugs and features without a company filter, to get a better understanding of a software problem space.

Syndicated 2013-05-21 03:19:26 from Don Marti

How does AIA affect open source?

The America Invents Act increases the benefits of participating in open source in two ways.

First of all, defensive publication becomes a much more powerful tool. The First To Blog rule means that a blog post or other publication is more likely to count as prior art, since a patent applicant can't claim an earlier invention date to beat it. Although it is possible to do defensive publication of just documents while keeping the code itself secret, it's less administrative overhead to just open source as much as possible.

AIA also provides for a challenge system, which will be difficult for most companies to use independently. Industry organizations will probably have a new role in challenging patents that attack their members. The EFF is already doing this for 3D printing patents.

More details: The America Invents Act: Fighting Patent Trolls With "Prior Art"

Syndicated 2013-05-21 03:12:49 from Don Marti

What does ssh -t do?

Using the -t option allocates a pseudo-terminal for ssh. This comes in handy when you want to "double ssh".

Let's say you can reach the host bastion and bastion can reach internal but you can't reach internal. No problem, right? You can log into internal like this:

  ssh bastion ssh internal

No joy: "Pseudo-terminal will not be allocated because stdin is not a terminal."

Now try that again with -t...

  ssh -t bastion ssh internal

And it works.

Syndicated 2013-05-21 03:01:07 from Don Marti

What are the differences between open-source licenses?

Open-source licenses require different degrees of reciprocity from a licensee. In this list, each license category includes the same basic terms as the previous category. I'll leave out the corporate vanity licenses, since they aren't typically adopted by new projects.

No reciprocity: new BSD, MIT. These licenses simply grant permission to copy the software, and disclaim warranty.

Patent reciprocity: Apache. In order to redistribute software under this license, a licensee must offer a license to any of the licensee's patents that apply.

Partial copyright reciprocity: Mozilla Public License, Lesser GPL. A licensee must provide source code for changes to the original work, but can still add code that is somehow kept distinct from the original, and keep it proprietary.

Broad copyright reciprocity: GPL (all versions). If a licensee distributes a modified version that constitutes a "derivative work" for purposes of copyright law, that derivative work must be available in source code form.

Protections from complex legal schemes: GPLv3. Some patent trolling schemes and code signing systems have the effect of working around the reciprocity requirements of the GPL. This later version of the license closes some loopholes.

SaaS reciprocity: Affero GPL. The only commonly used license that requires a licensee to redistribute source even if the code is not actually redistributed. Offering AGPL-licensed software for use over a network also triggers the requirement to redistribute source.

Syndicated 2013-05-21 02:51:50 from Don Marti

Why did Linux succeed on servers?

Unlike the RISC Unix boxes from back in the day, a typical PC-architecture server is a Purchasing Manager's grab bag of cheap parts available on attractive terms. As an OS developer, you don't know what weird mix of hardware you're going to have to support, even if you're part of the OS team at the hardware vendor. ("Hey, it turns out that the new server is going to have RatBag 2000 Ethernet cards after all. That's not a problem, it it?") This situation was even worse when more parts were on PCI cards, not the motherboard.

So in order to make an OS that will run on all the bastard spawn x86 servers out there, you need to have either (1) the market power to make the hardware vendors code and test the drivers for you to support a stable driver ABI, as Microsoft did for Windows NT, or (2) the hacker chutzpah to break incompatible drivers frequently, so that in order to work at all, a driver has to "live in the tree" and be maintained as part of the OS. This is the route that Linux chose.

So the secret to Linux's success on servers is here: Stable API Nonsense

Syndicated 2013-05-21 02:45:13 from Don Marti

492 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!