-
A few weeks ago Heroku hosted a large on-site event for many of its employees - this is a fairly unique event for those of us with the proud title of Herokai. Heroku is a subsidiary of Salesforce; while Salesforce employees mostly work in physical offices, Heroku is unique in that ~65% of our employees work remotely. These on-sites happen at best a few times a year, and it's a special opportunity to meet folks in-person and enjoy each other's company.
One evening on this off-site I was chumming it up with a few of the folks on the Heroku Support team - we were enjoying a session of anecdotes about home ownership fails. The conversation progressed, and one of my team mates ended up sharing that he is often pulled away from work when his young daughter sneaks into his office and demands that he praise her for whatever small trinket she had discovered. I pondered this for a moment, and then blurted out, "I'm pretty proud to work for a company that lets us focus on being good parents."
-
About a week ago, I deleted my facebook profile. I imagine that this doesn’t really come as much surprise if you’re keeping up with the news. For those out of the loop, or perhaps reading this in the distant future, Facebook has had a recent sprinkling of bad press regarding improper enforcement of their privacy policy. This news focused on President Trump’s campaign making use of 50 million (illicitly gathered) user profiles as a tool for targeting ads to specific demographics. That initial news broke the dam on a whole flood of leaks regarding Facebook’s disrespect of user privacy, and their lackluster show of remorse to the world’s outrage.
-
I've been talking with some peers recently about strategies for succeeding in a job hunt. There's a myriad of discussion points, but one of my favorite topics was which questions to ask in an interview. I am mostly interested in working for startups, and when evaluating a startup I think that culture and financial progress are the most important things to know about. There's tons of other topics, but startups are so turbulent that it seems that most other things don't have lasting truth.
These are the questions that I came up with for a recent job search, and what my goals were in asking them. I used most (not all), and had pretty good success. They are definitely skewed towards a startup environment. They are also probably formatted a bit better for above entry-level roles, but I don't think any of them are dangerous to ask for entry level. You just might get different answers.
-
Data is a pretty hot thing. Some people even say data is eating the world. Unfortunately, "Big Data" sounds really intimidating - I've been an engineer at a data company for years, and all this time I've been too intimidated to actually learn how modern data pipelines work.
-
I'm reading The Cathedral and the Bazzar right now, and just finished the section titled Homesteading the Noosphere. Eric Raymond talks at length in that essay about the economic model that drives open source. He compares the traditional exchange model that most private commercial companies use against what is called a "reputation-game gift" model.
-
This is a draft. These ideas or not thought-out. I don't even know if I believe them yet. I'm just spitballing and thinking things through.
I've recently accepted a job with Keen.io, which has had me thinking a lot about the hiring/interviewing process. The interview process sucks in pretty much all regards, and that's a hard problem, but there's one part of obtaining a new job that I find unnecessarily stressful: salary negotiations. Pretty much for any job, but especially for engineers, it is commonly accepted that you're foolishly leaving money on the table if you're not negotiating your salary. Intial offers are given under the assumption that you negotiate. Common thinking says that the only reason you wouldn't negotiate your salary is because either you don't know you should, or you're too chicken to try.
-
2014 has been an interesting year for me as a software engineer. Taking the job at Belly has given me an opportunity to work in a way that I never have before. Unlike anywhere I've been, Belly puts a large focus on doing things the right way - it's worth the extra time to write good code and write it efficiently. This has given me the opportunity to grow immensely in my skill as an engineer, but it has also given me the time to learn some new tools and introduce significant efficiencies into my day.
-
About a year ago I wrote a blog post about how choosing an analytis platform for your website is a very important privacy decision for your users. You can read the whole post if you want the intricate details, but the short version is that most analytics platforms track a ridiculously large amount of data. As developers, it's our responsibility to treat our user's privacy with care, and we should be careful not to track anything that we don't need. Especially if you're using third-party analytics like Google Analytics, you never know who might get their hands on that data.
-
As developers, we come up with a lot of awesome ideas. Or, rather, we come up with a lot of ideas that we think are awesome. It seems to be a pretty universal trait of developers, that we get caught up in the architecture, design, novelty, or difficulty of an idea and convince ourselves that that alone makes it awesome. We spend hours, days, weeks, and sometimes months building out these "awesome" ideas, and the deeper down the rabbit hole we get the more awesome our idea becomes.
-
I get a lot of emails about Waltz. We encourage people to send us requests of sites they'd like to use Waltz on, and people take us up on that request quite often. About two months ago, though, I got one that stood out - the subject line had "Tumblr" in it, which is odd because Waltz has supported Tumblr from the day it launched. Interested, I opened the email:
-
In my book, SVG is classified as a mythical unicorn super technology. SVG shares this category with other technologies like RegExp, vim, and OpenGL. The common traits between each of these technologies is that they are incredibly useful when used correctly, but incredibly difficult to use correctly. All three pack some serious punch inside of a terribly confusing syntax.
-
I've worked a few different jobs in my (so far) short working life. Each one I considered fairly carefully, and made sure that by taking the job I was pursuing the things I prioritized most. My first job I got when I was 18; I was freshly married, pretty broke, and eager to get started in the "real world". I didn't know much at the time about working or money, but I did know that I suddenly had a wife to supply for, and that I needed money. Money was my priority. I was offered a job doing IT at a commercial printing company. The pay was fine - way less than I make today, but way more than most 18-year-olds with no professional experience can expect to make. Even with the low starting pay, I knew there was room for extreme salary growth, so I took the job. Within a year I was making 60% more than my starting salary.
-
Many moons ago I released a Node.js tool called Simple-API. Simple-API is a "A Node.js API Scaffolding Library"; essentially that means that Simple-API makes it incredibly easy to quickly build an API in Node.js. I use it for all of my own development, and have found it to be incredibly quick and useful.
-
I've been doing web development for quite awhile now. Maybe not relatively to the rest of web developers, but relative to my lifetime, it's been a long time. I've learned a lot in this time; languages, processes, servers, hosts, best practices, hacks, and a lot of ways to break things. I learn new things because the old ways suck. I started writing in vanilla PHP. I didn't like that, so I started using CodeIgniter, and then Zend. I still didn't like that, so I decided to give up on PHP and use node.js. I love it. All this learning has been for the goal of building the best web development process ever. I think I'm getting close.
-
I wrote a little side project recently, called CSS3 Man. It's a fun experiment in CSS3. You should check it out, it's fun and interactive, and will be sort of necessary to understand this blog post.
-
I came into contact the other day with a new startup called GetClef. The essential idea behind GetClef is that they allow you to login to sites by scanning a QR code with your phone. No passwords - just a PIN on your phone and a (built-in) QR code scanner. I had had a similar idea when I worked at MySocialCloud, so in my interest I got in contact with their CPO and talked a little bit about their tech. My original assumption was that GetClef was ultimately a password manager that sent your passwords along after you auth'd with a QR Code. I was wrong - they're getting rid of passwords altogether.
-
With all of the PRISM news flying around right now, I was putting some thought into how the average person might avoid having their entire lives digitally documented without their permission. Turns out, it's pretty much impossible to both enjoy the internet and mantain your privacy. The main problem - in my opinion - is web analytics.
-
Every app I've built in the past has pretty much been unaware of memory management. Computers these days are packed with memory, and even if you load a ton of AJAX requests, chances are the user will be refreshing or going to a new page before their memory runs out. Recently, however, I've been working on a display piece for Cultivate Studios, and there is a ton of data that moves in and out. For this specific project, the high end is around 100 updates per minute, each of them requiring a DOM insert, smooth transitions to shuffle existing elements and display the new one, and smooth removal of stale items. On top of all that, the page could be open - literally - for weeks. For the first time, I've had to really worry about memory management in javascript.
-
Earlier this year I was in search of a new job, and was specifically looking for a frontend development position with a focus on javascript. I'm pretty passionate about the javascript language, so every interview that popped up for a JS-heavy position I jumped on. That ended up being like twenty interviews within a few weeks (Well done, Chicago). Around interview #10 I started to take a note of some trends in the technical portion of the interviews. More often than not I was being interview by a non-technical person who had either Google'd or been given a list of important javasript questions. The three things that always came up were closures, hoisting, and prototype.
-
I had jury duty the other day. What that translates to is I had a whole day of forced free time. I had decided it would be a good idea to treat this time as a hackathon, and was inspired by a Google+ demo that allowed you to browse using gestures from your mobile phone. The actual Google+ demo was pretty unexciting - it was very choppy, and not really an increase in usability at all. But, cool nonetheless.
-
I haven't talked about it much on the blog yet, but let me tell you something - I love AngularJS. AngularJS is a client-side javascript framework that pretty much speeds up development by 500% by taking out 100% of the DOM manipulation. That's right - no more fighting with the DOM in your javascript. Let AngularJS do it. It's really awesome.
-
It's a funny thing, looking back at the last 2 and a half years of my life. I graduated high school on June 5th, 2010, was married on June 12th, 2010, and had little idea what direction my life was going to take on June 13th, 2010. At the time I was barely a novice programmer, and was significantly more interested in getting a day job that would consistently pay the bills than finding what I was passionate about. I knew that I had never loved the idea of having a boss, but I figured that was just the way life went.
-
This is a bit of a shameless plug, but I had some requests to get a discoverable link up for my new Turntable Auto Updating Emoji list.
-
The tech news world functions much like a sine curve. Certain topics will gain a lot of publicity and then quickly die down, only to restart the process three months later. This happens with a plethora of tech genres, and one that seems to be on the rise right now is "Programming for the Everyman". Essentially, the idea that everyone can - and should - learn how to code. It's a topic that comes with a lot of passion, but also a lot of debate on either side. Some people say that coding is worthless to the average person, while others thing it is absolutely essential. Personally, I fall somewhere in the middle - I think that there is value for everyone learning to code. If not for the ability to simply speed up mundane tasks you may do at your day job, at the very least learning to program gives you a different perspective on how to approach problem solving.
-
Tl;Dr: I built an app that helps you do math. Take a look.
-
I've recently started writing frontend test suites for MySocialCloud. We use Backbone.js for pretty much all of our frontend work, which makes running test suites very interesting. I've settled on using Jasmine for the actual unit testing, and Sinon to mock API interactions. It's actually a really cool setup, and Jasmine's BDD-style testing makes a lot of sense for how we utilize Backbone.
-
Welcome again to the third installment in my Passwords series. So far we've learned about how passwords get hacked and how you can keep yourself safe in this broken password world. I have good news though, while things are broken and blatantly insecure now, there's hope for a secure future. A lot of the world is probably going to disagree with me, but I see a future with passwords being almost completely wiped out, and being replaced by social sign on. You've all seen social sign on somewhere - "Log In with Facebook", "Connect with Twitter", or less often, OpenID. It hasn't picked up steam yet, but social sign on gives web sites the ability to authenticate users without requiring them to register with a username and password. I've mentioned the holy grail of security in the past, and I think this may be it.
-
Welcome back for part 2 of my three part series on passwords. Last time we learned about why all of our passwords are getting hacked, and we came to the unfortunate conclusion that the standard security mechanisms today are simply not strong enough to prevent someone from stealing our passwords. However, all is not lost - just because someone got your password (ideally salted & hashed, but even if not), that doesn't mean that your internet life just burst into flames. Having a good password policy is actually the best defense against having your internet life broken into. You hear password policy and probably groan at the idea of "14 characters long, alphanumeric, upper and lower case, symbols, and it has to be something completely nonmemorable" - well, yes, that is one portion of having a good password policy, but it's actually not the most important. The most important part of your password policy is how you choose which password to use on which site.
-
I'm sure you've heard something about passwords getting hacked recently; Yahoo, Formspring, Last.fm, Sony, etc. One might even call it an epidemic - it seems like almost twice a week there's a security breach happening on some major service. It's come to my attention that, while the breaches are ultimately the developer's faults, the majority of the world knows very little about what really happens once they signup for a service with a password. In response to that fact, I've decided to start this three-part series regarding exactly how passwords work, how they should work, and ultimately why they suck no matter what. To properly understand why we need to use passwords, we need to first understand why bad passwords don't work, and how they get hacked.
-
Yesterday I wrote a post detailing some benchmarking results I got while comparing cURL to PhantomJS. The results were pretty good, considering the amount of extra processing that needs to be done, but were not quite good enough for me to use in production. Ariya, who is apparently the developer of PhantomJS, left me a note in the comments telling me that the results might be a little skewed because PhantomJS was loading images as well as javascript. He was correct - loading images is actually a pretty crucial part of my specific use case, but I realize now that those results were misleading because I didn't describe that scope in the post.
So I've redone all the tests with the --load-images=no flag (new gist), and have gotten drastically different results. My original intention was to just update the previous post with the new values, but they are so incredibly different that I think they deserve an entirely different post (and an update to the old one better describing the scope of the test). The new results are below:
-
I've been spending a lot of time in the web-scraping world these days, and have had pretty great success parsing out good content from about 90% of the websites I come across. That 10% is the result of this new fangled technology called AJAX that is sweeping across the web. AJAX is allowing web developers to create very minimal HTML pages to send for the initial request, and then send the rest of the actual content after-the-fact. This is quickly gaining traction because load times are slower on mobile devices, and often times getting even the skeleton of a page will save users from losing interest. The solution to my AJAX problem is to find some way to actually let the javascript (AJAX) run before I start parsing the HTML. This is impossible when just using cURL - cURL is very simply an HTTP client. There is no sort of browser functionality, aside from the fact that it knows the HTTP standards up and down, and is pretty quick at making requests. The common solution is to actually borrow the engines that power modern browsers to run the javascript, and parse afterwards. The most popular library for doing this today is PhantomJS.
-
I try not to make it a habit of using this blog simply as a megaphone to tell the world about every little project I work on. Most of them are just for fun or personal use, and it's not worth wasting your time to tell you about them. One of my recent projects, Tweeter fell into that category - I wrote it because I'm trying to use MySocialCloud's interface for twitter more often, but there's no way to tweet from there. Tweeter was just a way to quickly send tweets from wherever I am - not necessarily requiring the actual twitter interface. I'm writing this blog post, though, because Tweeter seems to be picking up a fair amount of installations from the chrome web store. Turns out a chrome extensions for quickly tweeting isn't only useful to me - people are quickly noticing it and I'm getting an exponential amount of installs. I hope it can be helpful to you too.
-
As I approach a new phase in life (I'm leaving my current job, if you didn't know) the thought of starting something new keeps creeping into my head. I keep looking around at all the people that are flourishing in the startup world and am simply jealous. So, as I daydream I come to the realization that I don't have a ton of million-dollar ideas, and often fall back on trying to come up with awesome domain names and hoping an idea sprouts out of that (not really.. but perhaps a side project could). So, today I wrote a little app that could fuel my time-wasting past time. Check it out at domain.joewegner.com
-
Chances are that if you're reading this blog, you're probably doing something in Node.js, or at least javascript. Furthermore, chances are that if you are doing something in Node.js, you like to speak JSON. JSON is the universal language for speaking between two systems that don't necessarily speak the same language. Originally the standard for this sort of exchange was XML, but JSON is becoming the preferred format due to its support for more specific types such as arrays. If you're not already using JSON internally, it's probably a good idea to start, as many of the big-name APIs are defaulting to JSON.
-
Many moons ago I used to cringe whenever the idea of having something "real time" was brought up. While it's been somewhat possible for a long time, the methods have been very dirty and often required a lot of coding and bandwidth. Usually what ended up happening is you would write some javascript to do an AJAX request to your server every few seconds to see if any new data had arrived (this is how Twitter does it). This worked, but unfortunately it's a pretty bad practice and is only a faux-real time. Well, it's the future now, and true real-time is not only possible, but I think you would be foolish to ignore it for how easy it is.
-
I guess I just loved designing the portfolio theme for WegnerDesign so much that I had to create a new one. Perhaps not, because I don't generally love doing design work. Whatever the reason, I've created the Swift Portfolio Theme that I'm selling on Gumroad.
-
Oracle has got a lovely little document available right now that outlines their opening statements in their copyright infringement case against Google. As you can see, I've found this document hilarious on multiple levels, but also a bit sobering. Up until this point I haven't taken much time to really look at the dispute going on between Google and Oracle, because I've always considered Google as some unstoppable force of money and good PR. As I look at the details, though, it's becoming clear that Google is grasping for straws, and Oracle may have the upper hand in this case.
-
Buzz word alert. CSS3! CSS3! CSS3! You've heard it a million times, and I'm sure at this point you've gotten over the faux-excitement surrounding the new CSS standards. Regardless of your excitement, though, it's hard to deny that there are some truly useful things that are starting to show up. For a long time, any sort of fancy design was dependent on using images. Anything with a gradient, a rounded corner - God forbid you want a text shadow - would drastically slow down your page from loading all the images. CSS3 gives us some powerful tools to do some great design without loading any images.
The downside to all the magic in the CSS3 spec is that much of it isn't available in the leading browsers yet. So, with that said, take what I'm about to post with a grain of salt. It won't work in every browser (actually, currently, it only officially works in Chrome).
-
You may have noticed recently that Wegner Design went through a major overhaul. Like, really major. Like, from a crappy free wordpress template to a completely home-built, cutting-edge unique design. Now, you're probably looking at the page around this text - yes, it's completely, 100%, white - and thinking "this is a pretty simple design. He probably spent 5 minutes on this." Let me assure you, that's not the case. This design went through tons of iterations, went through just about every symptom of the design epidemic, and got thrown furiously into the trash many times. But here's the icing on the cake: I learned a ton in the process, and now have a beautiful website.
-
As we've learned in the past, when I get bored I like to build fun little jQuery plugins. I don't know why I do this - I don't have any immediate need, but I suppose I just think it's fun and possibly useful to other people. Anyways, I was in a similar situation today, and decided to build another image animation plugin. It doesn't serve any true functionality, aside from being a pretty cool design that would look good on many websites. Get an in-depth view on the details of how it works, and how you can extend it after the break.
View the demo, here!
-
If you've been keeping tabs on me lately, you've probably picked up that I have a new project I'm working on: DownJS. I'm not going to get into the details of DownJS (that'll be in another post), but there are some things that are blog-worthy about the DownJS system. One of my goals with DownJS was to write the entire site - backend and portions of the frontend - in Node.js. I've been pretty crazy about Node.js for awhile, but have never had the gusto to tackle a full-featured product entirely in javascript. There's been a lot of
hiccups learning along the way, and I just published the biggest of the modules I've used in DownJS. Multipost is a Node.js module for sending data via the multipart/form-data protocol. That probably doesn't make much sense, so read more after the break.
-
"Why Programming Blogs Fail". Sounds pretty morbid coming from a programming blog, huh? I don't think so. I think this post marks a time where I can finitely say that I've learned something from past experience, and will grow better because of it.
-
Funny story. About six months ago I was in the heavy stages of development for my startup/side project/time-killer, 80char. I was coming to the realization that if I intended to release 80char anytime in the near future, I would have to have someone working beside me on the development. I was pretty new to the startup community, but had recently heard of a young rockstar developer who had built the turntable for iPhone app - Sahil Lavingia. I sent Sahil an email talking up 80char and asking him to come be a part of the cool stuff I was doing. He sent a polite, yet somewhat secretive, response saying he was trying to raise funding for one of his own projects, and wished me the best of luck. Well, just a couple of weeks ago, Sahil's startup Gumroad got $1.1 million in funding. Apparently I was out of my league.
-
For as long as I can remember I've been the "geekiest" person I knew in my age group. I typed circles around people in grade school, hacked into the macs (we had these) in middle school, and won every programming competition in high school. I always felt like I was a step ahead of my peers - at least in technology - but resigned to the fact that that my skill was useless until I was "grown up." I was a stupid teenager, I had to spend everyday in school, and I had no money. So, I wasted those years when I had no obligations, and lost the opportunity to pursue what I'm good at with no distractions.
A couple months ago I came across an organization that isn't OK with teenagers saying "I'm just a teenager". Teens in Tech is a company founded by Daniel Brusilovsky to help teenagers get started as entrepreneurs. Teens in Tech has hosted a conference the past couple years, and this year hosted an incubator consisting of six teenage-run startups. I've gotten to know both the Teens in Tech team, as well as a couple of the incubator teams, and am very excited about the things that are happening. I try to imagine the things that I could have done if there was a group like Teens in Tech encouraging me to grab my passions by the reigns, and not waste my teenage years.
-
I'm sure that most of you know by now that I've been working on porting fileDrop from PHP to Node.js. I did this for a couple reasons, but one of my more selfish reasons was for a good excuse to dive into Node.js and really learn it. With that in mind, I promised myself that I would (or at least try) to write every bit of fileDrop myself. I didn't want to use any modules that other people had written for me, that way I would get to know the ins and outs of many different facets of Node.js. This encompassed quite a few things, including a web server, a MySQL interface, an HTML parser, and tons more stuff that I haven't even gotten to. A lovely side-effect of doing it this way is that I've written quite a few useful modules that I'm already starting to use in other projects. I'm releasing the first of these modules today as it's own standalone project: node-session
-
For a long time I've been pretty proud to tell people that I do all of my programming from a terminal prompt - utilizing a vanilla vim install. I've been proud to tell people this because of the shock and awe that I get to enjoy after saying that. It's been the standard for a long time that web developer's use an IDE such as Netbeans, Kompozer, Dreamweaver (Yuk!), or others that are more feature-packed than vim. I had stuck with a vim because none of those IDEs actually work. The truth is, IDEs for web development are generally good for one thing - either they're great at PHP, or they're great with previewing your content, or they're great with source control, or whatever. One thing that is always true, though, is that javascript is an afterthought in all of these IDEs. Every interface I've tried has focused on the actual content development of the page, and only added javascript to stop people from getting pissed off.
This annoys me to such a great extent - it seems pretty clear to me that javascript is on the verge of becoming one of the most commonly used languages out there - yet no one has thought to build a good IDE! Enter my friends at Ajax.org. The group at Ajax.Org does a lot of javascript programming themselves, and instead of sitting and complaining like me, they've done something revolutionary about it. Ajax.Org recently released the beta version of their IDE, Cloud9IDE - an editor primarily built for javascripters, but with a huge amount of openness that makes it great for any kind of developer.
-
Welcome to part two of the Why Node.JS? series. If you recall from my last post, I'm currently in the middle of porting fileDrop from PHP to Node.JS. This is a three part series, consisting of my three main reasons for porting: Speed, Security, and Portability. This week I will be talking about the amazing security options that come with Node.JS. Here's the crazy part, though - even though security is one of my biggest reasons for porting to Node.JS, it isn't actually a feature of Node.JS. Read exactly how this works after the break.
-
I'm currently considering porting fileDrop to a node.js web application. I started reading about Node.JS about a month ago, and played it off as a pretty silly language, mostly useful for apps that required real-time updates. I wasn't in the business of building anything of that sort, so I uninstalled it just about as fast I installed it originally. For some reason, though, it popped back into my head last night and struck me as the perfect thing to build into fileDrop. What seemed originally as a one-use server technology has now flourished in my head as a limitless framework for web apps and beyond.
I'll be writing a three part series on why exactly I'm considering this transition. I'm pretty new to Node.JS so this series will be just as much a learning experience for me as it is for you. With that in mind, I'd really like to hear some feedback in the comments. Based on the amount of hype that node.js is generating in the web design world, I would imagine there are benefits that are beyond me, but I will be focusing on the three core principles that stand out to me- Speed, Security, and Portability. The first of these is speed.
-
I've already told you all about one new feature in fileDrop, but the exciting part is waiting for you in the beta. Here's a hint : The business-end is up and running! All of you beta users up to this point have only viewed fileDrop from the client-side, meaning you could only view files uploaded within your group. Now there is a business end - which is locked to the administrators group - and can view a list of all files uploaded by any group. This is where the usefulness of fileDrop comes in - allowing a business to easily navigate to the files that their customers have uploaded. I've left all previous accounts in fileDrop intact, but there are a few new things that you will need to know as you get back into beta testing.
-
When i first started the job I'm currently at there was a man here who was similarly excited about building web apps as me. In fact, he was my motivation to start learning PHP/JS, and we ended up working on a lot of projects together. I quickly picked up web design techniques, and was blowing him away with how quickly I could design smooth-functioning interfaces. He asked me what my trick was, and I told him about a framework that has changed my life - JQuery. His response to my infatuation with JQuery was to say that I was "cheating". He was convinced that by using JQuery's simple functions I was bypassing the heart of javascript, and thus not learning real programming.
He was never able to persuade me, as you can see by all the jQuery in fileDrop, but he did have a very valid point. It's often very easy to jump over to the JQuery plugin gallery, pick out something that looks nice, and design your interface with just a few lines of code. I don't condone that behavior in every situation - there certainly are huge merits to knowing how to get your hands dirty in actual javascript code. I found myself facing this very predicament regarding tooltip-like info boxes on fileDrop. I chose to follow the path of building it myself, in the name of self-edification. The script is built utilizing a lot of JQuery, but at the same time I've written every line myself, and fully understand the ins and outs of it. Now, in the name of writing your own code, here is a tutorial on building your own JQuery tooltip plugin.
-
The majority of the times that I've taken on the task of learning a new programming language I've gotten myself knee-deep in twisted and confusing documentation and reference pages. Lost in the incredible mass of confusing objects and methods, I usually default to guess-and-check work. For days and days I'll work on the most basic projects until finally I've etched the syntax so deep into my brain that I can't possibly forget. It's a grueling process, but unfortunately it's been the only one available without paying for formal training.
When I first started to learn about the LAMP stack I discovered an invaluable resource to help ease the pain of those nonsense reference pages.
-
I've mentioned in previous posts that I was working on incorporating a bug tracking system into my Wordpress blog. It seems that, while many of the options are good trackers, they all lack one or two features that I am pretty eager to have. Instead of caving and installing a local version of Trac, I've decided to set fileDrop up on SourceForge. Long term this will be a very beneficial transitionbecause of the large variety of features and extensions SourceForge provides.
-
I uploaded a new build this morning and had to work out some kinks with the new file structure. In the process I had to delete all current users and files. Sorry for the inconvenience, but it should be simple enough to reregister. Your group code should be beta, if it is not automatically set.
-
I was given an issue report the other day about no build numbers in file drop. I originally thought that I would have to manually include this build number in a PHP footer file, my commit messages, and again remember it in my response to bug reports. Simply put, I'm not that great at remembering numbers, so I decided to script the process.
-
Welcome to Wegner Design. Let me first introduce myself - my name is Joe Wegner. I work for a commercial printing company doing IT. Sounds pretty bland, I know, but in reality I think my job title fits better as "Lead of the Dream Team". Essentially I spend all day thinking up ways to utilize technology to push the boundaries of the commercial printing industry. It's an incredibly fun job to have, and there's a lot of freedom for me to learn new technologies and pursue "pet projects" in the name of self-edification.
The ability to dive into these cool new projects and concepts is a wonderful opportunity for me, but in the grand scheme of things it often feels like a waste. Many of the project I work on here never see the light of day - certainly not anywhere outside of this print shop. This is where Wegner Design comes in. My goal with WD is to pass on the tools I create, the concepts I learn, and whatever stupid crap I obsess about throughout the day to the general programming public.