×

Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Comments

top

Economists Say Newest AI Technology Destroys More Jobs Than It Creates

DuckDodgers Re: Luddites (568 comments)

I'm a software developer, and I had a pretty easy time with my last job search too. He's not. But he applied in about twenty states and was willing to take a big pay cut from his previous job to get back to work. The market's just harsher than it was 20 years ago - more competition for fewer good jobs.

13 hours ago
top

Economists Say Newest AI Technology Destroys More Jobs Than It Creates

DuckDodgers Re:Luddites (568 comments)

Thanks for responding to his trollish comment on immigrants. I have a graduate degree and a six figure income, but most of my caucasian ancestors arrived on American shores illiterate and penniless and worked for coal barons.

The whole idea that there's mass laziness to blame is a convenient excuse for cutting social services. There are millions of people who would trade a limb for a $12 per hour job and medical benefits, and who are tireless and driven in their work habits. The jobs just aren't there. My dad just got back to work after six months unemployed. He kept a spreadsheet of all of the places he applied at and where he was in the interview process. He got into the low 400s before he got a job offer - which he took.

yesterday
top

Kawa 2.0 Supports Scheme R7RS

DuckDodgers Re: ..that runs on the Java platform. (62 comments)

Kawa has optional static types? Cool. By the way - thanks for all of your work on Kawa, it looks really neat. I'm sorry I hadn't heard about it sooner.

2 days ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:So many goddamn layers. (149 comments)

There's overlap between containers and running a different user, but unlike running under a different user, a container:
1. Can't see what applications are installed on the machine in the global /bin and other path locations
2. Can have the amount of RAM, disk space, and CPU they can use capped.
3. Can't see much other aspects of the host - like a list of active sockets, how much memory is used, etc...

If you just want to run your own applications in an isolated fashion as an extra layer of security, I think using separate user accounts is probably good enough. But I'm not a professional in security, I'm just a dangerous novice.

2 days ago
top

Microsoft To Open Source Cloud Framework Behind Halo 4 Services

DuckDodgers Re:please keep closed! (50 comments)

But unless you're doing something that's waiting for disk input and output or network input and output, the difference isn't 4%. The micro-benchmarks at the Great Computer Language Shootout page are a simple starting point. For Java vs. C++, for some reason the chart (section 2) doesn't show memory difference correctly. The measurements section (section 3) does - Java is about 2x slower than C++ in most of the benchmarks, but only comes within 2x of C++ for memory usage in a few places, in most other micro benchmarks the memory difference is higher, even 20 times higher. ( http://benchmarksgame.alioth.d... )

2 days ago
top

Kawa 2.0 Supports Scheme R7RS

DuckDodgers Re: ..that runs on the Java platform. (62 comments)

I'm guessing what you really mean with the question is, "Does this bring anything to the table that I might care about that Groovy doesn't?"

Both languages have dynamic typing. Both have a REPL. Depending upon what task you're trying to accomplish, both will let you get it done with far less syntactic overhead than Java without sacrificing readability (i.e. no crazy implicit variables or bizarre syntax shortcuts). Groovy has optional static types, while Scheme does not out of the box. On the other hand, as a member of the Lisp family Scheme has pretty easy syntax to understand, and more feature-rich macros than any non-Lisp language.

Me, I'm transitioning into a Lisp weenie as I get older, though I'm not competent enough with any dialect of Lisp to start growing my neckbeard. I like Groovy and Scheme, so I don't think you can go wrong either way. As a plus, Groovy might be an easier sell to people comfortable with Java. Getting people accustomed to C-language family syntax to try Lisp family syntax can be difficult.

2 days ago
top

Microsoft To Open Source Cloud Framework Behind Halo 4 Services

DuckDodgers Re:please keep closed! (50 comments)

The problem is, most of us are crappy programmers for a few years, or even more than a decade, before we're decent software developers. So our pain is inevitable - if you stop the underqualified novices from doing work, you've saved yourself some pain but you've reduced the number of developers of the future.

The ideal solution, as far as I can tell, is more mentorship and closer supervision of novices. You let the same learners write the same garbage code, but then someone who knows what they're doing and is specifically assigned to spend half of their time watching the novices will review and reject most of their work - while providing an explanation as to why it was rejected and what should be done differently.

But in reality, most companies are in such a rush to get the next release to market that they let the novices work unsupervised and put the senior developers at work in other areas. Then two months or six months or three years later the novices have moved on, and the senior developers are too busy dealing with technical debt from the previous novices to work on new features or shepherd the latest round of novices.

But if I had been blocked from writing code when my code was crap - and my code was crap for a long time - I'd never have reached the point where I'm at today. I'm no genius, I'm no industry leader, but I can recognize most of the errors I made five and ten years ago.

2 days ago
top

Kawa 2.0 Supports Scheme R7RS

DuckDodgers Re:..that runs on the Java platform. (62 comments)

Thanks for the information. It's odd - and sad, I guess - that I heard of Clojure before I heard of Kawa (or Armed Bear Common Lisp, which as you probably already known is a Common Lisp implementation that runs on the JVM).

I have golden handcuffs at my current job, I work with some of the nicest, most professional, and especially most intelligent colleagues and managers I've had the privilege to encounter. So I'm not looking to leave soon for any reason. But most of my work is in vanilla Java, and I'm sick of it.

3 days ago
top

Kawa 2.0 Supports Scheme R7RS

DuckDodgers Re:How does it compare to Clojure? (62 comments)

I don't care, really - if Clojure gets more adoption or Kawa gets more adoption or both get more adoption, it's a win. Anything to make the world move towards the Lisp family is a win.

4 days ago
top

Kawa 2.0 Supports Scheme R7RS

DuckDodgers Re:..that runs on the Java platform. (62 comments)

But that's the whole point. My employer does everything on the JVM for our production websites and testing. I can't get them to introduce PHP, Basic, Pascal, Ada, Perl, Haskell, OCaml, or Fortran for anything. I also can't get them to seriously consider CPython, native Ruby, SBCL (Lisp), or DrScheme.

But if I want to introduce JRuby, Jython, Scala, Groovy, Clojure, or Javascript (available in the JVM via Rhino in older versions of Java and via Nashorn in Java 7), I can get consideration.

So I suspect Kawa is an attempt to build a Scheme developers can use at work, for production, without convincing the CTO to scrap the existing JVM-based technology stack and starting over from square one. I wish them good luck. I haven't looked at Kawa yet, I'm still hoping to get my boss to look at Clojure. :)

4 days ago
top

Ford Ditches Microsoft Partnership On Sync, Goes With QNX

DuckDodgers Re:Great. More touchscreens. (232 comments)

I have a 2010 Ford with the non-touch screen Sync, because I didn't want the touch screen. Most of the time Sync works fine - once in a while it becomes unresponsive for a few minutes.

5 days ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:This actually sounds pretty cool. (149 comments)

You're missing all of the other aspects and focusing on static linking. Okay, that's not fair - you're also correct that puppet or chef should be used instead of just copying image files around. A container also gets you:
1. Isolating contained software from the rest of the operating system, so you can host third party applications without worrying about them inspecting their host environment.
2. Limited contained software's ability to use host resources - disk space, CPU, memory, network IO, disk IO. You can do all of those same things using Linux kernel cgroups, but that's the whole point of containers - they are built on cgroups.
3. Reduce the amount of coordination required between your developers and your sysadmins.

You're right that developers create dependency hell left and right. But a software development shop exists to ship product that's good enough for the customers to use. You have to weigh library standardization - or standardization on anything - with the benefits and drawbacks it brings against the costs in developer speed. Developers tend to over value the newest thing, and that's a path to headaches. But if you lock yourself into a specific version of something, at some point the productivity you're missing will start costing you more than you gain with your simpler infrastructure.

about a week ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:I Don't Get It (149 comments)

Docker et al are mostly wrappers for cgroups and selinux. The static linking tradeoff is not the big deal. The big deal is that you get most of the benefits of whole operating system virtualization with lower overhead. You can set strict limits on the amount of disk space, disk IO, network bandwidth, memory, and CPU resources the container can use, and block the container from knowing anything about the host operating system, and block the container from knowing about any other containers on the machine. And you can copy the container and all of its specific restrictions to other servers in a relatively straightforward way. You can do all of those same things for a virtual machine, but your virtual machine also contains a virtual kernel and the extra disk space required for an operating system.

about a week ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:So many goddamn layers. (149 comments)

Ideally, you have two layers:
0. Host operating system to run the bare hardware.
1. Containers to isolate running contained applications from each other, and govern their resource access.
The application runs inside the container, without any virtual anything.

With Java, in theory you could run Java on the host operating system under different user accounts. So you have the host operating system at level 0 and the JVMs running at level 1, and you use different user accounts to set different JAVA_HOMEs and give different JRE versions and Java's own security configuration features to restrict resource use (in addition to Java's own application security configurations, there's the jcgroup library https://github.com/haosdent/jc... to restrict CPU utilization, etc...)

But in practice, the JVM has had some many security vulnerability disclosures over the past few years that I wouldn't trust it. If I were to use the JVM, I would go for a three tier application: 0. host, 1. containers, 2. JVM inside containers.

about a week ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:This actually sounds pretty cool. (149 comments)

I wrote this elsewhere, but to repeat: the advantage of Docker and similar containers isn't static linking. The advantage is that you get most of the important benefits of whole operating system virtualization with much lower overhead in terms of disk space and resource use. Instead of building one 5GB CentOS or Ubuntu VM that runs a copy of your web server software and pushing that all over your network and having every running instance hold 100MB of RAM just for a virtual kernel in addition to the web server itself, you build a 500MB Apache/Nginx/Whatever Docker container with the same web server and push it everywhere, and its memory and CPU overhead on top of the web server is tiny. And since, yes, it uses statically linked libraries, it doesn't matter if the host OS has a different version of libevent as long as it has a compatible version of Docker or lmctfy or whatever container technology you use.

Now obviously if you wanted to make the virtualized environment available to a remote user as a remote desktop, or for remote login directly into the virtual environment with ssh for configuration changes, you want a full virtualized operating system. In that case you need VirtualBox, KVM, Xen, VMware, Hyper-V, etc... but for deploying identical instances of a configured application to a handful or even hundreds of machines with the smallest feasible overhead and a nice security layer to prevent most breaches of the hosted application from leaking into the host operating system, a container is great. If you look up how Docker and lmctfy work, they are mostly an API wrapper around the Linux kernel cgroup and selinux features for configurable restriction of a process's ability to utilize CPU, RAM, and IO.

about a week ago
top

Ubuntu Gets Container-Friendly "Snappy" Core

DuckDodgers Re:This actually sounds pretty cool. (149 comments)

The reason to use containers is isolation - the thing inside the container has a rigidly defined and strictly controlled limit to what external resources it can access and how much computing resources it can see and use: how many CPU cores and how much of each core it can utilize, disk space and rate of disk input and output, network resources and rate of network input and output, RAM, etc...

So yes, you lose the advantage of statically linked libraries. But it gives you most of the important advantages of operating system virtualization with less overhead since there's no virtual kernel to handle. For a big chunk of the people using VMware, Virtualbox, KVM (Kernel Virtual Machine, not Keyboard-Video-Mouse), etc... in production, these containers are what they really wanted but didn't have available in a mature form six or ten years ago.

I don't see how there are any GPL/LGPL issues. Compiling the code for compiled languages is separate from sticking it into a container, so I don't see how Docker, or anything like Docker, would let a company escape the need for GPL and LGPL license compliance.

about a week ago
top

Ask Slashdot: Making a 'Wife Friendly' Gaming PC?

DuckDodgers Re:Don't fight it (720 comments)

Good point, but it's possible that - if you'll forgive me for stereotyping - she wants him to get rid of the gaming PC so that they can go pick out drapes and matching color bedding. In that case, I'd prefer to game too.

about two weeks ago
top

Ask Slashdot: Making a 'Wife Friendly' Gaming PC?

DuckDodgers Re:Don't fight it (720 comments)

Cool. Thanks for the information. I tried it with Minecraft and it failed badly.

about two weeks ago
top

Ask Slashdot: Making a 'Wife Friendly' Gaming PC?

DuckDodgers Re:Spare Room (720 comments)

Both are bad, and arguably sitting around debating which is worse is a waste of time when both are a problem. But historically, for most of human history women were treated as second class citizens or slaves. If the pendulum of balance of power in a typical heterosexual relationship swings a little too far towards the women for a few generations before it finds a nice fair mid-point, that doesn't bother me as much as the thought of having the pendulum stay where it has been since we were bashing each other with sticks and living in caves.

about two weeks ago

Submissions

top

Potential database breakthrough

DuckDodgers DuckDodgers writes  |  more than 5 years ago

DuckDodgers writes "The database company Ingres announced a partnership with research firm Vectorwise to bring to market an efficiency breakthrough in databases. They assert that most complex queries run by a database engine can run over 100 times slower than a C++ program hand coded to get the same information from the files on disk. They're working on a database engine that closes the gap dramatically by using several methods, like batching tuples for processing in sizes that fit in the processor on-chip cache, other methods for minimizing back and forth between RAM and processor cache, and structuring the data to be processed in a way to make best use of CPU branch prediction. Their example in the whitepaper (unfortunately, it requires registration) is a moderate complexity aggregate query against 6 million rows of data that takes 16 seconds in the regular database engine, 0.04 seconds with a C++ application built to do the same thing, and about 0.2 seconds with their optimized database engine. The press release is here, and some of the technical details are discussed on this blog (no, not mine): Next Big Future. Is this impossible, impractical, or well within the realm of possibility? If it can be done, why haven't we seen it before?"

Journals

DuckDodgers has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?