If this kind of ethics sheet and tool set was applied everywhere, we would be 50 years ahead of the current software; 100 if we also forced all software to be open source under a MIT, BSD, or any similar license. But that's just this programmers opinion.
I used foundation for years, and it really is a great framework. However, since I discovered Semantic UI, I simply can't find a good enough reason to switch back. I just find it much easier to develop and create prototypes on Semantic. Check it out.
Related:<br>
I happen to be the one in charge of the official WordPress theme for Semantic, if you want, you can check it out here.
I have been doing a lot of research into distributed platforms/applications lately, as I am building an application that will need to take advantage of a distributed platform. While I haven't been able to put all of the below into practice simultaneously, I have tried each individually (as well as many others) to help decide what should (or shouldn't) be in my application.
In my opinion, the only way to be continuously successful with any distributed application is to implement the following:
- <abbr title="Hierarchical Model–View–Controller">HMVC</abbr>, <abbr title="Presentation–Abstraction–Control">PAC</abbr>, or similar system architecture
- Package management/build tools (e.g. NPM, Composer, Gulp, Grunt, etc.)
- Great server & client side caching
- <abbr title="Testing Driven Development">TDD</abbr> + Continuous Integration service
- Easily/quickly scalable servers
- Good in-code documentation
- Use plenty of open source libraries
Without these, managing and extending a distributed application seems to just become too cumbersome. Beyond these things, there are plenty of "optional" extras (such as using a build language, semantic versioning, and/or Git) that will greatly help the process.
EDIT<br>
Also, while it may take ~1 second to send a page to the user from the time the request was sent, the machine will usually process the request and move on to the next after about 200 or 300 milliseconds; the rest of the time is spent jumping between servers/routers to get from the server to the user.
Of course for more complex applications, the process time can increase some. But if you are using a using a distributed application, this increase can usually be negated or at least minimized.
+1 For the very informative slideshow!
What did you use to make it?
If you don't mind standardizing the template variables to either upper or lower case; then you could use PHP's string translate function (strtr) which would probably be considerably faster than regex.
Alternatives:
Cloudflare and/or Rackspace Cloud File container
Cloudflare has a free option, and Rackspace is something like $0.12 USD per Gigabyte of transfer + storage (also cheap). Also Cloudflare can be used on top of AWS or Rackspace.
Many people find AWS to be intimidating; so these would be an easier step in the right direction.
A personal favorite of mine: Multilang Color Schemes
@lightblade (without looking) I am pretty sure this could be done fairly easily with cURL and the twitter API.
@dtao Great article. Though I think it may be a little narrow in it's focus; which almost gives the impression that Bootstrap is the only framework worth using. (it's not)
@amtiskaw I completely disagree. There has been MUCH interest between web developers on more semantic code. Otherwise this article wouldn't be popular in the first place.
@michaw I am actually working on the official WordPress port for Semantic UI; I have had a much easier time integrating it than when I tried to do something similar with Foundation. Though I haven't used Foundation 5 yet.
Just keep in mind that Semantic UI is designed to be separated out and you should only include the parts you actually used in production. As a base I would get started with grid
, segment
, button
, form
, and menu
from Semantic UI and just add on as needed.
@houdeanis Thanks, I haven't had the chance to try a pour over yet, and I wanted this article to come purely from personal experience. Though I will definitely give it a shot when I get the chance. I also don't know of any local roasters, so it can be hard to get fresh beans, though I will be trying Tonx soon.
Try Pagoda Box:
git/sftp for changes, rollbacks, completely scalable, pay for what you use, super simple.
Drawbacks:
PHP only
Illustrator & SVG's are nothing new to me, but it hadn't even occurred to me to us them as sprites. +1 for innovation.
Edit:
On a side note, I prefer the <object>
method over .no-svg
. But that is only because I prefer not to rely on JS when I have the option.
@db123 and I should care about your opinion why? Typically I would probably listen and change it, but that comment you made just makes you look like a jerk and I don't take advice from jerks.
Edit:
After thinking about it, inspiration struck. Enjoy.
To be honest, I hate it when people force me to click through. I rarely do it, and it just makes me think less of the author. Not trying to tear you down here, it just if you really want people to read your stuff, then just post it the right way. If people really do like what you wrote, then they will become active users on your sites because they are actually interested in your content.
@iploppable Considering the amount of work that has already been put into the project, even though it's not at 1.0, it's pretty darn mature. As I stated above, I would wait until 1.0 before using it in a production environment (so they can work any kinks out & add to the project), but there's no real reason why you couldn't start using it in some private projects. Moreover, with the amount of features that are completely done, you could easily create a very nice site... such as the Semantic UI site itself.
Don't forget that their is the LGPL (which is MIT compatible). This license is basically a much more verbatim version of the MIT, and would be much stronger in court. On top of this there are plenty of licenses out there.
Depending on the project I am working on, I typically switch between using the GPL, the MIT w/ LGPL, the MIT, & the WTFPL. The GPL is the most restrictive and WFTPL has no restrictions at all.
Many people think that by not adding a license, they are allowing anyone to use it. This is actually completely untrue, as these works are legal considered unusable until long after the author is dead.
See this article for more: click me
@dylan_k There is an SFTP package (which I think has keyboard shortcuts), but sublime doesn't really specialize in server interaction (though this is a common request for sublime).
As far as code cleanup, there are a couple of linting options, most of which work perfectly, and there even some packages that will help you align and document your code.
Sublime does have a very advanced find/replace feature by default. Ctrl+Shift+F
will open the palette on on the bottom of sublime. it supports the search of multiple directories, regex, and a few other things.
Given you have already install package control, you may just want to type a few key words into install package search. You will find a ton of stuff under things like git
, php
, html
, css
, etc.
why treat logos as a font when they can have so much detail? Not to mention it can be a pain to get the coloring just right. So if you want to have vector based logos, you should try webicons... and yes they have coderwall.
Dreamweaver's default color scheme for code is far to bright for coding in low light (where I do most of my coding) so I would suggest a dark color scheme. Out of personal preference I use MultiLang Color Schemes for 3 very good reasons:
- The project designed to let you easily discern different languages without actually reading the code.
- It's available through Package Control (which is a must for Sublime Text)
- I am the one who started the project
Also as far as packages (aka plugins) you should install for sublime text, many people on this site (myself included) have written protips about suggested plugins. So if I were you, I would search the Sublime Text section of this site for some good plugins to install.
Good Tip!
Here's what the PHP might look like:
$pretty_print = 0; // E_STRICT prevention
if(isset($_GET['pretty_print']) && $_GET['pretty_print']==1){
$pretty_print = JSON_PRETTY_PRINT;
}
json_encode($data,$pretty_print);
Great tip!
here is a quick wrapper function for it: (Gist on Github)
<?php
function _strlen($str, $use_encoding=FALSE, $encoding='utf8'){
if($use_encoding){
return mb_strlen($str, $encoding);
}
return strlen($str);
}
// usage
$string = 'Tschüss';
echo _strlen($string, 1);
@lautarodragan I am not familiar with perforce, but self-host does bring some advantages that a 3rd party can't do. As mentioned before, you could setup Gitlab so that it only be accessed via LAN, which would allow an instant connection, and eliminate the possibility of remote hacking. You could also set it up as a server on your network, making it technically public, but the server would only be accessible to those you gave the IP of your network. Then there are aspects such as being able to change the listening port or having team management options. Other than that it is just a standard Git-based versioning system that is on par with most other versions systems.
@jacaetevha honestly I have never used bitbucket (mostly because I just never got around to trying it), but self-hosting does have some other advantages (which some people may like). Like being able to change what port your configuration runs on, running on an unlisted IP, or running it strictly over LAN (what my company is doing). Most things are security advantages, or simply just the amount of customization you can do, such as unlimited users or changing GUI of the system.
Very Interesting! I suppose the best part is the backwards compatibility, if they don't support css3 they just get the standard color, though the hover
portion wouldn't work properly (easily fixed by using a slightly darker color on hover)
@gpakosz Eh coderwall is prolly still serving the cached version of the link. As far as any rudeness, no worries. I am not especially familiar with git options on windows, as I typically use linux CLI's and manage my repos remotely, so thanks for mention some other applications, I'll have to look into them.
All ANSICON does is give the standard windows prompt understanding of ANSI characters (which allow colors in CLI's). It does have the ability to be permanently installed or temporally instanced, but other than that it doesn't do anything else.
@gpakosz First off git shell comes with the gui client, and given you add it to your $PATH you can use it in most any command line across your OS. The reason I picked the windows link is because windows is simply the most common OS (especially for beginners), and most programmers that use mac/linux know how to get git if it isn't already installed. The ANSICON link is dead because the site I was hosting it on was discontinued by the owner (I updated the link just now), so that's prolly why it asked you for a login.
Also, if your determined to have your own custom setup on windows with linux comands (which is what I typically do) those 3 are probably your best option, which is why they are in the same sentence. I even gave a hint on how to do it in a standard batch file via set /p
. (although this isn't the only way to do it)
Finally, since you somehow didn't get the message from the post: If your someone who uses shell a lot, you should probably take the time to give it some of your own personal flare, to make it a little more enjoyable. I threw in the bits about Perfect Shell , cause it's relative to the topic and it's my post I can write it however I want.
Great article! I completely agree. The only issue I see is with young companies wanting things done "now" and not wanting to wait for the redundancy systems to be put into place.
in the interest of the phrase, "Feel free to leave a comment or contact me if you have any questions or would like to discuss anything." I was curious what exactly a GCR Hacker does?
@mbugua_lee I have used both as well, and when it comes to most web development (my particular focus) I prefer sublime text. Additionally, the simple ability to switch between themes, fonts, plugins, files, etc. on the fly pretty much wins it for me.
Edit: Please list some of those features, I would love to be enlightened
Sorry, but I am going to have to do this:
Sublime Text
Had to share this:
So I curl'd to one of my servers (forgetting what I had set as the index file) and it simply replied with meh
First thought: Did my own server just refuse to tell me something???
And that's the story of how I trolled myself
@paprikkastudio Great points, I hadn't thought to mention style guides. I'll add a mention to your comment in the article. @nucc The reason I like his comment and not yours is he gave valid and detailed reasons. Though due to the length, I may have suggested he write it as an article; but in any case, thank you both for your comments.
@nucc While I understand what your saying, in my opinion what you said is just silly. More or less for the following reasons:
How much it effects my programming ability to read different tab sizes: 0.0%
How much I appreciate it when programmers consider other people: 100.0%
Coincidentally, this entire article is about reason number two.
Hey just letting you know, this post inspired a little rant from me.
@dpashkevich No Problem! Also thanks for mentioning that, there are a few things in their file I haven't seen before.
@teachmeter I misunderstood what you meant; additionally, at the time I posted this I was working on a faster solution for windows using ansicon, but its been a while since I have had time to work on it.
PS
every once in a while I like to go back through all my protips to make sure I didn't miss any comments, thus the delayed response.
@teachmeter .... cygwin is designed to give you access to linux commands on windows.... meaning it is completely useless and redundant on any linux system.
Awesome Tip! +1
Interesting... +1
Didn't think of "stacking" images like CDs, thanks for the tip and the inspiration.
@dpashkevich thanks for catching that!
@dimasmagadan Thanks for noticing, the mixup. The other post has been forwarded here.
Also: Everyone likes free money: I get a $10 credit to my account for every one who clicks that link and becomes a paid member, they also get a $2/mo discount.
@alixaxel admittedly I actually hadn't heard of the flexbox module yet. I did a quick bit of research on it, and it's very interesting. Related Note: I'm not against it (if anything I am definitely for it) but at the same time both css3 & htm5 are still relatively new. I doubt I am telling you anything new, but more or less my point is that not enough time has passed to ensure that the amount of users who won't have support for html5/css3 is minimal. So basically, until a couple years from now (or until Microsoft gets their head out of their rear), I personally avoid using too much html5/css3 elements. But to be fair I haven't yet taken the time to test the backward compatibly/effects of flexbox.
@dpashkevich Actually no, the only key that actually use in that area is the del key. But if you are someone who does normally use that area, then you should probably go with "fixed" version. But really it's up to you.
@jisaacks No Problem! Your plugin works great for me. Also I debated whether or not to include it in, in the end I decided to include it because it was technically a package that was installed but I added a (duh)
after.
@alixaxel Last I checked, changing the design of a website would require you to rewrite the most of the design anyway, unless you are talking about minor updates, in which case... table can have classes, IDs, etc.. so there shouldn't be a real difference. Additionally I am not aware of a mobile device that does not support tables, in fact considering that they were introduced in HTML 3.0 I don't think there is any type of browser currently available that does not support them. Lastly, even if they are not usable in a situation, it doesn't take long to replace them, so I really have no idea what you are fussing about.
@coderwall bafamydn is spam