Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 internet speed test! ×

Comment Re: This is silly (Score 1) 322

Wrong. ALSA supports software mixing with the dmix module. And as a bonus if you have a sound card which does hardware mixing you won't be forced to do software mixing like you are with pulseaudio.

Further, pulseaudio emulates ALSA - programs targeting ALSA can use pulseaudio seamlessly. So the benefit of targeting pulseaudio rather than ALSA is exactly nil.

Comment Re: Virtualization (Score 1) 140

Nah, you can use the modern.ie VMs for something like 30 days without phoning home to MS. And when that time limit is up you can just revert to the snapshot you took before booting for the first time (you did take a snapshot before booting for the first time, right? ;) ).

Personally, 30 days using windows sounds like 30 days too long. It was certainly long enough for me to do compatibility testing for Edge.

Comment Re:Virtualization (Score 2) 140

Yep, you run win10 in virtualbox on a linux host. You can then disable networking completely or use iptables to restrict access to only the things you need:

(copy-pasted from a thing I wrote a while back)

How to make a Windows 10 VM secure with a Linux host

Simple! Restrict all intarwebs access to everything that you don’t absolutely need:

1. run virtualbox with the vboxusers group:

sudo -g vboxusers virtualbox

2. allow access to the site you want:

sudo iptables -A OUTPUT -m owner --gid-owner vboxusers -d [ip address] -j ACCEPT

3. block everything else:

sudo iptables -A OUTPUT -m owner --gid-owner vboxusers -j DROP

4. In windows you’ll need to edit c:\windows\system32\drivers\etc\hosts to add an entry for the sites you want, since DNS won’t work. Or you could
look at allowing DNS with more iptables rules. But I wouldn’t.

If you follow these simple steps, you never have to worry about your testing VM reporting everything you do back to Microsoft.

For extra security, i recommend disconnecting the virtual network cable before you close the VM. That way if you accidentally start it without the vboxusers group it still won’t be able to access the internet.

If you’re running windows on bare metal in 2015 I have no advice for you, you deserve whatever happens.

Comment Re:tabs4lyf (Score 1) 300

generally requires that you all choose the same thing

Yep, and it's simple: tabs. And that way everyone can have their preferred indentation width and everything is being used as intended, and we can all live together in peace and harmony. It's really nice!

The 'same thing' when you use tabs also involves everyone choosing the same tab width.

No, it really doesn't.

There is no such parameter you need to agree on if you just enforce the use of spaces.

Wrong. With spaces you'll need to agree on indentation width. Either that or you'll end up with inconsistent indentation and because spaces are in use it'll be harder to automatically fix with something like :retab because the editor will have a hard time making sense of it. With tabs the width is irrelevant and can be up to each individual / device. The way nature intended.

I've worked on multi engineer projects for 25 years and every last one of those projects mandated no tabs

So what you're saying is that you've never actually worked with tabs on a multi-engineer project. You sound like someone who is super-qualified to tell me about the pitfalls of tabs in an environment like that.

If you are working on small things, then have fun with it, but at some point you have to work with others.

Yep, and in all the time I've been working on multi-engineer projects I've never had tabs cause a real problem. Sure, every now and then a junior dev might screw up a file because he doesn't understand the tab settings in his IDE, but you can easily revert the commit and teach him how tabs work, it's really not complicated. And this is also a problem you'll have if you use spaces. OTOH I have seen more than a few projects in "mandate spaces" shops with inconsistent indentation due to devs not changing their tab width (or, more fun, insisting on using their preferred tab width in defiance of the style guide).

Comment Re:tabs4lyf (Score 1) 300

I'll just copy-paste the part of my post you completely ignored while you were breaking the VCS:

Nope. They're actually more relevant now that we have such abundance of portable devices. I use tabs for 2 main reasons:
1. user preference: I might like a tab to equal 4 spaces but my colleague might like 8 or 42 or 32767 or 0. I don't care what he uses and vice-versa because we both just use tabs and configure our editors to the tab width we like.

As a subset of this reason, I can configure different tab widths on different devices. So when I'm coding on a device with a small screen, which I do fairly often, I can configure a smaller tab width (I use 2 rather than my regular 4) to get better mileage out of my limited screen real estate. Now I can move the file back and forth between my desktop and my portable and the tab width automatically adjusts itself.

Comment Re:One word (Score 1) 474

Nevertheless that "bloatness" only uses hard disk space.
In other words: you don't notice it at runtime.

Heh, apparently you never worked with the early versions of .net. We're talking multi-second (sometimes up to 10s, depending on what had previously been cached) disk-spamming delays before the splash screen would even show. Meanwhile the source delphi program we were porting (i.e it was the same program) showed the splash screen pretty much instantly and averaged maybe 2 seconds from launch to "program ready for input" - before we started the .net port we were talking about removing the splash screen from the delphi version because it would often only show for a fraction of a second. For the .net version we talked about using a delphi launcher just to show the splash screen so that it would show while .net loaded.

No. These bloated frameworks are regularly (not always, mind you, but often) loading unnecessary libraries into memory. Anything written in .net or java is effectively loading a VM into memory before it even begins to load the unnecessary libraries. And I've seen PHP frameworks which load thousands and thousands of files into memory for every request. This takes time and it might mean reading it off the disk, another bottleneck. It also has to parse all these files and whatnot. It's not insignificant. I don't remember the numbers offhand but I do recall one time when a colleague did some analysis and found that the biggest single delay in page load time was the time it took for the framework to parse/enumerate all the classes it was (needlessly) loading for every request - loading the framework was slower than connecting to the DB and doing the couple of queries we were doing for every page load .

You might not notice it at runtime on your high-specced development machine with 1 user, or in your staging environment with 3 users, but your users will sure-as-shit notice it when you get up to high volumes.

Yes, there is push-and-pull from management, but in my experience many/most managers are smart enough to make the right decision when you say to them "OK, so you and the marketing guys are predicting massive upscaling in the next 6 months. Do you want us to put in a bit of extra time getting it right now, or at least researching and coming up with a basic roadmap of some kind, or would you prefer to face the prospect of rebuilding from the ground up in a big hurry in 6 months, maybe needing to bring in expensive contractors to help meet the deadline?"

You can call it all the nice-sounding words you like but at the core we're talking about laziness. Half-pint HAL above is spot on when he says "It's laziness at the base of the tree". Too lazy to evaluate alternatives or to think ahead. Too lazy to learn something new. Too lazy and/or inexperienced to push back on management for proper engineering. Too lazy for anything which is actually challenging. We just want to be comfortable. What a great zeitgeist.

Most programmers would love to act different, but they are not allowed to do so.

(citation needed)

Don't misunderstand my position - bloated and easy-to-use stuff does have it's place. But that place is not in the same room as good engineering or performance.

Comment Re:One word (Score 2) 474

The frameworks themselves aren't bloated because of laziness (generally, per se), but the programs using these frameworks are bloated due to laziness.

e.g: You need to write a program which does 2 or 3 nontrivial but common tasks. You could write your own or research and use 2 or 3 lightweight and efficient libraries for those specific tasks, but that would be effort, so you use a framework you've worked with before which has the 2 or 3 things you need plus 50000 other features. And that's how you end up with a "hello world" program targeting .net and loading 100Mb or so of libraries into memory before it does anything.

However the framework people aren't blameless: they've been lazy by not providing a mechanism to only include the parts of the framework that you want: rather than saying 'include framework', I should have to say 'include core; include crypto; include database'. And when packaging my program there should be a way to only bundle the bits I need. But this isn't the way we do it, because:

  • * Making our framework do that is effort. And totes not sexy. I'd rather implement a new templating engine or a library for iThisMonthsFad(TM). Yeah, we already have one, but oh look - squirrel!
  • * If we don't include them in the core, we'll get a bunch of (lazy) people complaining about how much effort it is ("and soooo mid-late 2000s lol!") to type 'include database'. Or they'll use some other framework.
  • * Most programs use crypto and database anyway, right? So we should just include them in the core. It'll only add a megabyte or so to those lightweight programs which don't use it.

Comment Re:Tabs v. Spaces (Score 2) 300

But you can use a regular expression to replace tabs with spaces or the opposite way around?


user@host:~/code $ git log --stat

commit: 10048
user: tabluvr
message: replace idiotic spaces with tabs
files changes: 10000
lines changed: 1000000

commit: 10047
user: spaces4eva
message: fix broken tab formatting by replacing with spaces
files changes: 10000
lines changed: 1000000

commit: 10046
user: tabluvr
message: fix mangled indentation from previous commit
files changes: 10000
lines changed: 1000000

commit: 10045
user: spaces4eva
message: replace tabs with spaces
files changes: 10000
lines changed: 1000000

(more)

Comment Re:tabs4lyf (Score 1) 300

Aah, it's been a while since I had a good old tabs v spaces debate.

Spaces required by a coding standard are also easier to automate the checking of


if (preg_match('/^\ \ +/',$line)) {
        $ok = False;
        $errors[] = "Space indenting on line $linenumber of '$filename'. Check your editor's indentation settings.";
}

Yup, that was pretty complicated.

Tabs certainly saved a few bytes when saving a few bytes mattered, but these days they do not.

While this is true, file size has never been a primary reason why I use tabs.

The reasons for using tabs have gone away.

Nope. They're actually more relevant now that we have such abundance of portable devices. I use tabs for 2 main reasons:
1. user preference: I might like a tab to equal 4 spaces but my colleague might like 8 or 42 or 32767 or 0. I don't care what he uses and vice-versa because we both just use tabs and configure our editors to the tab width we like.

As a subset of this reason, I can configure different tab widths on different devices. So when I'm coding on a device with a small screen, which I do fairly often, I can configure a smaller tab width (I use 2 rather than my regular 4) to get better mileage out of my limited screen real estate. Now I can move the file back and forth between my desktop and my portable and the tab width automatically adjusts itself.

2. I'd rather press tab 3 times than space 8 times.

Editors these days are mostly very good at making spaces behave like tabs when editing.

Keyword: mostly. Not all. Even really primitive editors like windows notepad support tab properly.

Comment Re:questinable desktop market share data and linux (Score 5, Informative) 224

If you're interested, here are some suggestions :)

solid video editing,

Cinelerra. There are many others. Cinelerra isn't easy to use, but it's soooooo powerful. I've tried many video editors but I always find myself coming back so Cinelerra due to the power. LIVES also looks promising but I haven't had a chance to play with it yet. There are even a couple of proprietary ones.

screen recording,

There are about a hundred of these. Personally I use ffmpeg because it's so ubiquitous across my machines and can be quickly invoked from the command line (e.g even via SSH while I'm mid-game).

Keynote

I had to google this because I haven't used a mac since the days of OS 8. Libreoffice maybe? It has presentation software. But I haven't done a presentation in about 10 years so I'm not an authority on this one.

garage band

Ardour. LMMS. Rosegarden. Lots of others.

serious gaming

depends what you mean by "serious". If you're using a mac then you already can't do what I'd call "serious" gaming. But: Steam, GOG, humble store, twitch.io, many great FOSS games. Some of the more "serious" titles include Borderlands, the Civilization games, etc etc. There are about 1500 linux games on steam alone now.

Comment Re:Great (Score 2) 225

I think it's more than the tech-minded userbase is about 0.1% of the total population of web browsing users.

This is true, but what people don't seem to realise is that tech-minded userbase is about 100% of the remaining population of firefox users. All the non-tech-minded users switched to chrome ages ago because it has the shiny and unconfigurable chrome-a-like interface they love. As an added bonus, it's it's much faster and doesn't require petabytes of RAM to open more than three tabs.

It seems obvious to me that Mozilla has decided to go for the people who like chrome but just think it's just not slow or resource-intensive enough. Seems like a limited market to me.

In other words, as others have said, Mozilla is deprecating Firefox. It was fun while it lasted. Sounds like it's time to check out Pale Moon.

Slashdot Top Deals

Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Working...