Profile

Cover photo
Michael Murphy
Worked at Howard Memorial Hospital
Lives in Ashburn, Virginia
462 followers|1,006,299 views
AboutPostsCollections+1'sReviews

Stream

Michael Murphy

Shared publicly  - 
 
AMD has delivered enormous gains for the open source community in the last year with their Gallium3D drivers. There's even an open source Radeon Vulkan driver (RADV) that is almost complete. The state of AMD hardware support today is: why bother with NVIDIA anymore?

Ubuntu users should definitely ensure that they track the latest improvements in Mesa, as evident by these benchmarks comparing Ubuntu 16.04 to the current Mesa/LLVM stack:
https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-16.04-AMDGPU-August
Phoronix is the leading technology website for Linux hardware reviews, open-source news, Linux benchmarks, open-source benchmarks, and computer hardware tests.
3
Add a comment...

Michael Murphy

Shared publicly  - 
 
A picture's worth a thousand words. This is what I'm doing on my laptop right now.
1
Michael Murphy's profile photoLinux Lady05 Winter's profile photo
3 comments
 
+Michael Murphy nice ;D
Add a comment...

Michael Murphy

General Discussion  - 
 
I'm currently creating a Rust implementation of the GNU Parallel program, as a part of the 'Rewrite Everything In Rust' mantra, and it is sporting the MIT license instead of the GNU GPL. The functionality is largely complete, but I am searching for ideas from the community for features that they would find useful in a program like Parallel. And no, I will not be implementing the `--bibtex` citation.

For a quick run through of what Parallel is and does, you can think of it as being like a for loop, but instead of executing tasks serially one after another, it acts as a CPU load balancer to evenly distribute tasks to each CPU core, ensuring that no core is left behind.

The syntax is relatively simple too, as it largely consists of a command template followed by a list of inputs to feed to your job threads.

parallel 'echo Core #{ %}: Task #{ #} of {#^}: {}' ::: /usr/bin/*

To the common desktop user, it's typically used to compress large collections of pictures and music, such as this example for converting FLAC archives to Opus:

parallel 'ffmpeg -i {} -c:a libopus -b:a 128k {.}.opus' ::: $(find -type f -name '*.flac')
parallel - Inspired by GNU Parallel, a command-line CPU load balancer written in Rust.
6
2
Arav Singhal's profile photoMichael Murphy's profile photo
2 comments
 
+Arav Singhal I'm careful to document a majority of the code that I write to help those with no Rust or programming experience to understand how it works.
Add a comment...

Michael Murphy

Shared publicly  - 
 
I now have the source code for the parallel application available under the open source MIT license, so I suppose this will be MIT Parallel in comparison to GNU Parallel.
parallel - Inspired by GNU Parallel, a command-line CPU load balancer written in Rust.
1
Add a comment...

Michael Murphy

Shared publicly  - 
 
Found the hidden DPI setting in Firefox's about:config webpage. The variable is layout.css.devPixelsPerPx, and setting this value to your display's DPI divided by 96 gives the best experience for your display. In GNOME, you can use GNOME Tweak Tool to set your text scale to the same number.
2
Add a comment...

Michael Murphy

Discussion  - 
 
The Rust community has a new project underway to create a tiling window manager for Wayland, with good progress being made.
way-cooler - Customizable Wayland compositor (window manager) written in Rust
8
Daniel Sandman's profile photoDamir Banić's profile photoKinley Dorji's profile photo
7 comments
Add a comment...
In his circles
23 people
Have him in circles
462 people
John Sparks's profile photo
GreenMonkeyReviews's profile photo
Neyeuma Ezekiel's profile photo
Sean Rhone (Espionage724)'s profile photo
R. Drew Davis's profile photo
Anshuman Sharma's profile photo
Agaz Aroza's profile photo
Joseph Affonso Xaxo's profile photo
mariela paz's profile photo

Communities

14 communities

Michael Murphy

Shared publicly  - 
 
I have just finished implementing grouping into my version of Parallel, which ensures that the standard output/error of each task will print in the same order as they were input, as if the commands were executed serially.
1
Add a comment...

Michael Murphy

Rants, Vents, Misc. Posts  - 
 
An amusing story
 
Linux protects your money!

Somebody has stolen my credit card details and gone on an online spending spree, but my bank detected it straight away. How? Because they noticed I always do all my shopping on a Linux computer and the fraudster was using Windows 10.

And there was I thinking I already knew all the benefits of using Linux. There are hidden bonuses!
10 comments on original post
8
1
*Max Müller*'s profile photoTimothy Hamlett's profile photoRehan Kodekar's profile photoJohn C. Reid's profile photo
6 comments
 
+Rehan Kodekar​ that is so old skool and very unnecessary anymore. It won't save you from anything logical (like rm /) or a program that had access regardless of where the physical position is. Also it is highly inflexible, think running out of space on /boot or /var. On today's computers there is very little reason to have more than root and swap partitions, and most of those reasons have to do with enterprise computing and not desktops.
Add a comment...

Michael Murphy

Shared publicly  - 
 
I have some interesting benchmark stats to share from my Rust implementation of GNU Parallel. These scores come from my laptop:

parallel 'echo {%}: {}' ::: /usr/bin/*

GNU Parallel:
real    0m5.911s
user    0m2.752s
sys    0m1.764s

Rust/MIT Parallel:
real    0m0.559s
user    0m0.084s
sys    0m0.372s

Rust is certainly very efficient at this sort of task. It only consumes a tenth the wall and CPU time as the GNU version written in Perl.
1
Ankit Pati's profile photoMichael Murphy's profile photo
2 comments
 
+Ankit Pati Standard practice in the Rust community is to write Rust software with a dual MIT/Apache license. It's easier to get contributors to a Rust project if it's MIT licensed, and from what I gather, most open source software written today opts for MIT. There's been some pretty big discussions about it both in the Rust and Redox discourse forums and subreddits. There was quite a fuss over why RedoxOS is using the MIT license instead of the GPL.

Seems that the Perl version also does a lot of crazy stuff in the background, such as compressing the standard output of each command and writing their contents to the disk, which probably accounts for some of that. It has a number of crazy features that I personally wouldn't care for (ie: interpreting perl scripts), so I doubt the FSF would accept it as a drop-in replacement, but it is a good alternative nonetheless.

One tool I'd certainly like to see replaced is GNU's ls command with this nice Rust variant called exa, but it's also MIT licensed.
https://the.exa.website/
Add a comment...

Michael Murphy

Shared publicly  - 
 
Due to a lightning strike directly outside the bedroom window of my apartment, which my cat witnessed first hand as he was in that aforementioned window watching it, all the network boxes in the house were fried. The only thing that was damaged was my modem, router, and gigabit switch, of course.

As a result, I have recreated the GNU Parallel program in Rust, which was rather trivial using the channels mechanism, without any external dependencies, Rust or otherwise. Hopefully, I'll have it uploaded to my GitHub repository sometime later today.

The purpose of Parallel is to allow us to run commands in parallel to saturate all available CPU threads, given enough inputs. If you have an eight core, sixteen thread processor and a collection of thousands of FLAC files that you wanted to compress with Opus, for example, you would use Parallel to compress one file per thread in parallel.

parallel 'ffmpeg -v 0 -i {} -c:a libopus -b:a 128k {.}.opus' ::: (find -type f -name '*.flac)

The way that I achieved this was to create a pool of threads with a channel for sending input values, and a channel for communicating back to the main thread to signify that it's complete and ready for the next task. Each threads handle and associated channels are then stored into a structure and appended to a vector outside the loop. These threads will sit in the background blocked until they receive an input value.

After initializing the threads, I pass the first set of variables to each thread to kick-start the process. After that, I cycle through the threads repeatedly at a set time interval to check the threads for the completion signal. If a thread is waiting for a task, I then issue the next value. After every input value has been submitted, I send a signal to tell the thread to stop, and then wait until all the threads have finished using the thread handle's join() method before exiting the program.
3
Add a comment...

Michael Murphy

Shared publicly  - 
 
This will be a pretty big win for Linux as this will allow Firefox to be capable of streaming Netflix, and WebP images will shrink bandwidth consumption greatly, due to it's superior compression over PNG, JPG, and GIF.
 
http://www.phoronix.com/scan.php?page=news_item&px=Firefox-49-Widevine-Linux There are two exciting bits of Mozilla Firefox news to pass along today: Winevine support on Linux out-of-the-box to handle Netflix and friends. Separately, WebP image support is being worked on.
3 comments on original post
1
Add a comment...

Michael Murphy

Shared publicly  - 
 
Gluon is another interesting Rust project, if you have an interest in embedded languages (using a language within a language) with a Haskell-like syntax running in a virtual machine. It is built in Rust and is thus accessible by Rust, but it is possible to use it with other languages.
gluon - A static, type inferred and embeddable language written in Rust.
4
1
Add a comment...
Michael's Collections
People
In his circles
23 people
Have him in circles
462 people
John Sparks's profile photo
GreenMonkeyReviews's profile photo
Neyeuma Ezekiel's profile photo
Sean Rhone (Espionage724)'s profile photo
R. Drew Davis's profile photo
Anshuman Sharma's profile photo
Agaz Aroza's profile photo
Joseph Affonso Xaxo's profile photo
mariela paz's profile photo
Communities
14 communities
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Ashburn, Virginia
Previously
Saratoga, Arkansas - Nashville, Arkansas - Hope, Arkansas
Contact Information
Home
Email
Story
Tagline
What do you see when you reverse the chessboard?
Introduction
I speak concisely, or not at all.
Work
Occupation
Information Technology
Skills
Critical Thinking, Logical Problem Solving, Computer Programming: {C, C++, D, Go, Java, Julia, Python, Rust}, Shell Scripting, System Administration, Linux, Windows, Mac OS X, Computer Hardware and Software Repair, Computer Networking, Technical Writing, Scribus Desktop Publishing, GIMP Image Manipulation, Krita Image Manipulation
Employment
  • Howard Memorial Hospital
    IT Intern, 2010 - 2011
    Keeping records of all the available IP-connected devices, RDPing to Windows desktops and performing regular maintenance updates and upgrades, solving user errors, performing maintenance of printers, auditing computer and network equipment, installing new systems, computer repair, and managing networks.
Basic Information
Gender
Male
Relationship
In a relationship
Michael Murphy's +1's are the things they like, agree with, or want to recommend.
Glovebox - Side launcher – Android-Apps auf Google Play
market.android.com

Glovebox brings to android the best way of multi-tasking. Swipe without lifting the finger to select an application to open. You don't even

Text Mode
chrome.google.com

Browse the web without distractions via simple text based pages.

GIMP
plus.google.com

Free application for serious image manipulation

Scribus
plus.google.com

Free cross-platform desktop publishing (DTP) solution

Linux
plus.google.com

Linux - doing it right

Apple: They Didn't Build That - Ideas Apple Bought, Borrowed and Stole
www.bestmastersprograms.org

A look at the ideas Apple bought, borrowed and stole to create their most popular products.

I've been trying to find a proper Chinese restaurant ever since I moved from Southwest Arkansas and I have just been having a difficult time because all of the restaurants in the area are in poor quality across the board. You would think that the cities would be able to offer higher quality Chinese restaurants than small rural towns and villages, but that is not the case. How sad it is that when you purchase something as simple as sesame chicken, here and every other Chinese restaurant, that they deliver you a plate full of soggy mystery meat containing large amounts of unhealthy fat, and for obscene prices to boot. I'm used to going to a small, quiet restaurant in Nashville, Arkansas named the Chinese Buffet that would let you eat as much as you want for a low fee of, say $6 per person, that offers higher quality egg drop soup and chicken made with only the best parts of the chicken -- no fat, and no mystery meat, perfectly crispy all the way throughout and not soggy like Chau's Cafe. While it's common for Chinese restaurants throughout Southwest Arkansas and Texas to offer high quality food at low prices, apparently it's the exact opposite here.
• • •
Public - 4 months ago
reviewed 4 months ago
Coming from southwest Arkansas where Mexican restaurants are a dime a dozen, I'm going to have to place Uncle Julio's below the quality of the worst Mexican restaurant I have ever been to. Not only are the prices exhorbitant, such as charging $10 for a small bowl of queso whose actual market value is 50 cents, the menu is greatly lacking in quality Mexican food and the portions are miniature. I'm sorry, but you have nothing on small town restaurants like La Villa from Nashville, Arkansas. At least La Villa can offer a complete full course meal on a large plate for vegetarians at half the price of a bowl of a queso at this establishment, with fresher ingredients to boot.
• • •
Public - 4 months ago
reviewed 4 months ago
3 reviews
Map
Map
Map
This is one of the worst places you can possibly eat in Southwest Arkansas, especially if you are a vegetarian. Their menu is completely void of any vegetarian options besides a meager selection of vegetables offered as side dishes for exorbitant prices, some of which even contain meat. For $7, I ordered mashed potatoes, baked beans and french fries. What I received was nothing more than a handful of Walmart-quality french fries, a small portion of mashed potatoes and a tiny sauce dish of baked beans that literally contained half a cup of sugar mixed in with a few beans and BACON. Why on Earth a vegetable dish of baked beans contains bacon is beyond my comprehension. Even the sweet tea that I was served was nothing more than tea-flavoured syrup. Do people really stomach this amount sugar on a regular basis? As a result, I could not eat the baked beans, quickly finish the mashed potatoes in about four spoonfuls and ate the french fries within twenty seconds, despite waiting 20 minutes for such a small dish. My advice? Either cook a real meal at home for a seventh the cost or just heat up a bowl of noodles. You'll save money, it will taste better and you won't have to leave a restaurant still hungry. P.S. Their menu has bad typesetting which is really annoying to look at. You can tell that they used spaces rather than tabs so their menu items aren't aligned correctly.
• • •
Public - a year ago
reviewed a year ago