Today I’m happy to make public the work I’ve been doing to make some kind of “standard” for sending files over websockets. I call it GalileoSend because it was created for the Galileo CMS.
The protocol itself is language independent for both the client and server side, assuming that both can open a websocket connection and send JSON (as text) and binary data over it. Since communication by websocket is cheap, 2-way communication is highly encouraged throughout the transfer and positive confirmation of receipt is required.
Further, I have written a javascript client-side implementation (which could be used for any server) and a non-blocking Mojolicious server-side implemenation (which could be used for any client).
Perl is very flexible in may ways including whitespaces. Perl does not force you to use tab or spaces. The script works fine no matter if it has DOS or UNIX line breaks.
But there are some good practices. I preffer these rules:
every line ends with "\n" (including the last line)
UNIX way for new lines (only "\n", not "\r\n")
no tabs, but 4 spaces instead
no trailing spaces
no empty lines in the end of the file
I want to make sure that all that rules are followed in my source code. So I've written Test::Whitespaces. There are several good things in this module.
As some of you probably noticed, from my
post in TPF blog
, there were no grant proposals in the last six months. I am not sure how to interpret this lack of interest in grants. But there are some ideas that come to my head:
People do not need money :-)
People prefer to do things by themselves, without any schedule or pressure;
Nobody uses Perl anymore
Everything Perl needs is already on CPAN
The maximum amount of a grant ($3000) it not paying anything
I am not sure if there are other reasons. But I would love to hear comments (constructive comments, please) about this issue.
I must say that the less grants proposals we receive, the less I need to work. But I volunteered, and it would make me happy to have interesting projects running.
First, I want to apologize. My follow-up to the Perl 7 post was not very polite. When I predicted that "nothing" would happen, even if people wanted it, I could have said that in a much kinder way. In particular, my apologies to Ricardo for that.
As for "Perl 7", let me be clear: I don't support it. I originally asked the question because I wanted to know what people thought and instead of kicking over a rock to see what was underneath, I kicked over a hornets nest. More importantly (to me), I got my answer in spades.
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a Perl Catalyst application.
In these notes I continue to explore what it might take to create a blog application, focusing on how to use CSS to layout a page.
The number of people registered on the conference site went over 100 recently. So, since this week, we will deliver our weekly newsletters to your mailboxes. There's also a permanent place where you can catch up with the latest news about the conference. At act.yapc.eu/ye2013/news/ we are collecting all the previous newsletters.
Just a reminder that everything has been open: user registration, online payment gate and talk submission form. Just explore the site and act: yapc.eu/2013.
Today we would spend some time talking about Perl 7. Probably there's no one here who did not see at least a small portion of the discussion that burst a week ago on blogs.perl.org and nntp.perl.org. There were a number of posts about, well, yes, Perl 7. The title of this year's conference is Future Perl, so we as the organisers are very excited about the chance to move Perl forward exploiting the conference.
You may have noticed my commentary on the Perl version number debate. I think that that debate is a possible way of raising the profile of the language we love, but that’s not why I called.
chromaticpetdance and I’m sure others have suggested that rather than infight (which I don’t believe I’m doing, btw) is to make something great and show it off. While I don’t think this is enough to raise Perl’s profile ourside of our community, I have seen and IMHO done some very cool things this week:
Signal that you'd like to pass on your modules by giving the virtual PAUSE user ADOPTME permissions. I've always been amazed at one of the least appreciated features of CPAN: people will step up to maintain or shepherd modules that aren't scratching their itch. It's a different sort of activity than the long-term or drive-by participation that most open source projects rely on. There are a group of people who maintain CPAN projects that they don't even use. There are a few that I handle that I've never used in a program.
I think we can improve on this wonderful but underrated social feature. I created the ADOPTME user awhile ago to house the distributions from PAUSE authors who had passed away. I would modify the build file to give a warning, bump the version, and upload as ADOPTME. That's too much work, though.
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a Perl Catalyst application.
In these notes I continue to explore what it might take to create a blog application, focusing on how to use a database.
Earlier today I wanted to install git on Windows so that I could keep my distroprefs synced between smokers. I almost installed Git for Windows but I waited.
A little bit ago, I was asked to test a new version of Net::Printer (after I submitted a bug four days ago that the tests were hanging on Windows) which resided in a GitHub repo. There was this shiny button labeled "Clone in Windows" which I clicked. I was taken to GitHub for Windows which I downloaded and installed. I already like this better than the last time I used Git for Windows (not that it is bad). Now that I've got it installed, I seem to remember seeing this before so I guess I had just forgotten about it.
A very small script to check the masking information for each of the cloned devices.
Please note that this is the first and very basic version and I will post an updated version as soon as possible.
The Symmetrix Storage Arrays have a concept of "clones" where in the storage devices are paired for data transfer. During certain activities, it is important for a storage administrator to ensure that the correct device is made visible to the correct server. During this checking process, the command to check masking records (masking refers to the act of making the SAN Storage Devices visible to hosts) of each of the hexadecimal devices shown below has to be run individually. The command to check that is -
symmask -sid 000190101234 list assign -devs BB01
, where sid is the symmetrix array ID and the BB01 part is the device ID. The script automates the process.
Here's the output of the clone device command - :
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a Perl Catalyst application.
In these notes I begin to explore what it might take to create a blog application.
This is fun. Maybe even too much fun, I didn't get enough sleep last night :)
Hacking on a live website with real users is so much more interesting than developing it in a local sandbox.
(I'm developing and supporting a big website with >1M hits/day at my daily $job, but somehow it's just not the same.)
In the last 24 hours, I implemented:
open quests counter in /players list
News Feed with opened/closed quests and new comments
likes and comments counter in the quest list
several bugfixes and html/css improvements
I think that's more features than I've added in the last 2 months :)
play-perl was only just announced, but I've already fallen in love with it. There seems to be some confusion about how it works, so I thought I would lend my interpretation. Note that I did not write it nor am I affiliated with it, but I think it's awesome and want to get people using it!
If you're like me, you have a lot of ideas floating around in your head for open source projects. Mine tend to be oriented towards computational science, but it could be anything. And, if you're like me, a big part of your open source experience centers on making others happy by helping them solve their problems. The question naturally arises: among all your random ideas, what would be the best thing to work on? What will make the most people happy if you complete it? Should you write a blog entry explaining a feature, or add a new feature?
This is what you get after only 2 days of Perl version numbering scheme discussions - #perl on freenode:
10:17 < someone> i have been hearing rumors about a certain Perl 7.0
10:18 < someone> is it true? Any links / confirmation about that ?
10:21 < someone> last time i was in this channel (one year ago) perl 6 and perl 5 were two different entity....
10:21 < someone> is it still the case ?
10:21 < someone> does that mean perl 7 will merge those two ?
^^^^^^^^^^^ Yeah, this is probably what many people would expect - I didn't even THINK about that..
10:25 < someoneElse> when i proposed that some time ago in this channel, the reaction was "that'll only create more confusion." guess that's still true...
10:26 < someone> the fact that perl 5 and perl 6 are two different entity is confusing enough
^^^^^^^^^ Here is what the average Perl user thinks about all this...
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a simple Perl Catalyst application.
I started smoke testing on Windows a short time ago. I already had Strawberry Perl 5.12.3 and CPAN::Reporter. I installed CPAN::Reporter::Smoker and started it up.
Then I did the same thing on my laptop that was running Strawberry Perl 5.16.2.
I quickly discovered that many modules will hang during the make or make test phase. I looked around the CPAN Testers Wiki and found out about Distroprefs (http://wiki.cpantesters.org/wiki/Distroprefs). I didn't pull down anyone's repo though. I just started compiling a list of my own one by one as I encountered problems (making sure to check for bug reports too).
After a few days, I had pretty much the same list of hanging modules on both PCs. I thought "hey, I already have Dropbox installed on both computers, why not just link the prefs to a directory under Dropbox?"
Open a command prompt with Administrator rights and run:
mklink /D target source
Whenever HBA WWNs are entered in Cisco SAN Switches on the command line prompt, A colon (:) character needs to be added at every second position in the WWN. Also, the WWN has to be lower case.
So in case you get a WWN like so - 10000000C9ABCDEF it needs to be converted to lower case and : needs to be added. The following script does this.
Here it adds ":" and lowercase. It also checks if the characters entered are Hex, if the length is correct and if any unwanted characters are given or not. In these cases, it takes you back to the prompt to enter the WWN.
It also does it the other way around, i.e. if you enter a WWN with ":", it removes them and does all the checks as mentioned above.
The Ever Helpful Monks at PerlMonks gave a lot of suggestions, and I've tried to incorporate them here.