[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
/wdg/ - Web Development General
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 255
Thread images: 44
File: mVEL2kW.jpg (167 KB, 1024x1344) Image search: [Google]
mVEL2kW.jpg
167 KB, 1024x1344
Previous Thread: >>54718122

NPM is shit edition

>IRC Channel
#/g/wdg @ irc.rizon.net
Web client: https://www.rizon.net/chat

> Discord
https://discord.gg/0qLTzz5potDFXfdT

>Learning material
https://www.codecademy.com/
https://www.bento.io/
https://programming-motherfucker.com/
https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md
https://www.theodinproject.com/
https://www.freecodecamp.com/
http://www.w3schools.com/
https://developer.mozilla.org/
http://www.codewars.com/
https://youtu.be/JxAXlJEmNMg?list=PL7664379246A246CB - "Crockford on JavaScript" lecture series.

>Frontend development
https://github.com/dypsilon/frontend-dev-bookmarks

>Backend development
https://en.m.wikipedia.org/wiki/Comparison_of_web_application_frameworks
https://gist.github.com/dypsilon/5819528/

>Useful tools
https://pastebin.com/q5nB1Npt/
https://libraries.io/ - Discover new open source libraries, modules and frameworks and keep track of ones you depend upon.
https://developer.mozilla.org/en-US/docs/Web - Guides for HTML, CSS, JS, Web APIs & more.
http://www.programmableweb.com/ - List of public APIs

>NEET guide to web dev employment
https://pastebin.com/4YeJAUbT/

>How to get started
https://youtu.be/pB0WvcxTbCA - "WATCH THIS IF YOU WANT TO BECOME A WEB DEVELOPER! - Web Development Career advice"
https://youtu.be/zf_cb_Nw5zY - "JavaScript is Easy" - If you can't into programming, you probably won't find a simpler introduction to JavaScript than this.

>cheap vps hosting in most western locations
https://lowendbox.com
https://www.digitalocean.com/
https://www.linode.com/
https://www.heroku.com/
https://www.leaseweb.com
>>
First for Go is fast.
>>
File: Savaj.jpg (10 KB, 276x270) Image search: [Google]
Savaj.jpg
10 KB, 276x270
Hi i am experience php coder. Anyone want to hire?
>>
>>54746799
can you speak english good? and will you work for $2.35 per hour?
>>
File: lookbook_final4.jpg (128 KB, 1024x768) Image search: [Google]
lookbook_final4.jpg
128 KB, 1024x768
This is why you can get a job in development.
>>
>>54746830
Of course. I live in new jarsy, my name is Tom like American name. Your office in designated poo street?
>>
File: image.jpg (103 KB, 599x540) Image search: [Google]
image.jpg
103 KB, 599x540
>>54746889

A moment of silence for that poor chair.
>>
>>54746889
Imagine the smell of that chair after the hamplanet sat on it
>>
File: 1464142370974.gif (444 KB, 500x376) Image search: [Google]
1464142370974.gif
444 KB, 500x376
>>54747257

hmm.... anal juice.
>>
I've been stuck on a problem with node.js for fucking hours now and I need help. I have an array set up in express and I want to pass it along to jade, but I can't figure out how routing works. I have tried passing along basic strings and shit but it just doesn't work. Can someone give me some sample code for how to get this shit set up? I just can't figure it out.

Pieces of relevant code are:

app.get('/', function(req, res, next) {
res.render('index', {"books": ["A", "B", "C"]});
});

in express and
    body
ul
each val in {books}
li= val

in jade.

Anyone got any idea what I'm doing wrong?
>>
>>54747773
I don't know what Jade is, but if you want to pass an array of data via express then you can try:

app.all('/send_data', function(req, res){
res.send([data1, data2, data3, (data4[0] + data4[1] + data5 + 500 + 200)]);
});


I noticed you are using
app.get

...to try and send data.
>>
>>54747907
From my understanding, .get is used when a get request is made. I've only really had stack overflow answers, their documentation and example code to go off though, so could be wrong.
Anyway, switching it out to
app.all('/send_data', function(req, res) {
res.send({"books": ["A", "B", "C"]});
});

Didn't work either, and not sure how else I would adapt it
>>
>>54748016
did it work for passing a basic string?
>>
>>54748032
app.all('/send_data', function(req, res) {
res.send('/index', {foo: 'bar'});
});

and
    head
title= foo

doesn't work at all. I'm pretty certain I've got to do something with routing, but the documentation on routing is so confusing that I haven't got a clue how to do it.
>>
>>54748016
the code you used in your first post worked for me, have you set your view engine to jade?
app.set('view engine', 'jade');
>>
>>54747773
res.render('index.jade')


use the full file name
>>
>>54748074
Yeah that's set, but I'm working in another file than the default app.js, and now I have a feeling it has something to do with that. Is there something I have to do to get that to work?
>>54748116
Didn't work.
>>
File: 1410133238995.jpg (138 KB, 396x1076) Image search: [Google]
1410133238995.jpg
138 KB, 396x1076
I'm going to be working on my startup all summer, coding the rest of a website we're (or, well, I'm) building.

I'm planning on streaming the process, starting tomorrow, and continuing every weekday. Each streaming session should last about 7-9 hours, hopefully, and I'm pretty excited for it.

The thing I'm worried about is that programming isn't always interesting. Can you guys think of anything that might make the stream more entertaining or useful? I was thinking of letting people come to me with programming-related problems to let me try and help them, but I don't know how well that will work. Plus, while I love helping people, I do need to spend most of my time working on my own shit, not tutoring people.

Any ideas?
>>
>>54748161
I should mention that just running nodemon at root runs the file as a console.log prints out.
>>
>>54748191
let me work on your dank startup with you
>>
>>54748191
Unless you are doing something very esoteric, why would anyone want to watch you program?
>>
anyone got any experience with typescript?

im trying out phaser.js and following a simple tutorial to learn the basics of phaser and i might as well do some typescript with that.

the definitions work fine but when i try to compile i get this error

>tsc Game.ts
Game.ts(12,13): error TS1008: Unexpected token;
'statement' expected.
Game.ts(18,5): error TS1008: Unexpected token;
'statement' expected.


dont quite understand the issue here.

this is the source:
http://pastebin.com/y6QPcnpt

i dont know what could be worng
ive tried inserting semi colons but the error still persits
>>
>>54748161
post full code, both files
>>
>>54748370
wc3.js: http://pastebin.com/VyprcHCE
index.jade: http://pastebin.com/gtBb0cbW
app.js: http://pastebin.com/LDUF5rnM
>>
>>54748402
you have 2 separate app instances in app.js and wc3.js

wc3 should be something like:

module.exports = function (app) {
// ...
}


and index.js should do this:
var app = express()
var wc3 = require('./wc3')(app)
>>
>>54748402
>>54748484
i believe you can also export the router in wc3.js and app.use(require('./wc3')) in index.js
>>
>>54748363
let and var require an explicit type declaration.
let logo: someType = foo
. But you should be using const instead here, because you don't change the reference of the variable. Because the reference is constant with const, TS can infer the type of the variable automatically.
>>
File: UKIDX4utCL3o_wOcUE[1].png (9 KB, 200x381) Image search: [Google]
UKIDX4utCL3o_wOcUE[1].png
9 KB, 200x381
>>54748484
Working it around that way still doesn't seem to work, but with ../wc3 instead.

Here's my file structure for reference
>>
>>54748544
note that all your code should be inside that exported function using the passed in app
>>
>>54748504
thanks.
>>
File: F5H1DZVeNimj_0OHht[1].png (28 KB, 750x397) Image search: [Google]
F5H1DZVeNimj_0OHht[1].png
28 KB, 750x397
>>54748552
Yeah that's done.
>>
>>54748353
I've gotten viewers before. I keep a commentary of what I'm doing, which helps.

>>54748348
It's not actually very dank.
>>
>>54748571
post channel
>>
File: screenshot.png (14 KB, 610x236) Image search: [Google]
screenshot.png
14 KB, 610x236
>>54748568
here's one way you could have a route in a different file, where your wc3.js would be route.js

in your example, your wc3.js exports a new express instance, where it should be exporting a function that calls the buildSheet() function and renders the result from it
>>
>>54748736
sorry about those colours in the screenshot
>>
is my micro-optimization relevant?

function compare1 (str1, str2) {
return str1 === str2;
}
function compare2 (str1, str2) {
return str1.length === str2.length && str1 === str2;
}


do js engines (mainly v8) optimize string comparison by checking if the strings' lengths match before comparing their contents?
>>
>>54746830
>$2.35
damn, even in eastern europoor countries one cant compete with that
>>
>>54748752
js will be slow regardless.

do shit on your server and use js just to animate dicks on screen.

Fuck the new age js libraries.
>>
>>54748752
>>54748768
This. If you want speed, use C#, Go or C++.
>>
>>54748768
it's for a browser extension
>>
File: 0uS5IIejxIAV_EfjVP[1].png (8 KB, 572x328) Image search: [Google]
0uS5IIejxIAV_EfjVP[1].png
8 KB, 572x328
>>54748736
I got that working, and now it only loads everything after I load the web page, but my variables still don't work. Is there any way you can edit my code and see what works for you, as that's straight up not working for me.

For reference, in that image the title should be bar
>>
>>54748752
it does matter a lot.
if you do application size logic optimizing loops and variable declarations can be a difference of a lot of seconds.
if you wanna know more try looking at this: https://www.youtube.com/watch?v=v__8ihsdsm8&list=PL7XjSnbRqMYXAb0zF66uhiEdX0tsSwGge
its very quick and you can get through it in an afternoon but it imprints some good practices onto you.

generally you optimize wherever you can. not just the backend.
>>
>>54748752
>is my micro-optimization relevant?
looks like it is. using latest chrome canary for test.
>>
File: Capture.png (12 KB, 250x280) Image search: [Google]
Capture.png
12 KB, 250x280
>>54748872
i''ve got this working
https://gist.github.com/anonymous/86430500cc07f76508a828a757be4cb6
>>
File: Capture.png (19 KB, 378x358) Image search: [Google]
Capture.png
19 KB, 378x358
>>54748752
>>54748888
Looks like it doesn't matter at all, once the JIT compiler optimizes it.
>>
>>54749046
are you sure, still seems to matter? also, is the ES-6 syntax relevant???
>>
>>54749163
I know that arrow functions and let/const are more easily inlined and optimized. In fact, after running them a few more times, some returned 0. So I assume it does some preemptive checks and compiles the result as a constant. V8 is amazing.
>>
>>54749023
yoooooooo thanks. I see what I did wrong now, I was treating it too much like base Javascript. Now to work on the rest zzzzzz
>>
>>54746692
hey wdg, Im finally back on track to star some real web dev, and i noticed theres a lot (more) of tools and frameworks, which ones should I stay away from?? and post why.
>>
How can I make some presentable projects in a day per project in JS and Angular? Please please help.
>>
holy fucking shit JSLint is a piece of shit, why wont it stop bullying me!! my productivity has been halved ever since ive started using. CAnt even focus on my project anymore.
>>
>>54749878
If you have to ask, stay away from all of them.

>>54750026
Find or make a good make a template to start from so you don't have to do boilerplate stuff over and over.

>>54750062
Quit writing such shitty code then.
>>
>structuring HTML with JS
stop
>>
Just starting out web development and since im coming from a c background, I love optimizing stuff.

Is there some sort of tool out there which will optimize a JavaScript file before putting it onto the web?

Stuff like:
>Strip unnecessary whitespace
>Remove comments
>Shorten variable names

Would any of these optimizations have any significant impact at all? Im beginning to make games in WebGL and want to squeeze every little bit of performance out of JavaScript that I can. I like to keep code neat for myself but when putting it onto the web I would like as much performance for my clients as possible.
>>
>>54750360
nobody does that, stop projecting.
>>
>>54750513
jslint.

Would any of these optimizations have any significant impact at all?

dont use js for speed.
>>
>>54750513

You can't do much to optimize js for speed (except not do retarded stuff, of course. Keep big O in mind.)

You can get a pretty significant reduction in size with a minifier though, which reduces load time. If you're reasonably familiar with node, take a look at grunt, gulp, or webpack. (I personally prefer gulp.) They're task runners that you can set up to lint, test, minify, compile, and otherwise transform your code.
>>
>>54750526
>jslint
alright thanks, will try it out.

>dont use js for speed.

What should I use then if I plan on working with webgl?

I know JS will never be as fast as C or other compiled languages, but you can still probably squeeze a little bit of performance out of it. Im new to all this so pardon my ignorance.
>>
>>54750513
Usually js is jitted, so it might help with startup, but not on the long run in general.

And if you do this, please know that you should also provide the sources, for freedom reasons.
>>
>>54750581
>minifier
This tool is great! Just reduced my JS file from 3.5KB to 2KB.

I havent tried node yet but will keep those tools in mind for when I learn it.

Thanks for the response
>>
>>54750588
>What should I use then if I plan on working with webgl?

WebAssembly in a few years or so. JS is fine though. Just don't do anything retarded, as >>54750581
said.
>>
Anyone here ever used CherryPy? Thoughts/opinions?
>>
>>54746889
>this is a bullshit free zone
>Wordpress
>>
>>54746889
this chair defies physical laws

>gravity free zone
>>
>finished the US-number challange
>want to see a better solution because mine was too long
>see this:

var re = /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})$/;


wew lad
>>
anyone here use laravel thoughs/opinions?
>>
File: 1428030479687.jpg (792 KB, 744x1052) Image search: [Google]
1428030479687.jpg
792 KB, 744x1052
>>54750808
fukcing disgusting, heres some moe to ease the pain.
>>
I'm using PDO to create a view on an sqlite db, but I keep getting database locked even though the permissions for the file is properly set.

This only happens when I'm trying to create a view on sqlite. I can insert and query other stuff normally to the same sqlite file.

Anybody have any idea what's happening here?
>>
>>54751075
are you already logged in from another connection?
>>
>>54751018
>disgusting
>posts a cartoon with no nose

>>>/a/
>>
>>54751111
S Q L I T E anon, it's a file DB.

nice quads by the way.
>>
>>54750880
A few months ago I was playing around with it for a project but then turned to Django. It's neat and all but I think it's lacking features.
>>
>>54751112
stop fapping to chinese cartoons anon, youre going blind, she obviously has a nose
>>
File: mkeconfused.gif (3 MB, 220x212) Image search: [Google]
mkeconfused.gif
3 MB, 220x212
I just went live with that streaming thing.

I'm SHTheSuper on Twitch. Check it out, I guess? Hopefully everything goes smoothly.
>>
What's the usual approach with regard to connection pools and prepared statements, given that prepared statements only live as long as the connection? Do you only prepare statements when it's going to be used several times in the same connection as opposed to several times across connections?

>inb4 nobody here uses either connection pools or prepared statements, let alone both
>>
File: 1415900989475.gif (561 KB, 320x200) Image search: [Google]
1415900989475.gif
561 KB, 320x200
>>54746889
Are they in their underwear? Is that it? Being a female techie is about sitting together and "code" in your bloomers?
>>
should i learn go and why
>>
>>54751254
no because it's shit
>>
>>54751254
Yes if you haven't learned any meme language
>>
>>54751287
i know ruby on rails
>>
>>54751137
> i think it's lacking featurres

like what>
>>
>>54748191
Take a shot of whiskey every half hour and I guarantee people will watch
>>
>>54751254
Yes because learning new languages is not difficult and any remotely popular language is worth learning
>>
lads, how can I check if a <button> is clicked with PHP?
normally I would just do
if (isset($_POST['thing_submit'])) {
blablabla
}

but that doesn't work here because it's not an <input type="submit"> in a form

here's my button:
<button type="submit" name="delete_pig" class="btn_delete"><i class="fa fa-trash-o" aria-hidden="true"></i></button>
>>
>>54748191
The guy who runs cock.li did this a few days ago while writing the website for his new VPS service and said he was surprised at how interested people were and how well the stream went.

You'll be fine
>>
>>54751324
You can't
>>
>>54751324
that's not how it works anon
>>
>>54751324
if (isset($_POST['delete_pig'])) {
//blablabla
}
>>
>>54751408
Except that still won't do anything because he has no form and is making no post request and has no idea what he's doing
>>
>>54751436
then he needs to use ajax
>>
>>54751355
>>54751370
>>54751408
>>54751436
>>54751458
damn, guess I'll just fuck it inside a form then
>>
>>54751486
use AJAX instead
>>
>>54748608
Just did:

>>54751171
>>
Me and my friend just got our first web-dev contract, this guy wants multiple websites to be made. (mostly info sites, nothing complicated)
We want to use rails as our framework (I already have a little experience in it, he uses asp.net at work).
What do you guys recommend as CMS?
>>
>>54751595
forgot to add that we will be hosting the sites ourselves.
>>
>>54751595
> we will be hosting the sites ourselves
thats stupid.
>>
>>54751617
why? He is paying for it, and we got a 9 euro vps.
>>
>>54751653
>9 euro vps
get scaleway's 3 euro vps if you are just doing wordpress-tier websites
>>
What image slider/carousel do you use?
>>
>>54751802
holy fuck, that IS cheap.
>>
>>54751595
wordpress, always

easy as shit
>>
I've found some free hostings in my country and am just wondering what's that about? What could I expect from something like that? Can there be some catch?

Also, is it worth to put some personal projects on there and possibly one news portal?
>>
>>54752000
ads and botnet.
>>
>>54752023
Thought so.
>>
>>54751885
>you know, you can get VPS for free. would tell you how, but already feel bad abusing them myslef.
>>
>>54752205
>meme arrows
Tell me what you know my friend.
>>
>>54752205
are you the legendary hacker known as 4chan?
>>
>>54750513
If you like C, you can try emscripten. Wasm is slowly becoming a thing too. FF/Chrome/Edge already have experimental/beta support for it.
>>
>>54752261
I can tell you one way I havent tried yet.
>get gift card
>register on amazon for 1 year free trial

>http://cloudinary.com/
>free image cdn

>openshfit
>free webhosting by redhat (up to 3 gears, need register credit card for free bronze account and no app idleing)
>>
>>54751312
Performance.
>>
>>54752350
fuck, I should delete this post.. thats too much free stuff
>>
>>54752384
already screenshotted and posted to /r/technology
>>
>>54751254
Yes, because muh performance, muh concurrency, muh maintainability and muh stdlib.
>>
>>54752350
>1 year trial
>image host
>web host

>I get vps'a for free
Wow what a pro. I'll stick with my 5$ OTP actual VPS.
>>
>>54752403
fuck, they are probably going to cancel their free services now because of you. you fucked us both.


serious question, anybody can tell me how much you actually pay for a small vps on aws?? Are they cheaper on monthly basis than digital ocean?
>>
i still use free webs
>>
>>54752440
well, redhtat gives you 3 vps (no root access though), but you can install nay stack you want.

already set up wordpress, laravel 5 and node+mongodb
>>
hey fags, what's a good book to learn ruby/rails quickly, an intro to RoR, or, at least, to use as reference?

>tfw should have learned ruby/RoR for an interview tomorrow, but didn't do so
FML family
>>
>>54752465
>AWS
>cheaper
No. But IIRC Ramnode has some plans that are more bang per a few dollars than DO. I've been with them for almost 2 years and their service is pretty good.
>>
>>54746889
nice legs
:^)
>>
>>54752536
agile developement in rails
>>
>>54752817
thanks an0n
>>
Retard here, learning js/nodejs/express/socketio

How do I separate the socket javascript into a separate file to include into a page rather than sticking it all between <script> tags? Right now if I try that it doesn't work anymore. I'm assuming I'm forgetting to do something.
>>
NodeJS Question:

When handling errors, should you always use a custom error class that extends Error, or is it okay to use a standard Error with a custom error code property added on?

Basically, I'm piping an object through a bunch of .then()s, checking for various things, then .catch()ing any of 5 or 6 different errors that might occur. What is the best way to handle the errors

// 1. just use the regular error obj
let err = new Error("Some message explaining what happened");
// and then check the message at the end:
switch (err.message) {
case "Some message explaining what happened":
// handle error
break;
case "Some other message from a different error":
// handle different error
break;
//etc
}

// 2. add custom prop to err - less verbose than checking message
let err = new Error("Some message explaining what happened");
err.statusCode = 403;
//switch (err.statusCode)

// 3. new error class that extends Error
class FooError extends Error {
constructor (message, statusCode) {
this.message = message;
this.statusCode = statusCode
}
}
let error = new FooError("Some message explaining what happened", 403);
// switch (err.statusCode)

// 4. new error class for each type of error - really verbose...
class FooError extends Error {/* constructor */}
class BarError extends Error {/* constructor */}
// etc

//switch (typeof err)

// 5. something else entirely...?

>>
>>54752817
if anyone else is interested, here is it: http://it-ebooks.info/book/4/
>>
>>54752991
The way I worded that makes it look like I don't know how to include a script file. What I meant is that it doesn't work when I put it into a file and include it like this:

<script src="app.js"></script>


But If I stick all that JS between <script></script> on the html page it works.
>>
>>54753034
Are you sure your src filepath is correct?
>>
>>54753017
definitely don't switch on the error message
>>
>>54753050
Yes, it exists (double checked via page source)

This is the full code just in case (it's just the chatroom code from the getting started guide):

var socket = io();

$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});

socket.on('chat message', function (msg) {
$('#messages').append($('<li>').text(msg));
});
>>
>>54753058
I was pretty sure that wasn't a good way to do it, I mostly just included it for sanity check reasons.
>>
>>54751215
>bloomers
We found the Brit
>>
Is there such a thing as a responsive image slider?

I can't find any that work at all.
>>
>>54746692
Alright guys. How do I use node?

use case:
Automatic Report Generator.

I've gotten too used to just using JS. My skills in bash+sed have gotten rusty. In the old days, I'd just create some insane shell script with a butt-load of regex, and I always seemed to be able to find a way to do whatever I wanted. Welp, I haven't done that in months, and now I'm out of practice.

I've got a bunch of JSON data. I need to convert this both to a CSV, and to an XLSX. And I actually know how to do this with JS.

Problem: I need to have this be completely automated. It needs to run in a cron job. And I need to be able to trigger it with something like curl, not a full instance of google-chrome or whatever. (because scripting)

So I figure what I really need is: Server-Side JavaScript.

So I guess that is node. Its finally time for me to cross into the dark side. Are there any kick-ass tutorials to teach me how to use node? I'm moderately-decent at JS, I just need to know how to configure a script to run with a single curl invocation, and spit out the proper output.

Also: Is everything I expect out of JS going to be the same with node? Like the Blob API, URL.createObjectURL(), all that dom stuff, and everything else? I know if I'm using curl, it's not like chrome, so this stuff won't be the same. But is it faked/emulated somehow?

I've totally never even touched node before. Complete first time.
How do I jump in? (it'd be awesome if I could knock out this task in 4 hours or less)
>>
>>54754383
I recommend you search for Node tutorials on youtube or something and get the basics down. There are a ton of them, just pick one that was made in the last year or so.

>Problem: I need to have this be completely automated.
Easy. You can do it with chron, no problem. You could also ssh in and run it manually.

>And I need to be able to trigger it with something like curl
If you mean you want to be able to POST some json to it with curl, you can do that, just make sure you take the proper precautions if it's going to be open to the internet.

> Is everything I expect out of JS going to be the same with node?
The language is the same (well, current version of node node supports most/all ES6 stuff so actually it's better).

>all that dom stuff
There's no dom stuff because there's no dom. You should definitely check out a tutorial or two and read the docs.

>it'd be awesome if I could knock out this task in 4 hours or less
Yeah, good luck with that buddy. If you already knew what you were doing, you could probably do that, but...
>>
>>54754383
Protip: Use Ruby/Python/Perl instead, Node is fast for serving pages but otherwise useless.
>>
>>54754790
Oh don't worry, I've started looking into tutorials. I just thought I'd post in here too, because my general experience is that things seldom go as cleanly as in the tutorials. Like when I tried to learn rails. I swear to god, I had a VM that I would completely reinstall clean, and I kept resetting it, trying a different tutorial, and I would do EXACTLY what the tutorial said, and it still wouldn't work. Then I'd reset again, and try a different tutorial.
I did eventually get rails installed, and managed to write a small blog-thing, before I decided it was all too much work, and went back to php.

>>54754858
The point of using node would be to NOT have to learn another language. I'd rather use something I have a degree of familiarity with, if at all possible.

Anyway, I've already hit my first snag.
I followed the jquery-js doc-page, and when I used
 console.log($.('.hello').text()); 
it produced the expected output. Leading me to believe jquery was going to work. But when I tried pic related, no output was produced.

(assume the url is for a bunch of JSON, with the 'Content-Type: application/json' header set and everything. I tested it in chrome, it's there)

Why no output?
>>
>>54755015
This is the thing I'm looking at: https://github.com/UncoolAJ86/node-jquery
>>
Streamingguy here.

It's way, way harder than it looks to continue being focused and on-track when you're streaming. It was great for the first few hours but then I just hit a wall hard and it's hard to keep going.

Still, when I was going strong, this was pretty awesome. Lots of people asking questions in chat, high interactivity, and I felt pretty productive even if I was probably coding slower than I would when non-streaming. Hopefully I can find some way to keep that up for longer periods of time.

Anybody have any ideas for that? It's only tangentially related to webdev, I know, but I figure you guys are creative enough.
>>
>>54755015
Wait a minute! Guys, I have a hunch!

Is it possible that the script is exiting due to "finished execution" before the ajax call actually gets its response data?

Do I need to find a way to make this a synchronous operation instead of asynchronous?

Async works great in a web-browser, because the engine is always on, or whatever, but I imagine that maybe the node interpreter is exiting because all of my functions have executed. And that the async behavior could be undesirable on server-side scripts.
>>
>>54755222
Maybe you can stream your work, without reading the chat, for about an hour or so. After that, 10-15 min of questions and stuff like a code review of the work done on that last hour.
>>
>>54755273
That could work, but the chat seemed to really enjoy interaction.

I think this would be best if I made the interval a lot shorter than an hour. Maybe something like 10 minutes even, then answer questions for a much shorter period of time as well.

Hourly reviews sound like a great idea though. I'll definitely start doing those.
>>
>>54746889
>>54750808
>>54751018


>manlets not respecting a thick womanz
>>
Need to make an API that runs on Linux - any recommendations on what language to use? Primarily a .NET dev and I don't feel that core is ready.
>>
>>54755601
If you're just talking to a DB with some business logic on top, Rails + Rails_API will be the fastest to develop.
>>
>>54755614
We have Python scripts set up to ingest data (weather bullshit). Partner isn't a big fan of Python for web/api so i'm looking around.

I have experience with ASP.NET - it makes it dick simple to get something set up.

Will look into Rails/API.
>>
Does anybody know of some good resource for UI and UX?

I'm writing my undergraduate thesis on this and I have some books but I kinda have trouble with organizing the content, there is so much overlapping everywhere in those sources and I'm not sure where to begin in some parts.

I was thinking about something like this:

Psychology of a user:

>User research
>Types of users
>User habits
>Sense of control (less options etc.)
>Personas
>Analysis
...

Information architecture:

>Wireframes
>Elements of a website
>Positions (F-shape patterns etc.)
...some more shit, but the problem is that it kinda overlaps with user psychology so I'm not sure how to organize that

Then, Design:

>basically a theory of design, like:
>Gestalt
>Color theory
>Typography
>Grids
>Probably responsive design too

Then something else here, I'm not sure.
UI and UX overlaps and this is what is confusing me now.

Anybody has some ideas?
>inb4 nobody replies as always, but idk, /gd/ has not much exp with this either, this is webdev after all, there has to be knowledgeable people here.
>>
I am an absolute retard with css, i am just trying to make a bootstrap footer that stays on the bottom of the page, no sticking etc.
I also want the 3 things on the top (privacy, about us, contact us) to stay more tied togheter.

this is the html:
<footer class="footer">
<div class="container">

<div class="row">
<div class="col-md-4">
<center>
<p class="text-muted">Privacy</p>
</center>
</div>
<div class="col-md-4">
<center>
<p class="text-muted">About us</p>
</center>
</div>
<div class="col-md-4">
<center>
<p class="text-muted">Contact us</p>
</center>
</div>
</div>
<center><p class="text-muted">&copy; 2016 eatBit Copyright</p></center>
</div>
</footer>

and this is the css:
.footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
background-color: rgba(0,0,0,0.3);
}
}
}

.footer .container {
padding-right: 15px;
padding-left: 15px;
}

.footer .container .text-muted {

color: rgba(255,255,255,1);
}
sorry for the godawful formatting
>>
>>54755689

make a codepen
>>
>>54755689
<footer class="footer">
<div class="container">

<div class="row">
<div class="col-md-4">
<center>
<p class="text-muted">Privacy</p>
</center>
</div>
<div class="col-md-4">
<center>
<p class="text-muted">About us</p>
</center>
</div>
<div class="col-md-4">
<center>
<p class="text-muted">Contact us</p>
</center>
</div>
</div>
<center><p class="text-muted">&copy; 2016 eatBit Copyright</p></center>
</div>
</footer>


.footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
background-color: rgba(0,0,0,0.3);
}
}
}

.footer .container {
padding-right: 15px;
padding-left: 15px;
}

.footer .container .text-muted {

color: rgba(255,255,255,1);
}
>>
>>54755726
>>54755732
Thanks.
I've solved having the 3 "words" stuck more togheter, but i am having a problem.
When i resize the page making it smaller the bar stays on the page but on the bottom, and i can scroll down to reveal the rest of the site, ending up with the bar just "floating" about in the middle.
I don't want it to follow me when i resize, i just want it to be a static piece of shit on the bottom.
Again, much appreciated.
>>
>>54755782
Update, I have solved.
[spoiler]Don't worry web devs you will hear from me again.[/spoiler]
>>
>>54755919
how'd you fix it, anon?
>>
>>54755974
position:fixed;
>>
File: 1427170444168.png (1 MB, 1220x958) Image search: [Google]
1427170444168.png
1 MB, 1220x958
>>54755919
using spoilers in /g/ back to your containment board weeb
>>
Client wants to know if we can add meta keywords to media files (images, docs, etc). Is that possible? If so is it worth it?
>>
What's a simple project I could do to learn React?
>>
>>54751215
>"why won't men take us seriously in tech?!?"
>take 'work' photo posed in panties

Why did we let them out of the kitchen?
>>
File: this fucking shit aint logical.jpg (125 KB, 688x547) Image search: [Google]
this fucking shit aint logical.jpg
125 KB, 688x547
>>54756044
>calls someone a weeb
>posts anime
>>
>>54755015
>>54755270
Holy shit, what a train wreck. If this is a troll, you got me.
>>
File: 1430444266556.png (835 KB, 1024x1820) Image search: [Google]
1430444266556.png
835 KB, 1024x1820
>>54756556
uh it takes one to know one. ha ha
>>
>>54756457
Can you add the meta?
Yes.
Is it worth it?
I have no idea.

---
for MP3s I believe the meta is called 'id3 tags'
for images, its exif data
for docs, if its html/xml, there are specific 'meta' tags
for docs, if its word/open-office, I believe there's a specific menu somewhere to add the meta, and I believe most programs that can parse the files can see the meta

also I feel I should link to this: http://www.sno.phy.queensu.ca/~phil/exiftool/

Don't be fooled by the 'exif' part of the name. It works on pretty much every kind of file. Audio. Images. Documents. Zip files. Shell scripts. Text documents.

It'll produce some output for pretty much every single kind of file. Though obviously some files have more output than others. Just simply because there's only so much to say about a plaintext file, while an image/mp3 can have loads of information identifying the content, programs/devices that created/altered the content, etc

I honestly love exiftool, and I use it fairly regularly. It can output meta info in plaintext, html, xml, & json.

I find json output to be the most useful.

But seriously, check out that tool. It's pretty amazing.
>>
>>54755681
UX is pseudoscience, anon. Sorry you had to find out this late.
>>
>>54758634
It's kinda true, I know. Idgaf about thesis, I don't plan on being a UX designer or something. But still, I believe there are good things in it. It's just retarded that basically every book is more or less just a set of guidelines so it's a little problematic to make it compact and more readable. I guess there is not much science there. It basically all boils down to the content, and if the content is good all of that doesn't matter much any more. Just look at reddit. Users will just accept it as it is if they find a value in it.
>>
>>54758987
>Just look at reddit. Users will just accept it as it is if they find a value in it.
Are you implying Reddit's design is shit? If you are then you could have used 4chan as an example as well - this site isn't exactly an example of design excellence.
>>
2>>54759089
True. I just mentioned reddit because of a greater number of options it has. It's pretty chaotic for a newcomer, more than 4chan.
>>
File: 1459583263812.gif (440 KB, 640x360) Image search: [Google]
1459583263812.gif
440 KB, 640x360
>>54755681
>>54758987
UX is a fucking meme. The reason all the books are just guidelines is because that's all that UX is, hand-wringing over impossibly irrelevant details backed by pseudo-psychiatric garbage to justify the six-figure salary. There is no design component in "UX design", just whatever bullshit the fifty normies they surveyed blurt out when you stick your finger in their brain. You may as well hire a tarot reader to figure out what the fuck your website should look like.
>>
File: 1427759387962.png (399 KB, 620x870) Image search: [Google]
1427759387962.png
399 KB, 620x870
>>54759700
well said anon.
>>
>>54756463
Write a fizzbuzz in JSX and render it as it iterates with a 100 ms interval.
>>
>>54759555
I know, it took me a while to get used to Reddit's design. I still don't fully understand all the features desu, I just stick to a few sub-reddits.

>>54759700
This is bullshit and you know it. You're over-simplifying an already simple concept in order to support your own claim. One of the reasons why I hated Reddit the first time I saw it was because of how it's structured. I followed a link to a specific thread then after reading it I went back to the index, I noped the fuck out.
By your logic concepts such as first impressions, perceptions, etc. doesn't factor in anywhere, which is a flawed way to view things.
>>
>>54751653
>why
because uptime and backups - use digitalocean, AWS or even dreamhost. it's so not worth it to get a call at 11:30pm friday saying a client's site is down and the dirt cheap hosting provider you were using doesn't have a backup.
>>
>>54752205
>>54752261
>>54752350

AWS free tier for a year, you get tons more than just VPS stuff as well. also sorry for double post
>>
how to get AWS ??
>>
>>54760968
If you can't figure that out, you aren't going to get much use out of it.
>>
>>54761027
im a smart boy, ill figure it out.
>>
>>54760968
>how to get AWS ??

L O fuckin L get a load of this guy.

http://lmgtfy.com/?q=amazon+aws
http://aws.amazon.com/free/

GLHF
>>
>>54761106
no bullying please i just want to make video games
>>
>>54760968
>>54761043
>>54761133
dumb animeposter
>>
>>54761133
You can use google for more than finding your shitass chinese cartoons, weeb

If you ask stupid questions without even putting in the minimum amount of effort first, you should expect to get bullied
>>
>>54761133
wew lad
>>
File: cuntflap.png (68 KB, 711x625) Image search: [Google]
cuntflap.png
68 KB, 711x625
>apply for basic front end dev position
>pretty straight forward requirements: knowledge of Angular2, Backbone, or React
>mybodyisready.jpg
>"Hey Anon, let me fuck your shit up by giving you a bullshit project to complete first"
>sends me a .jar file called backend with ridiculous instructions
>"but wait, there's more!"
>even more ridiculous requirements related to how the page should look and function
>>
>>54761199
>tfw i will be your boss

anon, i.... i wrote a lot of that
>>
>>54761199
if you were ready then you should be able to knockout this test in a night.

alternatively if you're feeling ballsy, tell him to shove his test up his ass and look at your projects if he wants proof of your competency. you do have your own projects, right?
>>
>>54761234
If you actually did then there's a special place in hell for you.

>>54761240
I thought I'd get something that I could simply build in Backbone and be done with it. They made no mention of having to install/use JDK, MySQL, and their backend files.
>>
>>54761293
if you really wanted the job then you would stop bitching on a Tibetan rock gardening forum and get to work.
>>
>>54761199
>>54761293
None of that shit sounds that hard. If you can't handle that, you probably aren't ready for a real job.

You should definitely run that shit in a vm though, because >>54761234

>>54761293
You can literally just vargant up and drag&drop the jar in. Should take you like 5 minutes to set up.
>>
>>54761348
>you probably aren't ready for a real job
Yeah, that hit me the moment I started this challenge. Fuck it tho, I'll go down swinging if I have to. No sleep for the next 2 days it is.
>>
>>54761416
godspeed anon
>>
>>54761416
can you post the entire project anon?
>>
So is node.js just a sick joke? Like do these niggas just not know or care what they are doing? I was starting to play around with node and then that shit happened with that kik package getting pulled and breaking everything. And then I was listening to the techsnap podcast and the host made it seem like node.js is a giant mess of shit with tons of tons of unnecessary files and shit instead of just having libraries like other sane languages/frameworks.

Should i not even bother with node? Is node a dead meme at this point? Should i fall for the golang meme instead?
>>
Does anyone know any small (200~300 lines) yet professionally made JavaScript plugins. I want to study their code and see how they make them.
>>
>>54761604
Maybe just search github?
>>
>>54755482
you can have it all for yourself buddy
>>
>>54761621
Half the plugins I've seen there is just garbage spaghetti code.
>>
>>54761604
Browser plugins, or do you mean libraries?
>>
>>54761597
if you are a competent programmer you can make anything work
>>
>>54761514
I don't think I should, at least not until I'm done. Sorry anon.
>>
File: 4L_RZZoE9QA.jpg (7 KB, 248x203) Image search: [Google]
4L_RZZoE9QA.jpg
7 KB, 248x203
>>54761791
Pic related is you
>>
>>54761948
how is that me, I don't get it
>>
https://jsfiddle.net/q27ejL4x/
>>
>>54762028
nice screensaver
>>
>>54761597
Part of the problem is that having a popular npm module is résumé gold so every js dev and their grandma wants to publish something. Eventually things will cool down, though, as node and javascript mature.
>>
>>54762028
This looks nice
>>
Why is the emitted 'connect' message only handled by the connector when he first connects but is ignored for new connections after that? If I replace io.emit('connect') with io.emit('disconnect') it works and prints out the disconnect message on new connections. I don't know what I'm doing wrong or maybe I'm blind and I'm missing something. There aren't any errors in the console.

app.js
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);

var port = 3000;

app.use(express.static('public'));

io.on('connection', function (socket) {
io.emit('connect');

socket.on('disconnect', function () {
io.emit('disconnect');
});

socket.on('message', function (msg) {
socket.broadcast.emit('message', msg);
});
});

http.listen(port, function() {
console.log('Listening on port ' + port);
});


index.js
var socket = io();

$('form').submit(function () {
var msg = $('#m').val();
addMsg(msg);
socket.emit('message', msg);
$('#m').val('');
return false;
});

socket.on('message', function (msg) {
addMsg(msg);
});

socket.on('connect', function () {
addMsg('a user connected');
});

socket.on('disconnect', function () {
addMsg('a user disconnected');
});

function addMsg(msg) {
$('#messages').append($('<li>').text(msg));
}
>>
>>54761199
>requirements related to how the page should look and function
ie your potential job?
>>
Anyone here working with the angular2 release candidate? How do you bundle your js efficiently?

Currently I'm using systemjs bundle to pull all the typescript and js dependencies into a single minified app.js file, but it takes like 15-25 seconds to do this. The other option is to not bundle the files, but then it makes ~600 requests to the server to grab 280kb of js dependencies which also takes around 20 seconds.

Any good workarounds to this in a dev environment? Every time I make a change to a typescript file I have to wait 20+ seconds to test it, which adds up really quickly.
>>
>>54762028
Lovely.
>>
>>54764279
>20 seconds
Is that with HTTP/2 and are you using https://github.com/systemjs/systemjs/blob/master/docs/config-api.md#bundle ?
>>
>>54760761
how much would you pay for aws if your app idles a lot on monthly basis?
>>
>>54762028
>tfw getting intimidated even by this
>>
Why are some websites fucking with scrolling this much?

http://theplaylist.net/denis-villeneuve-jake-gyllenhaal-reteam-crime-drama-son-20160526/

It pisses me off so hard. Bad UX.
>>
File: Untitled.png (413 KB, 1366x768) Image search: [Google]
Untitled.png
413 KB, 1366x768
>>54765144
The fuck even is this? What was wrong with that faggot of a dev?
>>
>>54765234
How did you get that shit? It ends on 3s for me.
>>
>>54765290
I disabled Adblock, but being over the Atlantic might be a reason.
>>
>>54750513
Literally any minification tool
>>
>>54762051
>2000+10+5+1
>still using screensavers

did you travel forward in time??
>>
new dev here, should i start with the hip new tech wasm or am i retarded?
>>
File: ImpressiveErrorHandling.png (34 KB, 1600x870) Image search: [Google]
ImpressiveErrorHandling.png
34 KB, 1600x870
>>54746692
I just found this right here.

Holy shit, there's no error correction...

What the fuck, lol?
>>
>>54766192
Wasm is C/C++ only for now, so yes. Go learn C.
>>
>>54766310
could be worse.

http://matrep.parastudios.de/
http://matrep.parastudios.de/gear.php
>@mysql_connect("localhost","acc0002","pcxtUls3");
>>
File: 1461332118295.jpg (151 KB, 597x763) Image search: [Google]
1461332118295.jpg
151 KB, 597x763
I want to write a web application in C++, I hate PHP and I'm comfortable in C++.
What's the best way to serve a C++ web application? I was thinking CGI but does anyone even use that anymore? I heard of UWSGI, is it any good? how does it even work?
Is FastCGI worth it?

Note that I'm not asking about any web frameworks in C++, I looked into CPPCMS and WT and they're shit, I'll just do it myself, I'm happy with that, I'm looking for the best way to serve it to the internet, preferably through nginx or apache.
>>
>>54766310
>>54766530
Better get to dropping some tables then, anon.
Or if you're a good person, send them an email letting them know there's a problem and how they might be able to go about fixing it.
>>
>>54766530
>>54766530
lmfao!

That's rich.

I wonder how many people cross-sited them with that idiocy and can read everything from their database.
>>
>>54766605
Have you thought about something like Java or C#?
>>
>>54766733
Out of the question. Please don't avoid the question, yes I've thought of them, and I'm not doing it.
Is that really how modern languages do it though? they host their own in-process HTTP server?
Does 4chan do that? I thought all web applications went through something like nginx or apache, are they just for serving static files?

Am I doing it wrong by going something else these days?
>>
>>54766762
If I host my own in-process HTTP server, how do I do things like SSL/TLS?
>>
>>54766762
the new asp.net recommends hosting its own server per application and proxying through a real server like nginx, see reverse proxy.
I am doing the same for a node application, which just runs its own local server and nginx proxies requests through.

For C++ but you'd need to implement your own server then I guess, so you might want to stick to fastcgi.

>>54766802
the actual server takes care of it and talks to your application server over http.
>>
>>54766376
No, it also works with rust. Learn rust, the best language ever made.
>>
JS newfag here. If i have an array
 var stuff = {one: false, two: true, three: true, ...} 

What would be the correct way to test one condition?
 if (list.one==true) { console.log("stuff"); } 
didnt seem to work for me. I just wanna know whether my test is wrong or I've gotta look over the logic.
>>
>>54766849
Oops
 stuff.one* 
>>
>>54766728
It's no idiocy when compared to 90% of people in these threads, it's just average. Webdevs just so happen to be beyond incompetent and I would never hire one to develop a website (they're that bad).
>>
>>54766802
>>54766762
> how do I do things like SSL/TLS?
Generally, you would use a reverse proxy module with a webserver (e.g nginx) to handle things like SSL and static content.
>>
>>54766849
you could just do
if (list.one) { .. }

otherwise it should work with yours too.

add a breakpoint and check if your stuff object actually exists in that scope.
>>
>>54766530
>>54766310
Whats the cause of this?
Is this why php is bad?
>>
what things are interesting to learn but not useful in industry?
>>
>>54767264
Realtime network synchronisation algorithms.
>>
>>54767264
Anything that isn't JS
>>
>>54767451
php
>>
>>54767263
first one someone disabled php processing on the server, so it gets treated as a normal text/html file without going through php.

second someone doesn't check if paratemers actually exist so it throws an error, sloppy programming.
>>
Tic tac toe. r8 pls
It took me about an hour or so using my very limited knowledge of javascript.

https://jsfiddle.net/731L33q7/
>>
>>54767987
so much code repetition.
>>
>>54767999
I was laughing as I was doing it. There's a function for every button with two if statements depending if it's player one or two. I know it's incredibly impractical & inefficient code but I was just trying to see what I could do with what I had. Anon on a previous thread suggested I do a tictactoe game.
>>
>>54768030
Don't worry about it, anon. As long as you know and realize that code like that shouldn't exist, it's fine. In time you'll learn to fix it once you write it, and with more practice, you'll write the good code without the messy intermediate step.
>>
>>54768106
Could you give one or two pointers on what i could've done better?
>>
>>54748568
>data in code
pls
>>
I've noticed that Django's queryset delete() gets really inefficient when deleting many objects which have a FK with certain on_delete constraints, like CASCADE and SET_NULL, since it's handling those constraints on the ORM level it can end up producing a massive amount of queries when doing bulk deletes because it's trying to emulate the DB's ON DELETE behavior.

Should I just use raw queries? Context: user account reset feature, deletes data from two tables. My concern though is if things could mess up if the user also adds an object while the reset request is still being processed, will django still wrap views in a transaction even if it has raw queries in them?

I really hate ORMs sometimes
>>
>>54766830
Yep, FastCGI seems like the best and most efficient solution for me. Thanks.
>>
>>54768167
Your program can probably be a third of the length it is right now.

The rule of thumb is to keep your code DRY - Don't Repeat Yourself. Look for any places where the same code exists more than once and try to keep it to a single iteration. Practice wrapping the code that gets used the most in a callback.
>>
>>54755681
About Face is a pretty good book
https://mega.nz/#!r0VjwZIS!m2zcvGPcnTWEOJNwvtOip6I5mZDxo1scNjm0Fh6po2w
>>
>>54768167
Not that anon, but I would start by creating a model of the board state. Something like
{
a1: "e",
a2: "e",
a3: "e",
b1: "e:,
//etc
}

When a player clicks on a square, change the appropriate value to either "x" or "o" and re-render the board from the model.

Then iterate through a lookup table of all possible win conditions, and see if the board matches that, and handle appropriately.
{
horizontal1: [1, 2, 3],
horizontal2: [4, 5, 6],
horizontal3: [7, 8, 9],
vertical1: [1, 4, 7],
vertical2: [2, 5, 8],
//etc
};


Other than that, a few minor things:
- It's considered bad practice to use onclick in your html. Give them ids and use click event handlers instead. You can even do all the squares with one handler. Just give them all the same class (which you should do anyway so you can style them without code duplication) and then inside the click event handler, determine which square it was.
- restarting the game reloads the page. You should just clear the board model and re-render it instead.
- There's a ton of code duplication in general. Anything that's duplicated should be refactored as a function, and called. Remember that you can pass in parameters to functions to make them more flexible.
function makeMove(square, player) {
// make move
}; // is a lot cleaner than
function one () {
// do something for square one
}

function two () {
// do something for square two
}
//etc
>>
>>54748191

If you somehow advertise it a bit beforehand and during your streaming sessions I'm sure you'll get some viewers and viewer interaction, don't expect too much though. If you just start up Twitch and start streaming I'd be shocked to see you get 1 viewer.
>>
>>54768682
I have been advertising a bit beforehand, see >>54751171
>>54768319


My first session went well. This one is starting off a bit more slowly but I still have some viewers.
>>
>>54768600
Not that anon but what if you wanted to make a bigger tic tac toe, with like, 64x64 grid?

Checking for every possible solution is not the best approach then.
>>
File: 1460218594692.gif (578 KB, 299x198) Image search: [Google]
1460218594692.gif
578 KB, 299x198
>>54768478
>>54768600
>>54768788

Thanks, i appreciate the feedback. I'm still a little unfamiliar with some concepts like callbacks & how function parameters can be used. I've taken some screenshots of this, will go over them tomorrow and see if i can rewrite it in a more efficient way.
>>
What's a good editor for html, js, typescript, and general web coding? ide not required.
>>
>>54768981
sublime. Lightweight, tons of free themes, easy to find plugins
>>
>>54768981
Atom.
Thread replies: 255
Thread images: 44

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.