Archive

Archive for the ‘Software’ Category

New shack API is live

May 5th, 2011 No comments

This is only pertinent to fellow shackers, but Shacknews member stonedonkey has installed his API on one of my servers.

Now shackers with mobile devices and those using LAMP have another API server to use.

http://shackapi.misreply.org is the address. iPhone users already have the option to change API servers, shackdroid has an update coming, and LAMP should be pretty easy as well. See http://www.shackwiki.com for more shack goodness.

Categories: Software Tags:

Me: 1 – Logitech: 0 … hacking apart Logitech’s XML

June 8th, 2009 No comments

Hello dear readers (all 1 or 2 of you that are left due to my lack of updates), I am alive! Contrary to popular belief, I did not fall down a ditch; never to come out. I am here, and have a brand new post. As for not updating very often, I apologize. You ever have one of those days when you wake up and have to go to work…then when you are done, you simply don’t want to do anything at all? Or a day that is just busy, and when you are done, you want to do nothing more than flop on the couch and try to beat a vegetable at lack of action? Yea…well, I’ve had one or two of those….or forty, in a row.

So, my faithful Microsoft Intellipoint 5 button mouse finally gave out. After months of hiccups, missed clicks and tracking errors…it finally bit the dust and became so unreliable that I had to give it the boot. I used the opportunity to finally go wireless, and minimize some of the clutter on my desk, minimize some wires, and extend the reach of the mouse. I settled on a Logitech MX Revolution. Rechargeable battery – check, wireless – check, many buttons – check.

The SetPoint software, however, left a bit to be desired. Before I go any further, let me explain to you my love of the middle mouse button (or third button). In Firefox, it opens links in a new tab, closes tabs, and activates the scrolling mechanism. In TF2, it was my reload button. Logitech, however, decided that the middle mouse button simply wasn’t important enough to be an available option for button mappings.

The MX Revolution is pretty cool. It has your normal right/left buttons, a 4 way wheel (which also can act as a button…more on that later), a button right below the scroll wheel, 2 buttons on the side by the thumb, and another toggle switch of sorts under those. The Revo also has the nice option of having a clutch for the scroll wheel, which allows for some super fast and super smooth scrolling, without the clicky clicks. This behavior can either be toggled by the scrolling speed, or by pressing the scroll wheel in (using it as a button, as stated earlier). In the Logitech software, you can set that mouse wheel to act as your middle button instead. This is all well and good, since I love my middle button, but the click action is very hard; it wasn’t made to act as a button that is pressed multiple times per minute. That being beside the point, I like having it as the option to switch between scrolling modes. This leaves the button right under it, which is actually in perfect position to act as the middle button. It’s in between the right and left buttons, easy to press in, and easy to reach. Perfect…let’s set that as the middle/3rd button in the Logitech software!

Oh wait…you can’t. What? Logitech, did you REALLY not allow that as an option? I mean…really? I can use it to search stuff, flip documents, auto scroll, invoke Winamp, be a double click, close stuff…pretty much any function you can think of EXCEPT middle button. I mean, a nutless monkey could have coded the software better to allow that as an option. Sure, you can install an alternate driver, but I don’t recommend it since it breaks other functionality (such as using the side toggle as win+tab in vista), and generally doesn’t work as well.

So Logitech: this means war! A war that I intend to win. And I did win. See, (ok folks, this is where it gets geeky, so be warned) Logitech stores all the button configurations in an XML file on your hard drive. In Vista, that file is stored in C:\users\YOUR USERNAME\AppData\Roaming\Logitech\SetPoint and is called user.xml .

If you open up that user.xml file, you will see that all the button configs are pretty straightforward XML format…all you have to do is replace the correct section with a correctly formatted, modified version. So…I made that little ‘search’ button my middle button by changing the button 6 configuration to the following: (No, I have no idea why it’s button number 6, but labeled as button number 4…it doesn’t make sense, it’s probably left over from some copy/paste I did when banging around the XML, but it works, so sue me)

button-config

(I’d like to have posted the text directly, but wordpress thought the XML was supposed to get parsed, even though it was in between code tags…oh well)

Voila! I now have a middle mouse button! So so nice.

Categories: me = geek, Software Tags: , ,

The Awesomeness of IISADMPWD

January 29th, 2009 6 comments

First of all, I bet most of you are wondering what the hell IISADMPWD even is. Well, basically it’s a tool built into Windows 2000+ and IIS that allows password changes over the web. You go to a webpage, type in your username, current password, and new password, and it updates your information using ASP. This works on local workstations, domain accounts, you name it. It’s quite awesome.

I wish I had known about this tool two years ago, when I was asked if there was any way for VPN users to change their domain passwords (which they used to authenticate to the VPN) remotely, without having to be on the domain.

Setting it up is pretty easy, but it’s not really documented very well anywhere. A bunch of websites reference it as a tool to use for this purpose, but most just leave it at that; Microsoft tells you how it works, but not how to get it running initially. Well…here is how to get it running…after the jump:

Read more…

Asterisk Training at Digium – Day 2

July 9th, 2008 2 comments

“Mind if I sit here as I wait for my to-go order to come out?”
“Sure, please…”, I said as I motioned toward the chair across from my table at Po-Boys Factory.
“So, where are you from?”, she asked.

Is it that transparent that I’m not from around here? Well…yes, of course it is, but the thought still struck me as a tad funny.

What ensued next surprised me, being a seventeen year citizen of Philadelphia; a friendly conversation with a complete stranger. This says something about the people around here: They are friendly. This is not exactly something I’m completely used to, living in Philadelphia all these years. From the moment I arrived in AL, I haven’t met anyone that is rude, pushy, arrogent, or even not smiling. I’m beginning to like it around here.

Anyway, back to Asterisk, as that is the primary reason for my being here.

Today, as the rest of the week will be, was an early day. Instead of the comfy 9:30am arrival time of yesterday, and in order to accommodate the amount of material that needs to be covered, training now begins at 8:30. Even though AL is a timezone behind, I did not feel like leaving my bed at all. The snooze button is your friend….numerous times over.

Finally, I managed to convince myself that I actually DO have to get up. Splashing some water on my face, I finally sprang to life. Due to the previously mentioned snooze-button-fest, I didn’t have time for breakfast (Oh, but that Waffle House down the street looks so inviting!) before leaving for the glass house that is the Digium HQ.

Ok, now to Asterisk…really this time.

Today we started to really dive into the core of *. We set up voicemails, learned how to deal with prompts and inputs, and setup some SIP and IAX (that’s pronounced eeeks, like geeks) trunks. The technology behind VoIP is actually quite wonderful, albeit somewhat flawed, especially when it comes to NAT setups.

This makes me wonder, actually, how our phone system at work functions at all. The ASA we have is pretty locked down, yet taking a linksys or Polycom phone home seems to work without needing a VPN. Either the ASA is pretty smart, or Scott opened up all UDP traffic to the Asterisk box. I’m going to have to check the access-lists when I get back, because if all UDP traffic is wide open, somebody is going to have some words.

The day was long; we didn’t finish the training until about 6:10 or so. At the end of it, though, I was not bored of sitting in a classroom, nor was I tired of Asterisk. Twelve step program, here I come.: “My name is Luke and I’m becoming an Aster-holic”. I realize that it takes a very specific kind of geek to actually enjoy writing code for phone systems. It’s unique, although C programmers, web developers, et al would also argue that their art is unique. I digress, however, arguing that programmers and developers have typically written code to serve one particular purpose, whether it be a financial application, a video game, or a web site. In turn, they would argue that I am “just” configuring a phone system, but I think it’s so much more. Asterisk doesn’t have a singular purpose; it’s not just a call router, just an IVR, simply a mechanism to send outbound calls over, or just a voicemail system. It’s all of that, and more. I don’t think that in a week, I’ll come close to realizing the full potential of it, but in just two days I have gained a completely different appreciation for it…and we haven’t even gotten to the fun stuff!

The key difference is the fun in learning. Anytime I learned a programming language, it was very systematic, and each one was for the most part similar. Phone systems are a different beast; their code isn’t like any typical programming language, although AEL helps people with programming backgrounds (like myself) ease into the role. Sure, developers can put some easter eggs in their code, but how many IDEs have a built in sound that says “weasels have eaten our phone system”, or “our phone system has been overrun by iguanas”, or a collection of monkey noises? How many of them would actually be willing to put that into production code? Rest assured that my extension at work will soon be filled with fun stuff (until some stickler VP decides to ruin my fun). I can only imagine what Allison was thinking when the Digium folks asked her to record some of these prompts, but the on-site hilarity must have been incredible. Come to think of it…who the hell actually even came up with some of the things for her to say…if I ever meet this person, I need to buy them a beer or something.

Anyway, that’s all for now. As I learn more fun Asterisk stuff, maybe I’ll post some code segments, or try to dissect our setup at work based on what I am learning here.

Read more from the Digium guys themselves at http://blogs.digium.com. Some of it may not make sense to normal people, but it’s a fun read nonetheless.

Also…I apparently have a nickname now at Digium…Luke the Blogger. I guess somebody there has an alarm setup for any WP posts that have asterisk/digium in the title :)

Digium Training in Huntsville, AL

July 7th, 2008 No comments

The beauty of having a blog with no set purpose is the ability to write about anything I want. I don’t have to confine myself to tech articles, sob stories, essays or stories from my past.

Today, I write about a little something called *.

Asterisk is an open source PBX that runs on top of UNIX-based operating systems. It is developed primarily by a company called Digium, whose headquarters are in Huntsville, Alabama.

While the state of Alabama isn’t exactly known for its technical prowess, I must say that I was more than impressed with Huntsville. It wasn’t all farms, plains, or BBQs. The buildings in Huntsville are all very modern…very “techy” looking. For example, look at the Digium headquarters…looks pretty nice, eh?
digium hq

So why Asterisk? My work has been running an Asterisk phone system since January, and until recently it was maintained by one of our peons in Texas. This particular peon no longer wanted to have anything to do with the phone system because he is busy with everything else (aka, Core network, WoW and consulting for other firms [yea, I know...]). So basically, since this transition was still done under the old Regime, he got away with dumping the administration of * onto Ryan and I. Neither of us knew anything about asterisk at the time the project was thrown onto our laps. Studying peon’s config files and using some quick documentation he wrote (simple doesn’t even begin to describe it), we managed to keep the old system alive for a decently long time. The server, however, was never meant to handle the call center AND the corporate phones, and was in dire need of an upgrade. Since it was still running asterisk 1.2, we wanted to have the current 1.4 version running on the new server. Not knowing much about asterisk would have made this particular project close to impossible. Ryan was sent for training first, taking my spot because of my prior conflicting arrangements. Using his newfound knowledge, my ingenuity, and some late nights, we were able to transition (fairly) smoothly to the new server. All the problems that we had in 1.2 went away; no more echos in the phones, no more crashes of the box. We did, however, introduce a couple of new problems, but those bugs were quickly squashed.

Fast forward to today. The current asterisk implementation is running. We have queue_metrics setup and running. However, as in any great company…or any company, actually; redundancy is key. We needed a second person to have enough asterisk knowledge to be a primary for the system. That…would be me.

So here I am, sitting in a Holiday Inn in Huntsville, Alabama. Day one of training is over. Asterisk is compiled on my machine at the Digium HQ, a simple dialplan is active, and I’m full of hot wings and pulled pork from dinner.

Huntsville isn’t so bad after all. I expected much worse…but I must say two things:
1. Southern belles DO exist (Hey, blond from the plane…call me. Blond from the Digium HQ…you too).
2. Being alone here; I’m pretty fricken bored.

Categories: me = geek, Software Tags:

SQL Injections are fun!

June 26th, 2008 No comments

Here is a good read that I found on the internet about SQL Injections.

HP has a nice tool available to scan your sites for such vulnerabilities.

http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx

Categories: Links, Software Tags:

Vista 64 bit impressions

May 2nd, 2008 No comments

So, I took the plunge and installed Vista 64 on my new machine so that I could make use of all four gigs of RAM.

I had expected Vista 64 to be the OS of choice going forward, seeing as processors have been 64bit capable for quite a while now, but there is still a decent subset of applications that do not have any 64bit support.

1. Epson scanners – Sure, I rarely use my scanner, but is it THAT hard to write a driver that works in Vista 64….Hell, you made one for OSX Leopard and 32bit Vista, but not for Vista 64?

2. Cisco VPN Software – This one is a biggie. Cisco has the resources to push a 64 bit version of their VPN client out. To those that would recommend the AnyConnect software, stop right now; AnyConnect is a stripped down, barely functional excuse for a VPN client.

Beside that…I think it’s actually pretty cool, and have no real problems with it. I hope that the software developer world picks up the pace in developing 64bit Windows apps, though.

Categories: Software Tags:

Firefox 2.0 shortcuts, tweaks and tips

October 24th, 2006 No comments

With today’s imminent OFFICIAL release of Firefox 2.0, I thought I’d post some things to make everybody’s favorite browser faster and easier to use.

This is nowhere near a complete list of everything that is awesome in Firefox.

Keyboard shortcuts:

  • ALT + D (or CTRL + L) – selects the URL bar.
  • ALT + D (when in URL bar) – selects the entire text
  • CTRL + A – selects the entire URL
  • CTRL + Backspace – deletes a word
  • CTRL + Z and CTRL + Y – offer multiple level undo and redo functionality
  • F11 – toggles full screen/windowed mode
  • CTRL + K – takes you to the search box

Cool about:config tweaks:

  • browser.urlbar.autoFill -> true – This turns on inline autocomplete
  • browser.urlbar.matchOnlyTyped -> true – This makes the inline autocomplete only match things YOU typed, and not every link you ever visited
  • keyword.URL -> http://www.google.com/search?ie=UTF-8&q= – You can change the search provider if you wish, but this will change the default behavior for typing things into the address bar that are not URLs. For example, if I would type “firefox extensions” into the URL bar, it would default to an “Im feeling lucky” type of search. Changing the keyword.URL to this will forward you to a normal google search instead. Pretty much gives you the same behavior as the search box, at this point.
  • For those with broadband internet connections, the following changes will increase the speed of Firefox:
    • network.http.max-connections -> 48
    • network.http.max-connections-per-server -> 16
    • network.http.max-persistent-connections-per-proxy -> 8
    • network.http.max-persistent-connections-per-server -> 4
    • network.http.pipelining -> true
    • network.http.pipelining.maxrequests -> 8
  • browser.tabs.closeButton – > 3 Get rid of the close button on every tab, and put a single close button at the end of the tab row.

Extensions:

  • Adblock Plus – Can’t live without it. Ads…gone forever. Gives you the option to subscribe to various list services that are regularly updated to give you maximum ad protection. It also lets you filter images and frames with wildcards with custom filters.
  • DownThemAll – mass downloader for Firefox. Makes stealing downloading page content quick and easy.
  • Flashblock – Ok, maybe I am biased toward flash…but I like to keep it turned off. Flashblock also allows you allow all flash from a certain domain, which is good for YTMND sites, as well as the certain few that have actually useful flash.
  • Greasemonkey – custom user scripts and a ton of people that have already made scripts make Greasemonkey a valuable addition.
  • IE Tab – because SOME developers still have no idea what standards compliance is.
  • Tab Mix Plus – New version is available on the TMP forums that allow it to work with Firefox 2.0. This has an extensive amount of tab controls…many more that are built into Firefox. Don’t get me wrong…Mozilla is on the right path with tab options in Firefox 2.0…but I’m a tweaker, so I like the options available in TMP.
  • Web Developer – cool little toolbar that lets you manipulate elements on a page at will. You want to block javascript? Go for it. Dont want Java loading? Lets you disable it. Want to see where all the tables are, see the CSS, outline elements…it is all here.
  • Firebug – Let’s you inspect elements, gives a nice, useful javascript console, allows you watch XMLHTTPRequests, and has javascript debugging. it’s really powerful.

Source: various shacknews threads by Zero|DPX, dodob, Hatta, et al

Firefox download link: (http://www.mozilla.com/firefox)

Categories: Firefox, Software Tags:

Firefox 2.0 is officially out

October 23rd, 2006 No comments

This news is not official yet according to Mozilla, but the binaries for Firefox 2.0 have been posted on their ftp.

Official announcement to come tomorrow.

Link here: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0/

According to an inside source, the code is pretty much the same as RC3. The only thing that really bugs me (although some people might like it) is the “close tab” button being on every tab. To change this behavior, put “about:config” in your address bar and look for the option that says “browser.tabs.closeButtons”. I like to use option 3, which is the old Firefox behavior, and puts the close button on the far right of the tab bar. Change should be instant.

Categories: Firefox, Software Tags: