Domain: umass.edu
Stories and comments across the archive that link to umass.edu.
Stories · 34
-
Slashdot's Interview With Swift Creator Chris Lattner
You asked, he answered! The creator of Apple's Swift programming language (and a self-described "long-time reader/fan of Slashdot") stopped by on his way to a new job at Tesla just to field questions from Slashdot readers. Read on for Chris's answers... Questions, and my best wishes.
by Volanin
Since you're the creator of LLVM, I'd like to know, in your opinion what's the greatest advantage of LLVM/Clang over the traditional and established GNU GCC compiler. Also, what's the greatest advantage of GNU GCC (or if you'd prefer, any other compiler) over LLVM/Clang, something that you'd like to "port" someday?
CL: GCC and LLVM/Clang have had a mutually beneficial relationship for years. Clang's early lead in terms of compiler error message expressivity has led the GCC developers to improve their error messages, and obviously GCC provides a very high bar to meet when LLVM and Clang were being brought up. It is important to keep in mind that GCC doesn't have to lose for Clang to win (or visa versa). Also, I haven't used GCC for many years, that said, since you asked I'll try to answer to the best of my knowledge:
From my understanding, for a C or C++ programmer on Linux, the code generated by GCC and Clang is comparable (each win some cases and lose other cases). Both compilers have a similar feature set (e.g. OpenMP is supported by both). Clang compiles code significantly faster than GCC in many cases, still generates slightly better errors and warning messages than GCC, and is usually a bit ahead in terms of support for the C++ standard. That said, the most significant benefit is improved compile time.
Going one level deeper, the most significant benefit I see of the LLVM optimizer and code generator over GCC is its architecture and design. LLVM is built with a modular library-based design, which has allowed it to be used in a variety of ways that we didn't anticipate. For example, it has been used by movie studios to JIT compile and optimize shaders used in special effects, has been used to optimize database queries, and LLVM is used as the code generator for a much wider range of source languages than GCC.
Similarly, the most significant benefit of Clang is that it is also modular. It specifically tackles problems related to IDE integration (including code completion, syntax highlighting, etc) and has a mature and vibrant tooling ecosystem build around it. Clang's design (e.g. lack of pervasive global variables) also allows it to be used at runtime, for example in OpenCL and CUDA implementations.
The greatest advantage I can see of GCC over LLVM/Clang is that it is the default compiler on almost all Linux distributions, and of course Linux is an incredibly important for developers. I'd love to see more Linux distributions start shipping Clang by default. Finally, GCC provides an Ada frontend, and I'm not aware of a supported solution for Ada + LLVM.
Future of LLVM?
by mveloso
Where do you see LLVM going?
CL: There are lots of things going on, driven by the amazing community of developers (which is growing like crazy) driving forward the llvm.org projects. LLVM is now used pervasively across the industry, by companies like Apple, Intel, AMD, Nvidia, Qualcomm, Google, Sony, Facebook, ARM, Microsoft, FreeBSD, and more. I'd love for it to be used more widely on Windows and Linux.
At the same time, I expect to see LLVM to continue to improve in a ton of different ways. For example, ThinLTO is an extremely promising approach that promises to bring scalable link time optimization to everyone, potentially replacing the default for -O3 builds. Similarly, there is work going on to speed up compile times, add support for the Microsoft PDB debug information format, and too many other things to mention here. It is an incredibly exciting time. If you're interested in a taste of what is happening, take a look at the proceedings from the recent 2016 LLVM Developer Meeting.
Finally, the LLVM Project continues to expand. Relatively recent additions include llgo (a Go frontend) and lld (a faster linker than "Gold"), and there are rumors that a Fortran frontend may soon join the fold.
The Mythical Compiler -VLIW
by Anonymous Coward
Is there any hope for VLIW architectures? The general consensus seems to be that Itanium tanked because the compiler technology wasn't able to make the leap needed. Linus complained about the Itanium ISA exposing the pipelines to assembly developers. What are the challenges from a compiler writers perspective with VLIW?
CL: I can't speak to why Itanium failed (I suspect that many non-technical issues like business decisions and schedule impacted it), but VLIW is hardly dead. VLIW designs are actively used in some modern GPUs and is widely used in DSPs - one example supported by LLVM is the Qualcomm Hexagon chip. The major challenge when compiling for a VLIW architecture is that the compiler needs good profile information, so it has an accurate idea of the dynamic behavior of the program.
How much of Swift is Based on Groovy?
by Anonymous Coward
So how much of Swift was inspired by Groovy? Both come from more high-end languages and look and act almost identical.
CL: It is an intentional design point of Swift that it look and feel "familiar" to folks coming from many other languages: not just Groovy. Feeling familiar and eliminating unnecessary differences from other programming languages is a way of reducing barriers of entry to start programming in Swift. It is also clearly true that many other languages syntactically influence each other, so you see convergence of ideas coming from many different places.
That said, I think it is a stretch to say that Swift and Groovy look and act "identical", except in some very narrow cases. The goal of Swift is simply to be as great as possible, it is not trying to imitate some other programming language.
C#
by Anonymous Coward
What do you think about Microsoft and C# versus the merits of Swift?
CL: I have a ton of respect for C#, Rust, and many other languages, and Swift certainly benefited by being able to observe their evolution over time. As such, there are a lot of similarities between these languages, and it isn't an accident.
Comparing languages is difficult in this format, because a lot of the answers come down to "it depends on what you're trying to do", but I'll give it a shot. C# has the obvious benefit of working with the .NET ecosystem, whereas Swift is stronger at working in existing C and Objective-C ecosystems like Cocoa and POSIX.
From a language level, Swift has a more general type system than C# does, offers more advanced value types, protocol extensions, etc. Swift also has advantages in mobile use cases because ARC requires significantly less memory than garbage collected languages for a given workload. On the other hand, C# has a number of cool features that Swift lacks, like async/await, LINQ, etc.
Rust
by Anonymous Coward
Chris, what are your general thoughts about Rust as a programming language?
CL: I'm a huge Rust fan: I think that it is a great language and its community is amazing. Rust has a clear lead over Swift in the system programming space (e.g. for writing kernels and device drivers) and I consider it one of the very few candidates that could lead to displacing C and C++ with a more safe programming language.
That said, Swift has advantages in terms of more developers using it, a more mature IDE story, and offers a much shallower learning curve for new developers. It is also very likely that a future version of Swift will introduce move-only types and a full ownership model, which will make Swift a lot more interesting in the system programming space.
BASIC
by jo7hs2
As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments?
It seems like all attempts since we went GUI (aside from maybe early VisualBASIC and Hypercard) have been too complicated, and all attempts have been platform-specific or abandoned. With the emphasis on coding in schools, it seems like it would be helpful to have a good, simple, introductory language like we had in BASIC.
CL: It's probably a huge shock, but I think Swift could be this language. If you have an iPad, you should try out the free Swift Playgrounds app, which is aimed to teach people about programming, assuming no prior experience. I think it would be great for Swift to expand to provide a VisualBASIC-like scripting solution for GUI apps as well.
Cross-platform
by psergiu
How cross-platform is Swift? Are the GUI libraries platform-dependent or independent? I.E.: Can I write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows?
CL: Swift is Open Source, has a vibrant community with hundreds of contributors, and builds on the proven LLVM and Clang technology stack. The Swift community has ported Swift itself to many different platforms beyond Apple platforms: it runs on various Linux distros and work is underway by various people to port it to Android, Windows, various BSDs, and even IBM mainframes.
That said, Swift does not provide a GUI layer, so you need to use native technologies to do so. Swift helps by providing great support for interoperating with existing C code (and will hopefully expand to support C++ and other languages in the future). It is possible for someone to design and build a cross platform GUI layer, but I'm not aware of any serious efforts to do so.
Exception Handling
by andywest
Why did Swift NOT have exception handling in the first couple of versions?
CL: Swift 1 (released in 2014) didn't include an error handling model simply because it wasn't ready in time: it was added in Swift 2 (2015). Swift 2 included a number of great improvements that weren't ready for Swift 1, including protocol extensions. Protocol extensions dramatically expanded the design space of what you can do with Swift, bringing a new era of "protocol oriented programming". That said, even Swift 3 (2016) is still missing a ton of great things we hope to add over the coming years: there is a long and exciting road ahead! See questions below for more details.
Why are strings passed by value?
by Anonymous Coward
Strings are immutable pass-by-reference objects in most modern languages. Why did you make this decision?
CL: Swift uses value semantics for all of its "built in" collections, including String, Array, Dictionary, etc. This provides a number of great advantages by improving efficiency (permitting in-place updating instead of requiring reallocation), eliminating large classes of bugs related to unanticipated sharing (someone mutates your collection when you are using it), and defines away a class of concurrency issues. Strings are perhaps the simplest of any of these cases, but they get the efficiency and other benefits.
If you're interested in more detail, there is a wealth of good information about the benefits of value vs reference types online. One great place to start is the "Building Better Apps with Value Types in Swift" talk from WWDC 2015.
As a language designer
by superwiz
Since you have been involved with 2 lauded languages, you are in a good position to answer the following question: "are modern languages forced to rely on language run-time to compensate for the facilities lacking in modern operating systems?" In other words, have the languages tried to compensate for the fact that there are no new OS-level light-weight paradigms to take advantage of multi-core processors?
CL: I'm not sure exactly what you mean here, but yes: if an OS provides functionality, there is no reason for a language runtime to replicate it, so runtimes really only exist to supplement what the OS provides. That said, the line between the OS and libraries is a very blurry one: Grand Central Dispatch (GCD) is a great example, because it is a combination of user space code, kernel primitives, and more all designed together.
Parallelism
by bill_mcgonigle
Say, about fifteen years ago, there was huge buzz about how languages and compilers were going to take care of the "Moore's Law Problem" by automating the parallelism of every task that could be broken up. With single-static assignment trees and the like the programmer was going to be freed from manually doing the parallelism.
With manufacturers starting to turn out 32- and 64-core chips, I'm wondering how well did we did on that front. I don't see a ton of software automatically not pegging a core on my CPU's. The ones that aren't quite as bad are mostly just doing a fork() in 2017. Did we get anywhere? Are we almost there? Is software just not compiled right now? Did it turn out to be harder than expected? Were languages not up to the task? Is hardware (e.g. memory access architectures) insufficient? Was the possibility oversold in the first place?
CL: I can't provide a global answer, but clearly parallelism is being well utilized in some "easy" cases (e.g. speeding up build time of large software, speed of 3d rendering, etc). Also, while large machines are available, most computers are only running machines with 1-4 cores (e.g. mobile phones and laptops), which means that most software doesn't have to cope with the prospects of 32-core machines⦠yet.
Looking forward, I am skeptical of the promises of overly magic solutions like compiler auto-parallelization of single threaded code. These "heroic" approaches can work on specific benchmarks and other narrow situations, but don't lead to a predictable and reliable programmer model. For example, a good result would be for you to use one of these systems and get a 32x speedup on your codebase. A really bad result would be to then make a minor change or bug fix to your code, and find out that it caused a 32x slowdown by defeating the prior compiler optimization. Magic solutions are problematic because they don't provide programmer control.
As such, my preferred approach is for the programming language to provide expressive ways for the programmer to describe their parallelism, and then allow the compiler and runtime to efficiently optimize it. Things like actor models, OpenMP, C++ AMP, and goroutines seem like the best approach. I expect concurrency to be an active area of development in the Swift language, and hope that the first pieces of the story will land in Swift 5 (2018).
Any insight into language design choices?
by EMB Numbers
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university. I confess to being perplexed by some Swift language design decisions. For example,- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
CL: These two questions get to the root of Swift "current and future". In short, I would NOT say that Swift is an extremely compelling systems programming or scripting language today, but it does aspire to be great for this in the years ahead. Recall that Swift is only a bit over two years old at this point: Swift 1.0 was released in September 2014.
If you compare Swift to other popular contemporary programming languages (e.g. Python, Java/C#, C/C++, Javascript, Objective-C, etc) a major difference is that Swift was designed for generality: these languages were initially designed for a specific niche and use case and then organically growing out.
In contrast, Swift was designed from the start to eventually span the gamut from scripting language to systems programming, and its underlying design choices anticipate the day when all the pieces come together. This is no small feat, because it requires pulling together the strengths of each of these languages into a single coherent whole, while balancing out the tradeoffs forced by each of them.
For example, if you compare Swift 3 to scripting languages like Python, Perl, and Ruby, I think that Swift is already as expressive, teachable, and easy to learn as a scripting language, and it includes a REPL and support for #! scripts. That said, there are obvious missing holes, like no regular expression literals, no multi-line string literals, and poor support for functionality like command line argument processing - Swift needs to be more "batteries included".
If you compare Swift 3 to systems programming languages with C/C++ or Rust, then I think there is a lot to like: Swift provides full low-level memory control through its "unsafe" APIs (e.g. you can directly call malloc and free with no overhead from Swift, if that is what you want to do). Swift also has a much lighter weight runtime than many other high level languages (e.g. no tracing Garbage Collector or threading runtime is required). That said, it has a number of holes in the story: no support for memory mapped I/O, no support for inline assembly, etc. More significantly, getting low-level control of memory requires dropping down to the Unsafe APIs, which provide a very C/C++ level of control, but also provides the C/C++ level lack of memory safety. I'm optimistic that the ongoing work to bring an ownership model to Swift will provide the kinds of safety and performance that Rust offers in this space.
If you compare Swift 3 to general application level languages like Java, I think it is already pretty great (and has been proven by its rapid adoption in the iOS ecosystem). The server space has very similar needs to general app development, but both would really benefit from a concurrency model (which I expect to be an important focus of Swift 5).
Beyond these areas of investment there is no shortage of ideas for other things to add over time. For example, the dynamic reflection capabilities you mention need to be baked out, and many people are interested in things like pre/post-conditions, language support for typestate, further improvements to the generics system, improved submodules/namespacing, a hygienic macro system, tail calls, and so much more.
There is a long and exciting road ahead for Swift development, and one of the most important features was a key part of Swift 3: unlike in the past, we expect Swift to be extremely source compatible going forward. These new capabilities should be addable to the language and runtime without breaking code. If you are interested in following along or getting involved with Swift development, I highly encourage you to check out the swift-evolution mailing list and project on GitHub.
Any hope for more productive programming?
by Kohath
I work in the semiconductor industry and our ASIC designs have seen a few large jumps in productivity:- Transistors and custom layouts transitioned to standard cell flows and automated P&R.
- Design using logic blocks transitioned to synthesized design using RTL with HDLs.
- Most recently, we are synthesizing circuits directly from C language.
In the same timeframe, programming has remained more or less the same as it always was. New languages offer only incremental productivity improvements, and most of the big problems from 10 or 20 years ago remain big problems.
Do you know of any initiatives that could produce a step-function increase (say 5-10x) in coding productivity for average engineers?
CL: There have been a number of attempts to make a "big leap" in programmer productivity over the years, including visual programming languages, fourth-generation" programming languages, and others. That said, in terms of broad impact on the industry, none of these have been as successful as the widespread rise of "package" ecosystems (like Perl's CPAN, Ruby Gems, NPM in Javascript, and many others), which allow rapid reuse of other people's code. When I compare the productivity of a modern software developer using these systems, I think it is easy to see a 10x improvement in coding productivity, compared to a C or C++ programmer 10 years ago.
Swift embraces this direction with its builtin package manager "SwiftPM". Just as the Swift language learns from other languages, SwiftPM is designed with an awareness of other package ecosystems and attempts to assemble their best ideas into a single coherent vision. SwiftPM also provides a portable build system, allowing development and deployment of cross-platform Swift packages. SwiftPM is still comparatively early on in design, but has some heavy hitters behind it, particularly those involved in the various Swift for the Server initiatives. You might also be interested in the online package catalog hosted by IBM.
Looking ahead, even though a bit cliche, I'd have to say that machine learning techniques (convolutional neural nets and deep neural nets for example) really are changing the world by making formerly impossible things merely "hard". While it currently seems that you need a team of Ph.D's to apply and develop these techniques, when they become better understood and developed, I expect them to be more widely accessible to the rest of us. Another really interesting recent development is the idea of "word vectors," which is a pretty cool area to geek out on. -
How Brain Architecture Leads To Abstract Thought (umass.edu)
catchblue22 writes: UMass Amherst scientists have analyzed fMRI data to link brain architecture with consciousness and abstract thought. "We momentarily thought our research failed when we saw that each cognitive behavior showed activity through many network depths. Then we realized that cognition is far richer, it wasn't the simple hierarchy that everyone was looking for. So, we developed our geometrical 'slope' algorithm," said neuroscientist Hava Siegelmann (abstract). "With a slope identifier, behaviors could now be ordered by their relative depth activity with no human intervention or bias," she adds. They ranked slopes for all cognitive behaviors from the fMRI databases from negative to positive and found that they ordered from more tangible to highly abstract.
"'Deep learning is a computational system employing a multi-layered neural net...the brain's processing dynamic is far richer and less constrained because it has recurrent interconnection, sometimes called feedback loops.' Her lab is now creating a 'massively recurrent deep learning network,' she says, for a more brain-like and superior learning AI." -
Face Recognition Algorithm Finally Outperforms Humans
KentuckyFC (1144503) writes "Face recognition has come a long way in recent years. In ideal lighting conditions, given the same pose, facial expression etc, it easily outperforms humans. But the real world isn't like that. People grow beards, wear make up and glasses, make strange faces and so on, which makes the task of facial recognition tricky even for humans. A well-known photo database called Labelled Faces in the Wild captures much of this variation. It consists of 13,000 face images of almost 6000 public figures collected off the web. When images of the same person are paired, humans can correctly spot matches and mismatches 97.53 per cent of the time. By comparison, face recognition algorithms have never come close to this. Now a group of computer scientists have developed a new algorithm called GaussianFace that outperforms humans in this task for the first time. The algorithm normalises each face into a 150 x 120 pixel image by transforming it based on five image landmarks: the position of both eyes, the nose and the two corners of the mouth. After being trained on a wide variety of images in advance, it can then compare faces looking for similarities. It does this with an accuracy of 98.52 per cent; the first time an algorithm has beaten human-level performance in such challenging real-world conditions. You can test yourself on some of the image pairs on the other side of the link." -
Stealthy Dopant-Level Hardware Trojans
DoctorBit writes "A team of researchers funded in part by the NSF has just published a paper in which they demonstrate a way to introduce hardware Trojans into a chip by altering only the dopant masks of a few of the chip's transistors. From the paper: 'Instead of adding additional circuitry to the target design, we insert our hardware Trojans by changing the dopant polarity of existing transistors. Since the modified circuit appears legitimate on all wiring layers (including all metal and polysilicon), our family of Trojans is resistant to most detection techniques, including fine-grain optical inspection and checking against "golden chips."' In a test of their technique against Intel's Ivy Bridge Random Number Generator (RNG) the researchers found that by setting selected flip-flop outputs to zero or one, 'Our Trojan is capable of reducing the security of the produced random number from 128 bits to n bits, where n can be chosen.' They conclude that 'Since the Trojan RNG has an entropy of n bits and [the original circuitry] uses a very good digital post-processing, namely AES, the Trojan easily passes the NIST random number test suite if n is chosen sufficiently high by the attacker. We tested the Trojan for n = 32 with the NIST random number test suite and it passed for all tests. The higher the value n that the attacker chooses, the harder it will be for an evaluator to detect that the random numbers have been compromised.'" -
Bug In Samsung S3 Grabs Too Many Images, Ups Data Use
First time accepted submitter Emmanuel Cecchet writes "Researchers of the BenchLab project at UMass Amherst have discovered a bug in the browser of the Samsung S3. If you browse a Web page that has multiple versions of the same image (for mobile, tablet, desktop, etc...) like most Wikipedia pages for example, instead of downloading one image at the right resolution, the phone will download all versions of it. A page that should be less than 100K becomes multiple MB! It looks like a bug in the implementation of the srcset HTML tag, but all the details are in the paper to be presented at the IWQoS conference next week. So far Samsung didn't acknowledge the problem though it seems to affect all S3 phones. You'd better have an unlimited data plan if you browse Wikipedia on an S3!" -
Bug In Samsung S3 Grabs Too Many Images, Ups Data Use
First time accepted submitter Emmanuel Cecchet writes "Researchers of the BenchLab project at UMass Amherst have discovered a bug in the browser of the Samsung S3. If you browse a Web page that has multiple versions of the same image (for mobile, tablet, desktop, etc...) like most Wikipedia pages for example, instead of downloading one image at the right resolution, the phone will download all versions of it. A page that should be less than 100K becomes multiple MB! It looks like a bug in the implementation of the srcset HTML tag, but all the details are in the paper to be presented at the IWQoS conference next week. So far Samsung didn't acknowledge the problem though it seems to affect all S3 phones. You'd better have an unlimited data plan if you browse Wikipedia on an S3!" -
Excel Error Contributes To Problems With Austerity Study
quarterbuck writes "Many politicians, especially in Europe, have used the idea that economic growth is impeded by debt levels above 90% of GDP to justify austerity measures. The academic justification came from a paper and a book by Kenneth Rogoff and Carmen Reinhart. Now researchers at U Mass at Amherst have refuted the study — they find that not only was the data tainted by bad statistics, it also had an Excel error. Apparently when averaging a few GDP numbers in an excel sheet, they did not drag down the cell ranges down properly, excluding Belgium. The supporting website for the book, 'This time it is different,' has lots of financial information if a reader might want to replicate some of the results." The Excel error is making the rounds as the cause of the problems with the study, but it's actually a minor component. The study also ignores some post-WWII data for countries that had a high debt load and high growth, and there's some fishy weighting going on: "The U.K. has 19 years (1946-1964) above 90 percent debt-to-GDP with an average 2.4 percent growth rate. New Zealand has one year in their sample above 90 percent debt-to-GDP with a growth rate of -7.6. These two numbers, 2.4 and -7.6 percent, are given equal weight in the final calculation, as they average the countries equally. Even though there are 19 times as many data points for the U.K." -
IPv6 Deployment Picking Up Speed
An anonymous reader writes "The Internet's addressing authority (IANA) ran out of IPv4 Internet addresses in early 2011. The IPv6 protocol (now 15 years old) was designed exactly for this scenario, as it provides many more addresses than our foreseeable addressing needs. However, IPv6 deployment has so far been dismal, accounting for 1% of total traffic (the high-end of estimates). A recent paper by researchers at the Cooperative Association for Internet Data analysis (CAIDA) indicates that IPv6 deployment may be picking up at last. The paper, published at the Internet Measurement Conference (IMC) shows that the IPv6 network shows signs of maturing, with its properties starting to resemble the deployed IPv4 network. Deployment appears to be non-uniform, however; while the 'core' of the network appears to be ready, networks at the 'edges' are lacking. There are geographical differences too — Europe and the Asia Pacific region are ahead of North America." -
Users Abandon Ship If Online Video Quality Is Not Up To Snuff, Says Study
An anonymous reader writes "The first large scientific study of how people respond to poor video quality on the Internet paints a picture of ever rising user expectations and the willingness to abandon ship if those expectations are not met (PDF). Some nuggets: 1) Some users are willing to wait for no more than 2 seconds for a video to start playing, with each additional second adding 6% to the abandonment rate. 2) Users with good broadband connectivity expect faster video load times and are even more impatient than ones on mobile devices. 3) Users who experience video freezing watch fewer minutes of the video than someone who does not experience freezing. If a video freezes for 1% of its total play time, 5% less of its total play time is watched, on average. 4) Users who experience failures when they try to play videos are less likely to return to the same website in the future. Big data was analyzed (260+ million minutes of video) and some cool new data analysis techniques used." -
Computer Science vs. Software Engineering
theodp writes "Microsoft's promotion of Julie Larson-Green to lead all Windows software and hardware engineering in the wake of Steven Sinofsky's resignation is reopening the question of what is the difference between Computer Science and Software Engineering. According to their bios on Microsoft's website, Sinofsky has a master's degree in computer science from the University of Massachusetts Amherst and an undergraduate degree with honors from Cornell University, while Larson-Green has a master's degree in software engineering from Seattle University and a bachelor's degree in business administration from Western Washington University. A comparison of the curricula at Sinofsky's and Larson-Green's alma maters shows there's a huge difference between UMass's MSCS program and Seattle U's MSE program. So, is one program inherently more compatible with Microsoft's new teamwork mantra?" -
Patient Just Wants To See Data From His Implanted Medical Device
An anonymous reader writes "Hugo Campos got an implanted cardiac defibrillator shortly after collapsing on a BART train platform. He wants access to the data wirelessly collected by the computer implanted in his body, but the manufacturer says No. It seems weird that a patient can't get access to data about his own heart. Hugo and several medical device engineers are responding to live Q/A on Sunday night on such topics via ACM MedCOMM webcast at ACM SIGCOMM." -
Time Machines, Computer Memory, and Brute Force Attacks Against Smartcards
An anonymous reader writes "IEEE Spectrum reports on a method that exploits the decaying contents of unpowered computer memory to create an hourglass-like 'time machine' that rate limits brute force attacks against contactless smartcards and RFIDs. The paper takes an odd twist on the 'cold boot' attack reported four years ago at USENIX Security. Not quite as cool as a hot tub time machine though. " Full paper (PDF). -
Hacking a Pacemaker
jonkman sean writes "University researchers conducted research into how they can gain wireless access to pacemakers, hacking them. They will be presenting their findings at the "Attacks" session of the 2008 IEEE Symposium on Security and Privacy. Their previous work (PDF) noted that over 250,000 implantable cardiac defibrillators are installed in patients each year. This subject was first raised along with similar issues as a credible security risk in Gadi Evron's CCC Camp 2007 lecture "hacking the bionic man"." -
Ultra-low-cost True Randomness
Cryptocrat writes "Today I blogged about a new method for secure random sequence generation that is based on physical properties of hardware, but requires only hardware found on most computer systems: from standard PCs to RFID tags." Basically he's powercycling memory and looking at the default state of the bits, which surprisingly (to me anyway) is able to both to fingerprint systems, as well as generate a true random number. There also is a PDF Paper on the subject if you're interested in the concept. -
DieHard, the Software
Roland Piquepaille writes "No, it's not another movie sequel. DieHard is a piece of software which helps programs to run correctly and protects them from a range of security vulnerabilities. It has been developed by computer scientists from the University of Massachusetts Amherst — and Microsoft. DieHard prevents crashes and hacker attacks by focusing on memory. Our computers have thousands times more memory than 20 years ago. Still, programmers are privileging speed and efficiency over security, which leads to the famous "buffer overflows" which are exploited by hackers." -
Bacteria Used to Create Nanowires
FnH writes "Derek Lovley and his colleagues of the University of Massachusetts discovered that the Geobacter bacteria is capable of producing nanowires. The bacteria is normally used to clean up toxic waste. Geobacter does not use oxygen, but metal as its source for power. This probably explains the 3nm to 5nm nanowires it excretes while working. What metal the nanowires are made of is not yet known, but the genetic code responsible for their creation is. This opens up the possibility of modifying the bacteria to create nanowires on chips." -
Microbes That Produce Miniature Electrical Wires
anukit writes "Researchers at the University of Massachusetts Amherst have discovered a tiny biological structure that is highly electrically conductive. This breakthrough helps describe how microorganisms can clean up groundwater and produce electricity from renewable resources. It may also have applications in the emerging field of nanotechnology, which develops advanced materials and devices in extremely small dimensions." -
Microbes That Produce Miniature Electrical Wires
anukit writes "Researchers at the University of Massachusetts Amherst have discovered a tiny biological structure that is highly electrically conductive. This breakthrough helps describe how microorganisms can clean up groundwater and produce electricity from renewable resources. It may also have applications in the emerging field of nanotechnology, which develops advanced materials and devices in extremely small dimensions." -
Search Engines for Handwritten Documents
An anonymous reader writes "Researchers at the University of Massachusetts have created a tool for automatically searching handwritten historical documents, such as the 140,000 pages that make up George Washington's personal papers in the Library of Congress. The most interesting part is that the papers are scanned versions of the originals and the search tool actually recognizes the handwritten text from these images." -
Search Engines for Handwritten Documents
An anonymous reader writes "Researchers at the University of Massachusetts have created a tool for automatically searching handwritten historical documents, such as the 140,000 pages that make up George Washington's personal papers in the Library of Congress. The most interesting part is that the papers are scanned versions of the originals and the search tool actually recognizes the handwritten text from these images." -
2MASS Updates with 5 Million Pictures
B.E.M. writes "Science Daily mentions that the previously reported Two-Micron All Space Survey has updated again, this time with a total of 5 million pictures in its gallery." -
New Order of Insect Found
dumfrac writes "A bug thought to have died out 40-million years ago is alive and well in southern Africa. It's aggressive, carnivorous, and some call it "the gladiator". And it's so unlike anything else that it represents not just a new species, but a new order. Check out the rest of the article at IOL or do a Google search for "Mantophasmatodea" which is the name of the new order." -
Microbes Make Electricity From Mud
Judebert writes "University of Massachusetts microbiologists have discovered that certain microbes, under ordinary conditions, create electricity from the mud they live in. The scientists used plain mud from Boston Harbor, mason jars, a few carbon electrodes, and some wiring to light a lightbulb with the Geobacter-supplied power. Apparently they're eating one of the electrodes, along with some complex organics, to do the deed. (The microbes, not the scientists.) With a bit of genetic engineering, they could be modified to eat toxic organic wastes, such as toluene, thereby providing electricity, lighting a light and warning you that there's something in the water. The UMass article has pictures, but if you're just interested in the text you can check out this Science Daily article instead." -
Microbes Make Electricity From Mud
Judebert writes "University of Massachusetts microbiologists have discovered that certain microbes, under ordinary conditions, create electricity from the mud they live in. The scientists used plain mud from Boston Harbor, mason jars, a few carbon electrodes, and some wiring to light a lightbulb with the Geobacter-supplied power. Apparently they're eating one of the electrodes, along with some complex organics, to do the deed. (The microbes, not the scientists.) With a bit of genetic engineering, they could be modified to eat toxic organic wastes, such as toluene, thereby providing electricity, lighting a light and warning you that there's something in the water. The UMass article has pictures, but if you're just interested in the text you can check out this Science Daily article instead." -
Extreme Programming vs. Interactive Design
Hoff writes: "Here is an interesting interview with Beck and Cooper pitting extreme programming vs. interactive design. Personally, I'm all about extreme programming. It's a novel approach to help get the management work with, and for, the software engineers." -
"Upgrading" Intel InBusiness Storage Stations?
Michael Gilbert asks: "I have a 30Gb Intel InBusiness Storage Station, which is based on a limited version of FreeBSD 2.02 (see here) It is, as is usual, totally undocumented by Intel as to it's inner workings. Since both the 30Gb and the 60 Gb models use the same chassis, I was looking into adding my own 2nd 30Gb HD. Intel of course does not support such an upgrade. Does anyone out there have any relevant information as to the specifics of the unmarked jumpers and connectors on the unit's main board? Console port perhaps? Has someone already done this upgrade? While there may indeed be easier ways to add more networked storage to one's home network, the fact that Intel does not want me to do this only increases my curiosity and desire. Having discovered the (undocumented) telnet port, I can get a FreeBSD shell, and so far have surmised that due to the age/version of the FreeBSD system, the upgrade would require a new kernel, as this one seems to be static as far as not probing resources." -
Why Not A Free Market In Privacy?
leviramsey writes: "Julian Sanchez has written an article analyzing the privacy debate and suggesting a free market solution to the privacy issue on Liberzine.com. Very interesting idea that seems to make sense to me." While this essay doesn't lay out how this market might work in practice, it raises the interesting and often scoffed-at idea that sometimes we like to trade some of our privacy for various things, online and off, as a visit to Yahoo personals will prove. -
Paying Twice For Windows
limako writes: "According to this C/Net News article, it turns out that Microsoft's recent contracts with businesses obligated the businesses to buy an additional copy of Windows 2000 even if the machine came with a licensed copy already installed. Now that is getting you both coming and going." Or, as David St. Hubbins said about Tapster, "There's a fine line between exploitation and opportunism." -
Nano Logo
leb writes "More useless but fun innovations in nanotech - University of Massachusetts physicist Mark Tuominen may have some trouble finding a T-shirt small enough for the UMass logo recently sketched in his lab. Tuominen and graduate student Mustafa Bal recently created a UMass logo which is roughly the size of a red blood cell - some six micrometers in diameter. Full story and images available from the UMass News office." -
Nano Logo
leb writes "More useless but fun innovations in nanotech - University of Massachusetts physicist Mark Tuominen may have some trouble finding a T-shirt small enough for the UMass logo recently sketched in his lab. Tuominen and graduate student Mustafa Bal recently created a UMass logo which is roughly the size of a red blood cell - some six micrometers in diameter. Full story and images available from the UMass News office." -
Nano Logo
leb writes "More useless but fun innovations in nanotech - University of Massachusetts physicist Mark Tuominen may have some trouble finding a T-shirt small enough for the UMass logo recently sketched in his lab. Tuominen and graduate student Mustafa Bal recently created a UMass logo which is roughly the size of a red blood cell - some six micrometers in diameter. Full story and images available from the UMass News office." -
World's Smallest Web Server (We Have a Winner)
sysadmn writes "This web server is the latest contender for "World's Smallest". Two chips and a diode - so they had to leave out Linux :-). It's based on the world's smallest implementation of a TCP/IP stack -- which is implmented on a small 8-pin low-power microcontroller using 512 words of program ROM. Where would you put a $1 web server? " If its real, its amazing. -
Netscape Search to be powered by Google
UM_Maverick writes "According to this article at news.com, Netscape is going to replace their Excite-powered search engine with Google technology. " Heh. I use my google Slashbox a lot. Linux based search engines are good. -
theos.com Dispute Ended
philc writes "The dispute over the theos.com domain appears to have ended...happily, for Mr. De Raadt.". Look down the page for the term slashdot.org. Update: 03/27 02:16 by S : In related news, UM_Maverick writes "Illiad over at User Friendly says that he received a certified letter confirming that the threats from the "death star" are authentic. He has been advised not to reveal details yet, though... "