I share your frustration. However, even if it "just takes a recompile", you also need to test it under that target platform (so you also need at least one of your developers somewhat familiar with it; you need to install it on some test machine if none of the developers have it installed; etc.), fix any issues etc. - that takes extra resources and that raises the cost of development and then you need to take a look at whether the returns justify that. Anyone who used Java apps doing non-trivial audio I/O on Linux can realize that even Java is not a silver bullet in trouble-free total portability in all aspects.
An ideal solution from cost efficiency standpoint (if you decide that making it available on Linux on your own is not worth the investment) would be just making the app opensource, then others can port it to Linux if they really care. Heck, you can give them a free pass if they do.
Why not just buy a motherboard with onboard GPU? Plenty of these around, though the offers are diminishing with the onset of APU generation of CPUs (which you probably don't really want on a server, modulo special cases). I think you are paying around $9 for the graphics card then.
If you want gtk, you also have two more options, Cinnamon and MATE. I actually really fell in love with MATE (GNOME2 continued and being slowly rewritten, optimized and decrapped), it's more polished *and* leaner + faster than e.g. XFCE.
In Czech Republic, a speed limit given by a sign is automatically cancelled at the next intersection (I'm not sure about other countries, I know Austria doesn't work that way), but i. This is another interesting AI problem, since even for the driver it is sometimes difficult to determine what's a real intersection and what's just a utility road / building entrance joining the main road.
The fact that the article is anti-EU FUD nonwithstanding, I agree that the only way for this to work is to just make it warn (e.g. continuous beeping and/or indicator flashing) and making it GPS and map based; I think many countries already have most of the information in easy to offer form, here I think even temporary speed limits have to be officially approved by the local police department and whatnot, maintaining this data in machine-readable form shouldn't be such a hassle if it's not done already anyway.
kriston was complaining about having to carry his laptop around "open like a pizza box". I'm not saying it's fine his laptop cannot suspend, but that it's silly to always keep your laptop open even if so [1]. I guess it was meant just as a figure of speech, but I don't think it works very well.;-)
It's all a little puzzling for me. If the device doesn't work like you'd like it to, either adapt to it if it's a minor thing, or *get rid of the thing* and get a properly working device (by replacing either hardware of software). If you want to keep running Linux, it's not like more than just a small minority of hardware is having trouble (especially if you spend two minutes googling before buying the thing). Return your laptop, sell it on ebay, pass it on to friends/family (or swap with them!) or whatever and get a properly working one?
Perhaps kriston had, but I've seen way too many people going through absurd hassles with their devices, suffering almost ostentiously - both on Linux and Windows. They'll just complain on internet forums and hang on to their device because they like the socket layout on its right side or whatever.
[1] A possible exception may be broken display suspend, which may be unavoidable on lid close on some laptops. See the second paragraph in that case.
Not sure why would you fear for never having a working mouse until the next reboot, but besides that, may I kindly suggest configuring your laptop not to go to sleep when the lid closes? It really doesn't have to do that if you don't wish it to.
Simple microprocessors like this have an advantage of having large gates and therefore being more resistant to cosmic radiation. I'm actually pretty curious about how big the effect of this would be when jumping up to ARM Cortex-M3 and then to ARM11. Surely state-of-art cosmic technology uses more advanced CPUs than ATMega328, is it fine to just pop it in a better case, or is the effect not so strong in practice?
Regardless, AIUI, with something like ATMega328, you don't really need to worry much, maybe have a simple failover. With ARM11 running a big OS like Linux, the situation could be much more complicated.
Lytro's basic building part is an array of microlens, a rather expensive piece of hardware that also limits effective resolution dramatically. This is why the title here touts "single lens".
The array of microlens captures the light field, something that's used for computational focus in Lytro. However, capturing the lightfield in a microscopic imagery of translucent sample does allow you to post-fact adjust the viewing angle of the sample (to some degree), therefore do 3D imagery in microscopic scales.
Anyone knows where to access technical information about the actual study, or how did they conducted the IQ test? ConceptNet is just a database + a library with some NLP parsing tools and database (the concept hypergraph) accessors, but I wonder how did they actually conducted the test as that doesn't seem to be a trivial extension of the available tools...
You should clarify what are you after. Do you just need a place where to push + pull, or are you looking at something akin to the GitHub experience?
Aside of GitLab, also consider Gitorious. I'm not sure about how easy it would be to get GNU Savannah up and running, and Git is only a small part of what it does.
You can also find GitHub Enterprise interesting if you are ready to pay; I assume(!) it will call home to verify the licence though so making sure no stuff is sent to NSA may be tricky.;-) Upside is minimal setup hassles for you.
You may also find the Girocco platform interesting (CGIs for project index + project management web interface, and gitweb; much smaller than the above-mentioned ones so you have a good chance to actually review all the code for yourself, but it's also more raw experience; disclaimer: I'm the main author of Girocco).
If you are fine with a simpler experience, you can simply use git-daemon (or purely SSH and git installed on the server), possibly gitolite to easily manage user access and gitweb/cgit for a web interface - there's no special magic, the Git repositories are just directories on the server.
I agree. For me, the ratio is slightly less than 1:1 for repeat lectures from the last year that I decided not to change much (maybe just reordered stuff). But for new classes, I can easily spend at least the whole evening (let's say 4-6 hours) per class preparing it; to be comfortable in the subject to answer most questions, decide what to focus on, digress based on the students' interest, I need to be sharp on the material so that I get to tell about 1/3 of everything I re-study for the lecture (proofs I won't cover, historical backgrounds, alternative approaches, etc. - folks like me who have atrocious memory lose here as for me it's not enough to be sharp on the details if I've read it just 1 or 2 times when I was just curious/studying the subject in the past); add to that preparing homework or exercises to make sure they actually make sense, build on the new knowledge smoothly and can be solved with just the material we have covered, and so on. As I've gained more experience I often even don't bother with a test lecture anymore so that's not counted in (though my lectures would improve if I could convince myself to reserve enough time for one).
So, you will end up with just about 8 hours per week spent just giving a single weekly class. This semester, I went easier on myself and decided to introduce no new classes (aside of one topic I researched during the xmas break), so I just spend the morning sharpening up for my two classes in the afternoon on the day I teach, and I even get around to do some advising for my students on that day if lucky - happy me.
(i) Builtins are used only when gcc wants to inline their code. This may not always be the case. Their usage may (I think) also depend on the nature of the arguments (e.g., are they constant? is their length known? etc.). And there are other weird cases (passing memcpy() function pointer or whatever). Even if you don't explicitly disable builtins, your program may call these functions.
(ii) This specific part of the announcement concerns ifunc-related optimizations. This means that the version appropriate (most optimized) for the processor the program is _currently running on_ is chosen at runtime. In x86 world, at runtime (during the first call to the function), a SSE4-enabled function may be chosen over default function if the processor supports SSE4, for example. And you have just a single binary of your program to handle.
Ok, I agree that it is plausible you can get lost with Apple Maps without being stupid at all. But isn't it silly to drive these distances through the wilderness without having a sixpack of 1.5L water bottles and a canister with extra fuel in the trunk? (Or at least one of these.)
One would assume that "world modification" (monad; in this case, visual I/O) does not fit the restriction "only ever accesses read-only data, or modifies local data that is unaccessible from anywhere else" and as soon as you are showing something to the user, that blocks the auto-threading.
Then again, if you are drawing map tiles, the order you draw them in doesn't matter - so this goes to show that in some situations, there's no way around the programmer actually having to stop, think and declare whether the program's contract allows it to do some user-visible operation in parallel.
Yes. I think key in my good experience with RPi is that for all of them, I'm using the same type of uUSB PSU. It is actually a rather cheap OEM part, but it works reliably and I think many of the experienced problems with RPi stem from bad PSUs.
About 30 boards (ordered from European Farnell, IIRC all made in UK) went through my hands in the past few months; I had no problem with any of them.
I would be the first to point out some dubious design choices and other not-so-good things about the Raspberry Pi, but myself I can't complain about defective items at all.
That seems similar to mourning the downfall of mainframes and high-power UNIX workstations and the rise of the PCs, and that people start using high level languages before taking the time to learn assembler and memory timings or whatever first.
In an ideal world, all competent programmers would be well versed in all the important aspects of programming and hardware. It's similar with MCU and EE projects. In real world, to get shit done, there are other important factors other than technical competency and lowering the playing field enables hacking electronics for people with little or no experience, only spotty technical understanding of what's going on at all levels, but with familiarity with other fields (e.g. gardening), enthusiasm, determination to pull the project through, documentation skills or whatever. The new projects aren't as perfect technically, but there's heck more of them and they are making ways to yet uncharted areas (and budgets).
Seriously, you must be doing something wrong. I run my personal mail server where I receive 1100 mails per day on average, of which about 200 are legitimate and 900 are spam. Number of false negatives going to my mailbox is on average 1.1 per day. The *only* tool I use for spam filtering is dspam, with pretty much the default settings, trained on my past mails. It's running like this for about 8 years now, in the past non-trivial amount of false positives (maybe 1 per week) was an issue but with newer versions of dspam this is not a problem for me anymore, there are no false positives. No greylisting or whatever, just plain postfix + dspam. No spam.
At our university department, the mail traffic is much higher, as well as the number of users, though usually the amount of spam per user is smaller. There, we also include ClamAV and SpamAssassin in the mail pipeline (+ dspam with most people opting for shared database, and auto-training from few spam trap emails). It's slightly more complicated, but again fairly straightforward to set up as we use no special configuration, just the defaults. The average amount of false negatives (spams going through) are much under 1 per day. (Usually none, but few times a month, few yet unknown spams go through in a burst.)
Greylisting is so inconvenient when using email-based registration etc., just don't use it, there's no need. And most of the blacklists are run in a very shady way and with too many legitimate sites ending up on them, so avoid them too. Just use dspam, throw in ClamAV and SpamAssassin to improve things if you are willing to spend few more minutes on it.
Basic automata theory is essential to software engineering - understanding capabilities of various computation models (what all can you do with a regex?), writing parsers and compilers, etc. Understanding basic graph theory (shortest paths, minimum spanning trees, bipartite graphs, maximum flows, coloring) is very important all across the field, from optimization to game development - sure it's well-known algorithms, but they are well-known only if you study and grok them. In the end, these really are the foundations of computer science and algorithmic thinking, while calculus etc. get useful when you get involved with real-world applications or simulations (or machine learning).
I'd agree that number theory is not that useful outside of crypto and anything regarding mathematical logic feels extremely old-fashioned in current AI research.
I share your frustration. However, even if it "just takes a recompile", you also need to test it under that target platform (so you also need at least one of your developers somewhat familiar with it; you need to install it on some test machine if none of the developers have it installed; etc.), fix any issues etc. - that takes extra resources and that raises the cost of development and then you need to take a look at whether the returns justify that. Anyone who used Java apps doing non-trivial audio I/O on Linux can realize that even Java is not a silver bullet in trouble-free total portability in all aspects.
An ideal solution from cost efficiency standpoint (if you decide that making it available on Linux on your own is not worth the investment) would be just making the app opensource, then others can port it to Linux if they really care. Heck, you can give them a free pass if they do.
It's opensource and regularly audited?
So what do you think the doctor works from now?
Nope. Mesa is a generic OpenGL API implementation that can use multiple backends - either software rendering or Gallium / DRI.
Why not just buy a motherboard with onboard GPU? Plenty of these around, though the offers are diminishing with the onset of APU generation of CPUs (which you probably don't really want on a server, modulo special cases). I think you are paying around $9 for the graphics card then.
If you want gtk, you also have two more options, Cinnamon and MATE. I actually really fell in love with MATE (GNOME2 continued and being slowly rewritten, optimized and decrapped), it's more polished *and* leaner + faster than e.g. XFCE.
Indeed. I'm just waiting how long for a firmware for TV-B-GONE. :-) That should be reasonably trivial?
In related news, researchers show that cheap door can be kicked down.
In Czech Republic, a speed limit given by a sign is automatically cancelled at the next intersection (I'm not sure about other countries, I know Austria doesn't work that way), but i. This is another interesting AI problem, since even for the driver it is sometimes difficult to determine what's a real intersection and what's just a utility road / building entrance joining the main road.
The fact that the article is anti-EU FUD nonwithstanding, I agree that the only way for this to work is to just make it warn (e.g. continuous beeping and/or indicator flashing) and making it GPS and map based; I think many countries already have most of the information in easy to offer form, here I think even temporary speed limits have to be officially approved by the local police department and whatnot, maintaining this data in machine-readable form shouldn't be such a hassle if it's not done already anyway.
kriston was complaining about having to carry his laptop around "open like a pizza box". I'm not saying it's fine his laptop cannot suspend, but that it's silly to always keep your laptop open even if so [1]. I guess it was meant just as a figure of speech, but I don't think it works very well. ;-)
It's all a little puzzling for me. If the device doesn't work like you'd like it to, either adapt to it if it's a minor thing, or *get rid of the thing* and get a properly working device (by replacing either hardware of software). If you want to keep running Linux, it's not like more than just a small minority of hardware is having trouble (especially if you spend two minutes googling before buying the thing). Return your laptop, sell it on ebay, pass it on to friends/family (or swap with them!) or whatever and get a properly working one?
Perhaps kriston had, but I've seen way too many people going through absurd hassles with their devices, suffering almost ostentiously - both on Linux and Windows. They'll just complain on internet forums and hang on to their device because they like the socket layout on its right side or whatever.
[1] A possible exception may be broken display suspend, which may be unavoidable on lid close on some laptops. See the second paragraph in that case.
Not sure why would you fear for never having a working mouse until the next reboot, but besides that, may I kindly suggest configuring your laptop not to go to sleep when the lid closes? It really doesn't have to do that if you don't wish it to.
Simple microprocessors like this have an advantage of having large gates and therefore being more resistant to cosmic radiation. I'm actually pretty curious about how big the effect of this would be when jumping up to ARM Cortex-M3 and then to ARM11. Surely state-of-art cosmic technology uses more advanced CPUs than ATMega328, is it fine to just pop it in a better case, or is the effect not so strong in practice?
Regardless, AIUI, with something like ATMega328, you don't really need to worry much, maybe have a simple failover. With ARM11 running a big OS like Linux, the situation could be much more complicated.
Lytro's basic building part is an array of microlens, a rather expensive piece of hardware that also limits effective resolution dramatically. This is why the title here touts "single lens".
The array of microlens captures the light field, something that's used for computational focus in Lytro. However, capturing the lightfield in a microscopic imagery of translucent sample does allow you to post-fact adjust the viewing angle of the sample (to some degree), therefore do 3D imagery in microscopic scales.
Anyone knows where to access technical information about the actual study, or how did they conducted the IQ test? ConceptNet is just a database + a library with some NLP parsing tools and database (the concept hypergraph) accessors, but I wonder how did they actually conducted the test as that doesn't seem to be a trivial extension of the available tools...
You should clarify what are you after. Do you just need a place where to push + pull, or are you looking at something akin to the GitHub experience?
Aside of GitLab, also consider Gitorious. I'm not sure about how easy it would be to get GNU Savannah up and running, and Git is only a small part of what it does.
You can also find GitHub Enterprise interesting if you are ready to pay; I assume(!) it will call home to verify the licence though so making sure no stuff is sent to NSA may be tricky. ;-) Upside is minimal setup hassles for you.
You may also find the Girocco platform interesting (CGIs for project index + project management web interface, and gitweb; much smaller than the above-mentioned ones so you have a good chance to actually review all the code for yourself, but it's also more raw experience; disclaimer: I'm the main author of Girocco).
If you are fine with a simpler experience, you can simply use git-daemon (or purely SSH and git installed on the server), possibly gitolite to easily manage user access and gitweb/cgit for a web interface - there's no special magic, the Git repositories are just directories on the server.
I agree. For me, the ratio is slightly less than 1:1 for repeat lectures from the last year that I decided not to change much (maybe just reordered stuff). But for new classes, I can easily spend at least the whole evening (let's say 4-6 hours) per class preparing it; to be comfortable in the subject to answer most questions, decide what to focus on, digress based on the students' interest, I need to be sharp on the material so that I get to tell about 1/3 of everything I re-study for the lecture (proofs I won't cover, historical backgrounds, alternative approaches, etc. - folks like me who have atrocious memory lose here as for me it's not enough to be sharp on the details if I've read it just 1 or 2 times when I was just curious/studying the subject in the past); add to that preparing homework or exercises to make sure they actually make sense, build on the new knowledge smoothly and can be solved with just the material we have covered, and so on. As I've gained more experience I often even don't bother with a test lecture anymore so that's not counted in (though my lectures would improve if I could convince myself to reserve enough time for one).
So, you will end up with just about 8 hours per week spent just giving a single weekly class. This semester, I went easier on myself and decided to introduce no new classes (aside of one topic I researched during the xmas break), so I just spend the morning sharpening up for my two classes in the afternoon on the day I teach, and I even get around to do some advising for my students on that day if lucky - happy me.
It's not so simple for two reasons:
(i) Builtins are used only when gcc wants to inline their code. This may not always be the case. Their usage may (I think) also depend on the nature of the arguments (e.g., are they constant? is their length known? etc.). And there are other weird cases (passing memcpy() function pointer or whatever). Even if you don't explicitly disable builtins, your program may call these functions.
(ii) This specific part of the announcement concerns ifunc-related optimizations. This means that the version appropriate (most optimized) for the processor the program is _currently running on_ is chosen at runtime. In x86 world, at runtime (during the first call to the function), a SSE4-enabled function may be chosen over default function if the processor supports SSE4, for example. And you have just a single binary of your program to handle.
Ok, I agree that it is plausible you can get lost with Apple Maps without being stupid at all. But isn't it silly to drive these distances through the wilderness without having a sixpack of 1.5L water bottles and a canister with extra fuel in the trunk? (Or at least one of these.)
One would assume that "world modification" (monad; in this case, visual I/O) does not fit the restriction "only ever accesses read-only data, or modifies local data that is unaccessible from anywhere else" and as soon as you are showing something to the user, that blocks the auto-threading.
Then again, if you are drawing map tiles, the order you draw them in doesn't matter - so this goes to show that in some situations, there's no way around the programmer actually having to stop, think and declare whether the program's contract allows it to do some user-visible operation in parallel.
Yes. I think key in my good experience with RPi is that for all of them, I'm using the same type of uUSB PSU. It is actually a rather cheap OEM part, but it works reliably and I think many of the experienced problems with RPi stem from bad PSUs.
About 30 boards (ordered from European Farnell, IIRC all made in UK) went through my hands in the past few months; I had no problem with any of them.
I would be the first to point out some dubious design choices and other not-so-good things about the Raspberry Pi, but myself I can't complain about defective items at all.
What software companies in Germany have average salary around 100k?
That seems similar to mourning the downfall of mainframes and high-power UNIX workstations and the rise of the PCs, and that people start using high level languages before taking the time to learn assembler and memory timings or whatever first.
In an ideal world, all competent programmers would be well versed in all the important aspects of programming and hardware. It's similar with MCU and EE projects. In real world, to get shit done, there are other important factors other than technical competency and lowering the playing field enables hacking electronics for people with little or no experience, only spotty technical understanding of what's going on at all levels, but with familiarity with other fields (e.g. gardening), enthusiasm, determination to pull the project through, documentation skills or whatever. The new projects aren't as perfect technically, but there's heck more of them and they are making ways to yet uncharted areas (and budgets).
What place where hackers live together do you have in mind regarding Prague? I'm living here and I'm not aware of any.
Seriously, you must be doing something wrong. I run my personal mail server where I receive 1100 mails per day on average, of which about 200 are legitimate and 900 are spam. Number of false negatives going to my mailbox is on average 1.1 per day. The *only* tool I use for spam filtering is dspam, with pretty much the default settings, trained on my past mails. It's running like this for about 8 years now, in the past non-trivial amount of false positives (maybe 1 per week) was an issue but with newer versions of dspam this is not a problem for me anymore, there are no false positives. No greylisting or whatever, just plain postfix + dspam. No spam.
At our university department, the mail traffic is much higher, as well as the number of users, though usually the amount of spam per user is smaller. There, we also include ClamAV and SpamAssassin in the mail pipeline (+ dspam with most people opting for shared database, and auto-training from few spam trap emails). It's slightly more complicated, but again fairly straightforward to set up as we use no special configuration, just the defaults. The average amount of false negatives (spams going through) are much under 1 per day. (Usually none, but few times a month, few yet unknown spams go through in a burst.)
Greylisting is so inconvenient when using email-based registration etc., just don't use it, there's no need. And most of the blacklists are run in a very shady way and with too many legitimate sites ending up on them, so avoid them too. Just use dspam, throw in ClamAV and SpamAssassin to improve things if you are willing to spend few more minutes on it.
Basic automata theory is essential to software engineering - understanding capabilities of various computation models (what all can you do with a regex?), writing parsers and compilers, etc. Understanding basic graph theory (shortest paths, minimum spanning trees, bipartite graphs, maximum flows, coloring) is very important all across the field, from optimization to game development - sure it's well-known algorithms, but they are well-known only if you study and grok them. In the end, these really are the foundations of computer science and algorithmic thinking, while calculus etc. get useful when you get involved with real-world applications or simulations (or machine learning).
I'd agree that number theory is not that useful outside of crypto and anything regarding mathematical logic feels extremely old-fashioned in current AI research.